OpenRCT2
一个开源重制版的过山车大亨2,这是一款模拟游乐园管理的建造和经营类视频游戏。
下载
聊天
聊天在Discord上进行。如果你还没有Discord账号,你需要创建一个。
如果你想帮助制作游戏,请加入开发者频道。
如果你需要帮助,想与开发者交谈,或只是想了解最新动态,请加入你所使用语言的非开发者频道。
如果你想帮助将游戏翻译成你的语言,请访问本地化频道。
目录
1. 简介
OpenRCT2是过山车大亨2(RCT2)的开源重新实现。游戏围绕建造和维护一个包含景点、商店和设施的游乐园展开。玩家必须努力盈利并保持良好的公园声誉,同时让游客保持愉悦。OpenRCT2允许玩家进行剧情和沙盒模式游戏。剧情模式要求玩家在规定时间内完成特定目标,而沙盒模式则允许玩家建造更灵活的公园,可选择无限制或无财务约束。
过山车大亨2最初由Chris Sawyer用x86汇编语言编写,是过山车大亨的续作。其引擎基于Transport Tycoon,这是一款较早的游戏,也有相应的开源项目OpenTTD。OpenRCT2致力于提供RCT2的所有内容,并增加了许多改进和额外功能,包括支持现代平台、改进的界面、更智能的游客和员工AI、更多编辑工具、提高的限制以及合作多人游戏模式。它还重新引入了过山车大亨中存在但在过山车大亨2中缺失的一些机制,如游戏内的山地工具、"玩得开心"目标、发射式过山车(不经过站台)以及工具栏上的几个按钮。
- 下载游戏(预构建版)
OpenRCT2需要原版过山车大亨2的文件才能运行。你可以在Steam或GOG.com购买。如果你拥有原版过山车大亨及其扩展包,你可以将OpenRCT2指向这些文件以玩原版剧情。
OpenRCT2.org提供最新主分支和开发分支的预编译版本和安装程序。Windows和Linux还有一个Launcher可用,它会自动更新你的游戏版本,确保你始终使用最新版本。
Flathub为支持该应用分发系统的Linux发行版提供flatpaks:
- 最新版本
一些Linux发行版提供原生包。这些包通常是第三方的,但我们正在努力解决他们面临的问题。
- Arch Linux: openrct2-git(AUR)和openrct2([extra]仓库)
- Ubuntu PPA:develop分支(每夜构建)
- openSUSE OBS:games/openrct2
- Gentoo(主Portage树):games-simulation/openrct2
- NixOS(nixos-unstable频道):openrct2
- Fedora 28 i386/amd64:openrct2
一些*BSD操作系统提供原生包。这些包通常是第三方的,但我们正在努力解决他们面临的问题。
- FreeBSD:games/openrct2
- OpenBSD:games/openrct2
- 构建游戏
3.1 构建先决条件
OpenRCT2需要原版过山车大亨2的文件才能运行。你可以在Steam或GOG.com购买。
Windows先决条件
Windows上构建游戏有两种工具链选择:
- Visual Studio 2022(企业版 / 专业版 / 社区版(免费))
- 使用C++的桌面开发
- MSYS2 MinGW工具链
- 支持依赖项的工具链有mingw-x86_64、mingw-xi686、ucrt-x86_64、clang-x86_64和clang-xi686。每个都需要设置$MINGW_PACKAGE_PREFIX。
- 注意,msys和clangarm-64缺少一些依赖项的包。
该项目依赖于多个需要安装的库。对于 Visual Studio 构建,可以使用
msbuild
自动安装这些库。详情请参阅第 3.2 节。 对于 MinGW 构建,请查看 wiki 上的 pacman 中使用的实际包名。
macOS 先决条件:
- Xcode 命令行工具
- Homebrew
- CMake(可通过 Homebrew 获取)
Linux 先决条件:
- gcc(>= 8.0)或 clang(>= 10.0)(支持 C++20)
- sdl2(仅用于 UI 客户端)
- freetype(可禁用)
- fontconfig(可禁用)
- libzip(>= 1.0)
- libpng(>= 1.2)
- speexdsp(仅用于 UI 客户端)
- curl(仅在构建 http 支持时需要)
- nlohmann-json(>= 3.6.0)
- openssl(>= 1.0;仅在构建多人游戏支持时需要)
- icu(>= 59.0)
- zlib
- gl(通常由 Mesa 或 GPU 厂商提供;仅用于 UI 客户端,可禁用)
- cmake
- innoextract(可选的运行时依赖;用于在安装过程中提取 GOG 安装程序)
有关安装这些包的更多信息,请参阅 https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux#required-packages-general。
3.2 编译和运行 Windows:
-
检出仓库,可以使用 GitHub Desktop 或其他工具
-
打开新的 VS 2022 开发人员命令提示符
-
导航到仓库(例如
cd C:\GitHub\OpenRCT2
) -
构建 x64 版本,使用
msbuild openrct2.proj /t:build /p:platform=x64
构建 x86 版本,使用msbuild openrct2.proj /t:build /p:platform=Win32
构建 Arm64 版本,使用msbuild openrct2.proj /t:build /p:platform=arm64
注意:在交叉编译时(例如在 x64 机器上构建 Arm64 版本),可能不会生成
g2.dat
文件。在这种情况下,必须从 x86/x64 构建中复制g2.dat
。 -
运行游戏,
bin\openrct2
运行 msbuild 一次后,可以通过在 Visual Studio 中打开 openrct2.sln
进行进一步开发。确保选择与步骤 #3 中运行构建时相对应的正确目标平台(x86 版本选择 Win32
,x64 版本选择 x64
,Arm64 版本选择 arm64
),否则在 Visual Studio 中构建将失败。
其他示例:
set platform=x64
msbuild openrct2.proj /t:clean
msbuild openrct2.proj /t:rebuild /p:configuration=release
msbuild openrct2.proj /t:g2
msbuild openrct2.proj /t:PublishPortable
macOS: CMake 可以构建一个自包含的应用程序包,其中包含所有必要的游戏文件和依赖项,也可以构建一个链接到系统安装依赖项的命令行版本。CMake 将自动从 Dependencies 获取依赖项。你可以使用以下命令通过 CMake 构建 macOS 应用程序:
cmake -S . -B build
cmake --build build --target install
然后你可以通过打开 OpenRCT2.app
运行游戏。
要构建命令行版本,你需要禁用 macOS 应用程序包:
cmake -S . -B build -DMACOS_BUNDLE=off
cmake --build build
cmake --build build --target install
ln -s ../data data
然后你可以通过运行 ./openrct2
来运行游戏。
要链接到系统依赖项而不是让 CMake 从 Dependencies 下载依赖项,请在 cmake 参数中添加 -DMACOS_USE_DEPENDENCIES=off
。
详细说明可以在 使用 CMake 在 macOS 上构建 OpenRCT2 中找到。
Linux: 标准的CMake构建过程是先安装必需的库,然后执行以下命令:
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=. # 在此设置标准的cmake选项,如构建类型 - 例如,-DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build # 你可以使用例如 -j 8 来并行化你的构建任务,或考虑使用ninja
cmake --build build --target install # install目标会在我们期望的位置创建所有必要的文件
如果你喜欢,也可以在第一个命令中使用-G Ninja
来用Ninja替代Make,详情请参阅Wiki。
详细说明可以在在Linux上构建OpenRCT2中找到。
注意:cmake -S . -B build
语法适用于CMake 3.14及以上版本。对于较旧的版本,请使用:
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=. # 在此设置标准的cmake选项,如构建类型 - 例如,-DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build . --target install
4. 贡献
OpenRCT2使用gitflow工作流。如果你正在实现新功能或原始游戏的逻辑,请从develop
分支创建新分支并向其提交拉取请求。如果你正在为下一个版本修复bug,请从正确的发布分支创建新分支并向其提交拉取请求。master
分支只包含已标记的发布版本,你永远不应该从这个分支创建新分支。
请阅读我们的贡献指南以获取更多信息。
4.1 Bug修复
bug列表可以在问题追踪器上找到。欢迎修复任何bug并向develop分支提交包含修复的拉取请求。在问题上提及你打算修复某个bug将防止其他人也尝试修复同一个bug。
4.2 新功能
在开始开发新功能之前,请先与OpenRCT2团队沟通。我们可能已经对你想要开发的内容有计划或反对的理由。因此,与我们联系可以让我们帮助你或防止你浪费时间。你可以通过Discord与我们交谈,链接在本页面顶部。
4.3 翻译
你可以通过编辑data/language
目录中的语言文件将游戏翻译成其他语言。请加入Discord上的#localisation频道讨论,并向OpenRCT2/Localisation提交拉取请求。
4.4 图形
你可以通过访问OpenGraphics项目来帮助为游戏创建新的图形。需要3D建模师!
4.5 音频
你可以帮助创建游戏的音乐和音效。查看OpenMusic仓库并加入我们的Discord上的#open-sound-and-music频道以了解更多信息。
4.6 场景
我们也希望在适当的时候随游戏分发额外的场景。为此,我们需要有才华的场景制作者!查看OpenScenarios仓库。
5. 许可证
OpenRCT2采用GNU通用公共许可证第3版授权。
6. 更多信息
类似项目
7. 赞助商
慷慨允许我们使用他们资源的公司:
DigitalOcean | JetBrains | Backtrace |
---|---|---|
提供各种服务的托管 | CLion和其他产品 | 小型转储上传和检查 |