Case study

OpenRCT2: an open re-implementation of RollerCoaster Tycoon 2

Re-implements RollerCoaster Tycoon 2, originally written in x86 assembly, as a C++ engine that runs on the original game’s data. It loads RCT2 saves and scenarios, and RCT1 scenarios when those files are present, while saving to its own documented park format. Modern-platform support, interface and AI changes, higher limits and multiplayer are deliberate extensions, not reproductions of the original.

Requirements and limitations

  • The reviewed develop snapshot follows the v0.5.6 release of 2026-10-10. The README says OpenRCT2 attempts to provide everything from RCT2 plus many improvements, and restores some RollerCoaster Tycoon mechanics, so intentional differences are part of the design. The reviewed files do not document how the original game was analysed, and no original source is recovered.
  • Playing requires the user’s own RollerCoaster Tycoon 2 files; the README names Steam and GOG.com editions. Original RollerCoaster Tycoon files are optional and enable its scenarios. By default, installation downloads OpenRCT2’s own objects, title sequences, OpenSoundEffects and OpenMusic packs, and test builds also fetch replays, each pinned by SHA-256.
  • Source builds use CMake 3.24+ and a C++20 compiler, with wiki guides for Linux, macOS, Windows, WSL and MSYS2 MinGW and an option to force 32-bit builds. Portable builds, installers, a launcher and several Linux and BSD packages are listed for players.
  • CI checks formatting, builds on several platforms and runs the GoogleTest suite, including replay, RCT2 save import/export, ride-rating, pathfinding and scenario-decryption tests on project test data. These guard OpenRCT2’s own behaviour and file compatibility, not equivalence with the RCT2 executable; this review ran none of them.
  • licence.txt applies GPL-3.0-or-later to OpenRCT2; original game data and purchased editions keep their own rights. The reviewed sources establish no REA or AI use.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. readme.md GitHub · OpenRCT2/OpenRCT2 · Revision 53bbc40
  2. CMakeLists.txt GitHub · OpenRCT2/OpenRCT2 · Revision 53bbc40
  3. assets.json GitHub · OpenRCT2/OpenRCT2 · Revision 53bbc40
  4. docs/save-format.md GitHub · OpenRCT2/OpenRCT2 · Revision 53bbc40
  5. .github/workflows/ci.yml GitHub · OpenRCT2/OpenRCT2 · Revision 53bbc40
  6. test/tests/ReplayTests.cpp GitHub · OpenRCT2/OpenRCT2 · Revision 53bbc40
  7. test/tests/S6ImportExportTests.cpp GitHub · OpenRCT2/OpenRCT2 · Revision 53bbc40
  8. licence.txt GitHub · OpenRCT2/OpenRCT2 · Revision 53bbc40
  9. https://github.com/OpenRCT2/OpenRCT2/releases/tag/v0.5.6