案例
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 使用。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- readme.md GitHub · OpenRCT2/OpenRCT2 · 修订 53bbc40
- CMakeLists.txt GitHub · OpenRCT2/OpenRCT2 · 修订 53bbc40
- assets.json GitHub · OpenRCT2/OpenRCT2 · 修订 53bbc40
- docs/save-format.md GitHub · OpenRCT2/OpenRCT2 · 修订 53bbc40
- .github/workflows/ci.yml GitHub · OpenRCT2/OpenRCT2 · 修订 53bbc40
- test/tests/ReplayTests.cpp GitHub · OpenRCT2/OpenRCT2 · 修订 53bbc40
- test/tests/S6ImportExportTests.cpp GitHub · OpenRCT2/OpenRCT2 · 修订 53bbc40
- licence.txt GitHub · OpenRCT2/OpenRCT2 · 修订 53bbc40
- https://github.com/OpenRCT2/OpenRCT2/releases/tag/v0.5.6