Settings

Theme

Reverse Engineering Sid Meier's Railroad Tycoon for DOS from 1990

vogons.org

161 points by LowLevelMahn 5 days ago · 62 comments

Reader

KSteffensen a day ago

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.

  • jrs235 a day ago

    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.

    • saidnooneever a day ago

      hahah this was it! make so many debt ur suddenly rich haha. kinda like evil corpos do today no? hahahha

  • zeristor 19 hours ago

    Sounds like the famous Gandhi bug in Civilisation:

    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

  • boredhedgehog a day ago

    As described by the posts, the original used 16-bit signed integers. The fix was to switch to 32-bit.

butz 21 hours ago

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?

  • zabzonk 20 hours ago

    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.

  • Rayosay 7 hours ago

    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.

  • LowLevelMahnOP 20 hours ago

    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

    here is a list of articles to read: https://forum.stunts.hu/index.php?topic=4287.0

  • sevensor 19 hours ago

    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.

  • trollbridge 21 hours ago

    LLMs are actually great for reverse engineering small chunks of code now.

simonebrunozzi a day ago

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.

  • flohofwoe a day ago

    > I would love to play a modern version of this.

    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".

  • ksherlock 21 hours ago

    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

  • spockz a day ago

    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.

    • amenhotep a day ago

      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.

      • chongli 13 hours ago

        “Your transfer has expired, civilian, you’ll have to pay another fare!”

        Said the bus driver in the mirrored shades.

      • spockz a day ago

        My apologies, you are right. I maybe should have used the term NPC? Or non-controllable vehicles.

    • Delk 12 hours ago

      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.

  • avhception a day ago

    There is also a great re-make of Star Control 2 https://sc2.sourceforge.net/

  • boxed a day ago
shevy-java a day ago

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).

marticode a day ago

I spent countless hours as a teen on that game. I feel it might be faster to rewrite it from scratch though than reverse engineer it.

  • jaggederest a day ago

    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.

    • boring-human 20 hours ago

      > 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.

    • p0w3n3d a day ago

      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...

    • nikitau a day ago

      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.

    • unixhero 19 hours ago

      Thanks for an insightful comment! I have two university degrees in Economics and have never heard of reactive diffusion field pricing engines until today.

    • nprateem a day ago

      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?

pimlottc a day ago

The image links seem to all be broken but you can see some high-res maps in the video starting around 1m10s

  • brettermeier 20 hours ago

    Yeah that's really sad, I really want to see some of those, especially with drawing stations. I hope it get fixed :) And a nice read btw!

rustyhancock a day ago

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 ?

jrs235 a day ago

Loved that game. And Sid Meier's Colonization.

  • p0w3n3d a day ago

      Not a penny for those heretic swines! 
    
      No taxation without representation!
    
    and

      Wery well, we shall withdraw our forces!
    
    I was really disappointed when the both the remake and the open source versions lost those memorable quotes.
    • vintermann a day ago

      Was "You may kiss our royal pinky ring" in them though?

      • p0w3n3d 20 hours ago

        TBH I never kissed the royal pinky ring, but as you quote it so literally, I'm starting to wonder about the wonderful English language ambiguities.

    • snvzz a day ago

      These days it's not PC to say that.

      Because representation without taxation is a thing, and pointing at that, even as indirectly as this, is seen as "problematic".

  • rc_kas a day ago

    Yeah so much fuzzy good memories of it. Now I want to play that game again.

wodenokoto a day ago

Maybe I’m reading it wrong, but it seems like all the struggles are in rendering and barely nothing in terms of game logic.

I don’t know. It just surprised me. Thought it would be the other way around.

LowLevelMahnOP 5 days ago

the developer 'Wilczek' is posting the progress on his Railroad Tycoon reversing in this Vogons-Thread

  • nprateem a day ago

    This is such a shit AI comment, what's it even for? Trying to create some lame puppet accounts?

    • LowLevelMahnOP 20 hours ago

      that is the inital post to explain what the link referes to...

      • qingcharles 20 hours ago

        Thank you. I appreciate the post. I'm about to dive into the 1987 Elite PC version so this is actually really helpful.

p0w3n3d a day ago

Congratulations, that's something really good!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection