Page 1 of 1


PostPosted: 07 Jul 2017, 16:35
by Norskat
Hi Kroah,
First of all, congratulations and thank you for sharing your work, since a while I saw your site and since that time the idea made its way to me to try reverse engineering.
Sorry if my english is not perfect, i'm also a froggy :wink: , but if this topic can help other people, it's maybe better to be in english.

By curiosity, I began to look games of my childhood (on atari ST) and by challenge to try programing remake.
Everything started well by looking at different forums (using IDA, steem), etc, by putting me a little more to the asm and also take a look at hardware of the ST, but now, I am at a step where I do not feel able to move forward without asking for little help or advise...

I began with a sport game, maybe not the best idea... I take a look, I have find and extract sprite, background, etc, find main loops in the program (display, palets, way to do the scrolling,...), piece of memory where stock datas as score, players data,... Not bad but I'm somewhere stuck, I don't know where looking to continue, do you have tips of the variables / piece of program to look at or do you have special tools ?

And also for remake, what's the best option / tool, i take a look to unity thinking it'll be maybe easy, but i think it's like using a grenade to fish...

Thanks in advance

Re: Remake

PostPosted: 11 Jul 2017, 22:11
by Kroah
Welcome to the forum, Norskat.

Thanks for your kind words and glad you'll try some reverse engineering and remake projects.

To answer your questions, i don't use specific tools beside IDA, GfxRip and Visual Studio.
I've coded some functions over the years to speed up the process like planar/interleaved/chunky methods and RLE/RNC unpacker.
Everything are in the source code of the viewers if needed (if some are missing, let me know so i could add them).

You have already done the main parts of the RE work (main loop, high level drawing functions, game data, sprite extraction), what are the parts remaining (player AI ? game logic ?) and what do you need to do your remake ?

What kind of remake you want to do:
a) Is it a 1/1 remake like my WIP Speed Ball 2 (we could call that a port) ?
b) or a remaster of the old game (better gfx, more features) remake AND using the vanilla game engine (= exact same game logic) like my Colonial Conquest ?
c) or maybe a remake using the same spirit but not the exact same game logic ?

a) and b) are the more complex, but faithful to the original. The Dungeon Master remake CSBwin, which uses the RE binary, falls into the category a).
c) is easier, depending on the level of similarity you want to reach. Return to Chaos, which keeps the look and feel of DM but not the exact same game logic, falls here.

Usually, people wanting a perfect remake, start by a), then enhance it to b), adding more features like multiplayer, gfx alternative sets, better musics, level editor, etc.

If you want a), you really need to RE all the game logic, from the main loop to the core rules, usually needing to compare, both your remake and the game, frame by frame. One little difference will add up to major discrepancies.
Sometimes this can be though, when game logic are mixed with graphic rendering, causing difficult dependencies.

I usually stick to C# and Visual Studio to build something fast and easy like a viewer, an unpacker... Maybe if i needed some 3D support or GFX intensive drawing, i would use Unity. Stick to what you know, and what you want to learn. Motivation will keep your project alive.

Tell me more about your goal (no pun intended with your game :wink: ) and the type of remake you want to do. :D

Re: Remake

PostPosted: 18 Jul 2017, 22:28
by Norskat
Sorry for the late answer, I had some login trouble on the forum (via my chromebook)

So to be honest, the game I begun to work with is Tip Off, not a famous game… The first idea was to do 1/1 remake, but after the idea is to use the same engine and gfx for games, but make somewhere a completely different game (a management game)

In my mind, the project is in 3 step :
1 - Make 1/1 a computer vs computer match.
2 - Correction of bugs. (because there’s some which sometime block the game)
3 - Make the management game around previous steps.

But I have to think about which tool using for step 3 before starting step 1, not to have to do job many times.