案例

OpenRCT2:RollerCoaster Tycoon 2 的开源重新实现

以 C++ 引擎重新实现原本用 x86 汇编编写的 RollerCoaster Tycoon 2,并在原游戏数据上运行。它可载入 RCT2 存档和场景,具备相应文件时也能载入 RCT1 场景,而保存时使用自己有文档说明的乐园格式。现代平台支持、界面与 AI 改动、更高上限和多人游戏都是有意扩展,并非对原版的复现。

使用条件与局限

  • 所审阅的 develop 分支快照晚于 2026-10-10 发布的 v0.5.6。README 称 OpenRCT2 力求提供 RCT2 的全部内容并加入许多改进,还恢复了部分 RollerCoaster Tycoon 机制,因此与原版的有意差异是设计的一部分。所审文件没有记录分析原游戏的方法,也没有恢复任何原始源码。
  • 运行需要使用者自备 RollerCoaster Tycoon 2 文件;README 提到 Steam 和 GOG.com 版本。初代 RollerCoaster Tycoon 文件为可选项,用于游玩其场景。安装过程默认下载 OpenRCT2 自有的对象、标题动画、OpenSoundEffects 与 OpenMusic 资源包,启用测试的构建还会获取回放文件,均以 SHA-256 固定。
  • 源码构建使用 CMake 3.24+ 和 C++20 编译器,wiki 提供 Linux、macOS、Windows、WSL 及 MSYS2 MinGW 的构建指南,并有强制 32 位构建的选项。面向玩家列出了便携版、安装包、启动器以及多个 Linux 和 BSD 软件包。
  • CI 检查代码格式、在多个平台构建,并运行 GoogleTest 测试套件,包括基于项目测试数据的回放、RCT2 存档导入导出、设施评分、寻路和场景解密测试。这些测试保障 OpenRCT2 自身行为与文件兼容性,并不证明与 RCT2 可执行文件等价;本次审阅均未运行。
  • licence.txt 规定 OpenRCT2 采用 GPL-3.0-or-later;原游戏数据及购买的版本保留各自权利。所审来源未确立 REA 或 AI 使用。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

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