Jump to content

Railroad Tycoon II rebuilt in Rust: open source, runs at 1080p/4K, needs your original game files


Recommended Posts

Posted

Hi all,

I've been working on rrt2-decomp, an open-source reimplementation of Railroad Tycoon II Platinum written in Rust. The aim is the same game you remember, running on today's systems: the same isometric 2D look and camera, sharp at 1080p, 4K and any UI scale.

Faithful mechanics, checked against the original. The original executable is the reference, not the manual. The economy, cargo, train movement, AI, stocks and scenario events were reverse-engineered from the EXE. They are tested by running the original game under Wine and comparing its saved state with ours after the same inputs. Right now 131 out of 131 of those test cases match exactly, including runs of up to two years of game time.

What works today

  • Campaigns, scenarios and saves from the original
  • The main window drawn with the original artwork, rebuilt to fit any resolution
  • Track building by dragging between stations, trains, stations, stocks and bonds
  • Smooth vector fonts in place of the pixel ones
  • Translations into English, Portuguese, Spanish, German, Chinese and Russian
  • An event history with filters, and notifications you can switch off per category
  • Builds for Linux (tarball, AppImage, Flatpak), Windows and macOS

Planned for 1.0: multiplayer (deterministic lockstep), a first-run screen that finds your install, a Windows installer, undo for construction, extra map overlays, fleet management, better reports, gamepad and Steam Deck support, mod support and accessibility options.

You need your own copy of the game. No original assets are in the repository or in the downloads. You point the game at your installed copy (GOG, Steam or CD) and it reads the data from there.

It's still a work in progress, so expect rough edges. Bug reports, screenshots of how something looked in the original, and feedback from longtime players are all very welcome.

Repository: https://github.com/pedryvo/rrt2-decomp Downloads: https://github.com/pedryvo/rrt2-decomp/releases

License: GPL-3.0.

spacer.png

Posted

This is amazing news!

What do you think will happen if I try to open an existing saved game from the original (disk-based v1.56)? Should I avoid that and play only new games started by the new release?

Come to think of it, I didn't see where you said which EXE version rrt2-decomp reverse-engineered. I'm hoping it was v1.56 (the last patch to the original disk-based game). Steam's EXE was modded to integrate it, so if you reversed a Steam-distributed EXE, then you're saddled with its wrapper/hooks.

Because the original went to 1.56, I recommend jumping your initial mimic to 2.0.0, and then use 2.1 etc for any enhancements.

Also, the worst (crash-level) bugs in the old game should probably be patched before you offer any new features. Those could come out in 2.0.1 etc.

Known bugs (off the top of my head):

1) Engine replacement during turn-around causes permanently folded runaway train.

2) Phantom farm allows track to be built over the top of it, and 1st train to hit it will crash the game.

3) Deleting a train can corrupt the train list, leaving an adjacent train pointing at another train's schedule (and its original schedule is orphaned)

4) I strongly suspect that stacking event results (things like +/- 10% cost of something) are miscalculated. At the very least, they don't seem to *unstack* logically when a series of buffs is followed by some nerfs. I'm very eager to peek into the decompiled source code to see how the game manages those pluses and minuses. After I get a good look at that, I'll probably be chomping at the bit to rewrite it, but I worry that the saved-game data structure might need to change.

5) Computer-run companies replace their engines too often. I suspect that they're wrongly using *train* age instead of *engine age* to trigger replacement. Because this is ruinously expensive, the PC players become even more hopelessly uncompetitive after about year 10 or 20 in any scenario.

6) Multi-input industries did not rebuild demand after a delivery. Ports also had a problem that could only be patched by hex-editing a saved game.

7) The TGV (or was it the prototype?) is hard-coded instead of being listed in the engines data table with all other engines.

8+) Many, many patches to that v1.56 EXE that I and other fans surgically implanted using hex-edit tools, mostly about 15 years ago. They're mostly numeric corrections to data tables embedded within the EXE. I can't even remember them all now, but I have some before-and-after spread sheets around here somewhere.

I'm busy until after Halloween, but I hope to dive in after that  :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.