Could someone refer to any good entry level DOS games reverse engineering materials? I dabbled a bit with NES hacking, but I'm finding it hard to get into DOS reverse engineering. What debugger to use? Any gotchas I should know in advance?
Spice86 has a pretty good built-in debugger. I found it much easier to work with than DosBox's debugger. Spice86's DOS emulation isn't as good as DosBox's yet, but it's getting better all the time. https://github.com/OpenRakis/Spice86
I second LowLevelMahn's recommendation for IDA 5 Free. It's a good disassembler for DOS applications and helps me navigate what I'm looking at in the Spice86 debugger. It also runs very well in Wine.
Borland's debugger (came with Borland C++) was very good, if you can get hold of it. I removed copy protection from several games I owned using it, and actually fixed mouse support for another game.
Tools:
IDA Pro 5 (Freeware) is the last Freeware version able to handle DOS executeables (official available by the ScummVM devs https://www.scummvm.org/news/20180331/) - IDA Pro still supports DOS-stuff with latest release - but not the freeware
or Ghidra - but the DOS/16bit support is sometimes lacky - but the decompiler is builtin
Gotcha: once you get into it, hacking the game gets to be way more fun than actually playing it. Way back in the day I used the DOS debug utility to edit my Bard’s Tale savegames. But once everybody has 127 hit points and -10 AC, the game gets way less interesting.
Please fix the integer overflow. Total income over the game was tracked in a 32-bit signed int, so if you earned too much money suddenly the total would turn negative and your stocks would crash.
I never found the bug in that direction. I discovered it the opposite way: when starting out, selling shares (or was it taking loans?) all the shares you can. Get around 30+ million in the hole and continue to lose money. Eventually an arithmetic overflow will occur and then suddenly you'll have a net worth of like $30-40 million and have the money form selling stock to build to your heart's content.
edit: turns out this was a fabrication, good thing I read my cited source!
"On September 8, 2020, Sid Meier's autobiography, Sid Meier's Memoir!: A Life in Computer Games, was released, containing confirmation that the Gandhi software bug was fabricated and a detailed background of the urban legend's formation"
I loved this game so much. There was a "deluxe" version with small improvements.
I would love to play a modern version of this. Probably true for other strategy classics like Master of Magic, Master of Orion 2, Colonization.
Edit: ha, I remember that I used a really good tactic of playing with competitors' stocks, gaining majority, siphoning tons of money from them, and then selling the stocks. More profitable than running actual railroads.
Civilization 4 (currently on sale for $6 at gog) includes a colonization mode. I don't like it as much as the original but that's probably my nostalgia bias
I have been hooked on Transport Fever for a while now. My only gripe with it is that civilian vehicles will take roads intended for cargo/public transport traffic only. So the most profitable way is to disconnect entire cities by road and then use rail or road with disjunct depots to connect cargo to cities. This way you can force civilians to use public transport.
Using "civilian" to mean "a civilian who's not a cop" was already bad enough, but using it to differentiate private cars from trucks and buses? Public transport is practically the quintessential example of civilian infrastructure, you're really going too far now.
I think Transport Fever is of a slightly but significantly different genre.
Railroad Tycoon is a strategy game with competition whereas Transport Fever is pretty much a building and optimization sandbox. Even Transport Tycoon falls more in the latter category, IMO, despite superficially having competition even in single player. (I haven't played OpenTTD in a long time so I don't know if the AIs are nowadays competent enough to make the competition interesting.)
In RRT, with cut-throat competition enabled your company can even be opportunistically bought by the competition if you aren't careful. You can also be driven out of cities by rate wars. Some of the other strategy aspects feel perhaps a bit artificial -- you can't cross the other companies' track, for example, so you can effectively cordon off areas from competition. Nevertheless, those competitive strategy aspects add a significant edge to the game.
I've also played a lot of Transport Fever. The competitive aspect, even if against the old and cheating AI, is probably one of the reasons I still end up returning to the old Railroad Tycoon now and then, though.
Some of the technical limitations of the original are somewhat frustrating, though, so I find the reverse engineering effort really interesting.
It was a pretty cool game. Not as good as e. g. civilisation but nonetheless fun. I even managed to make profits with my railroads.
Young folks can use dosbox etc... but it just does not feel the same compared to how it was "originally". I could not get myself to want to play raildroad tycoon again; I found it easy to play games such as civilization or UFO: Enemy Unknown (oddly enough the first part is more playable than the second part here).
Of the games you mention it's civilization that's kind of hard to replay for me. RR tycoon had fewer, worse, iterations. All Xcom games are super replayable with the exception of Xcom 3. Colonization is super replayable and it's only reiteration based on Civ 4 is not worth it.
It's trickier than you think! Even for the modern era, the railroad tycoon games are surprisingly deep and sophisticated economic simulations. I still haven't found one to equal Railroad Tycoon 3, which has this kind of neat reactive diffusion field pricing engine.
The modern equivalents (I'm thinking of Transport Fever 2) while they are fun games just lacks the ability to build and manipulate a real economy by doing things like e.g. putting an industry in a town and then transporting goods there to satisfy the industry, making both your train line and the industry wildly profitable.
> I still haven't found one to equal Railroad Tycoon 3, which has this kind of neat reactive diffusion field pricing engine.
My feelings exactly. I still play it regularly for this reason alone. A really amazing game under the hood.
The Rhodes Unfinished scenario is probably my favorite. On the highest-difficulty level, it starts out as a hard map, then becomes an insatiable resource grab. By the end you're building vanity suspension bridges over chasms and digging tunnels the width of Kilimanjaro.
I really admired Transport Tycoon which had those 3 additionals transport channels. Have you tried it? I love the shuttle buses which you can use to connect to an external (to the city) airport, railroad track that can go throughout the whole map, and the ships that transport mostly oil for fun and profit...
There's also a whole, albeit niche, board game genera of so called 18xx game (eg. 1889 Shikoku) that deal with the economic aspects of 19th century railroads.
Usually dry as sand, but some of the heaviest games out there in terms of complexity.
Thanks for an insightful comment! I have two university degrees in Economics and have never heard of reactive diffusion field pricing engines until today.
Would love sth like this. Any modern games (not that boring edutainment one about supply chains) that let you play with the stock market as well as doing something fun like in Railroad Tycoon?
Loved watching my brother play this game growing up, it was a bit too complex for me!
I've played OpenTTD a bit and seems quite similar.
A question I've always had with these reverse engineering projects, can someone build off their work to do a clean room reimplantation if they avoid any code/dissembly ?
I second LowLevelMahn's recommendation for IDA 5 Free. It's a good disassembler for DOS applications and helps me navigate what I'm looking at in the Spice86 debugger. It also runs very well in Wine.
or Ghidra - but the DOS/16bit support is sometimes lacky - but the decompiler is builtin
here is a list of articles to read: https://forum.stunts.hu/index.php?topic=4287.0
https://en.wikipedia.org/wiki/Nuclear_Gandhi
edit: turns out this was a fabrication, good thing I read my cited source!
"On September 8, 2020, Sid Meier's autobiography, Sid Meier's Memoir!: A Life in Computer Games, was released, containing confirmation that the Gandhi software bug was fabricated and a detailed background of the urban legend's formation"
from the above link
I would love to play a modern version of this. Probably true for other strategy classics like Master of Magic, Master of Orion 2, Colonization.
Edit: ha, I remember that I used a really good tactic of playing with competitors' stocks, gaining majority, siphoning tons of money from them, and then selling the stocks. More profitable than running actual railroads.
Steam and GoG have a version of Railroad Tycoon 2 which works well on modern machines:
https://store.steampowered.com/app/7620/Railroad_Tycoon_II_P...
https://www.gog.com/en/game/railroad_tycoon_2
Not quite as old-school as the first version, but IMHO gameplay-wise "just right".
Said the bus driver in the mirrored shades.
Railroad Tycoon is a strategy game with competition whereas Transport Fever is pretty much a building and optimization sandbox. Even Transport Tycoon falls more in the latter category, IMO, despite superficially having competition even in single player. (I haven't played OpenTTD in a long time so I don't know if the AIs are nowadays competent enough to make the competition interesting.)
In RRT, with cut-throat competition enabled your company can even be opportunistically bought by the competition if you aren't careful. You can also be driven out of cities by rate wars. Some of the other strategy aspects feel perhaps a bit artificial -- you can't cross the other companies' track, for example, so you can effectively cordon off areas from competition. Nevertheless, those competitive strategy aspects add a significant edge to the game.
I've also played a lot of Transport Fever. The competitive aspect, even if against the old and cheating AI, is probably one of the reasons I still end up returning to the old Railroad Tycoon now and then, though.
Some of the technical limitations of the original are somewhat frustrating, though, so I find the reverse engineering effort really interesting.
Chris Sawyer made a lot of games that have since been reverse engineered lmao.
Young folks can use dosbox etc... but it just does not feel the same compared to how it was "originally". I could not get myself to want to play raildroad tycoon again; I found it easy to play games such as civilization or UFO: Enemy Unknown (oddly enough the first part is more playable than the second part here).
https://openxcom.org/
For me that's OpenMW
https://openmw.org/
Free (but gacha.)
0. https://gf2exilium.sunborngame.com/main
1. https://gf2.haoplay.com/jp/
2. https://store.steampowered.com/app/3308670/GIRLS_FRONTLINE_2...
Hard pass.
I personally haven't, because it would take the fun out of the game.
https://en.wikipedia.org/wiki/XCOM
The modern equivalents (I'm thinking of Transport Fever 2) while they are fun games just lacks the ability to build and manipulate a real economy by doing things like e.g. putting an industry in a town and then transporting goods there to satisfy the industry, making both your train line and the industry wildly profitable.
My feelings exactly. I still play it regularly for this reason alone. A really amazing game under the hood.
The Rhodes Unfinished scenario is probably my favorite. On the highest-difficulty level, it starts out as a hard map, then becomes an insatiable resource grab. By the end you're building vanity suspension bridges over chasms and digging tunnels the width of Kilimanjaro.
Usually dry as sand, but some of the heaviest games out there in terms of complexity.
https://arxiv.org/html/2502.07071v2
I've played OpenTTD a bit and seems quite similar.
A question I've always had with these reverse engineering projects, can someone build off their work to do a clean room reimplantation if they avoid any code/dissembly ?
Because representation without taxation is a thing, and pointing at that, even as indirectly as this, is seen as "problematic".
I don’t know. It just surprised me. Thought it would be the other way around.