本页目录

OpenLoco:运输公司经营模拟《Locomotion》的开源重实现(C++)

OpenLoco · OpenLoco/OpenLoco

OpenLoco 是 Chris Sawyer《Locomotion》的开源重实现,对应一款模拟经营运输公司的建设与管理类游戏。项目用 C++ 编写,依赖 SDL2 与 CMake,支持 Windows、Linux、macOS,仓库提供预编译下载、CI 构建状态、编译说明与 Discord 交流渠...

模拟经营 SDL 自研引擎 C++ 存档系统 游戏状态管理 高级
★ Stars 1,971 Forks 230 License MIT 更新 2026-11-10

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:SDL 暂无中文教程标记 未标记站长实测
构建需自行准备 CMake 与 SDL2 等依赖,Linux 下建议用发行版包管理器安装 SDL2 开发包;GitHub Releases 与 CI 产物在国内下载可能较慢,可考虑镜像加速。macOS 官方构建未签名、未公证,首次运行需手动放行。是否需要原版《Locomotion》游戏资源才能运行待核验。

中文项目介绍

OpenLoco 是 Chris Sawyer《Locomotion》的开源重实现项目。原版《Locomotion》是一款建设与管理类模拟游戏,玩家在其中经营一家运输公司;它也被视为《Transport Tycoon》的精神续作。OpenLoco 的定位与 OpenTTD 之于《Transport Tycoon》、OpenRCT2 之于《RollerCoaster Tycoon》相似:在保留原版体验的基础上,用现代方式重写并逐步扩展游戏。

原版 CSL 使用 x86 汇编编写,构建于《RollerCoaster Tycoon 2》引擎之上;不过该引擎后来改动很大,因此 OpenLoco 目前并不与 OpenRCT2 共享代码库。README 说明,截至 2025 年 12 月,项目已完成用 C++ 对游戏的重写实现;接下来的目标是实现稳定的多人联机体验,并放宽地图与载具的数量上限。由于仍受 CSL 存档格式(SV5/SC5)限制,需要等到新的存档格式(NSF)落地后,才能解除这些限制。

技术架构分析

技术要点与依赖

OpenLoco 使用 C++ 编写,构建系统采用 CMake,图形与输入层依赖 SDL3,同时也使用以下库:

  • libpng、libzip:资源与压缩包处理
  • OpenAL:音频
  • yaml-cpp、fmt、sfl:其中后三项在 CMake 生成阶段自动获取
  • breakpad:仅 Windows 需要
  • tbb:仅在使用 libstdc++ 时需要
  • gtest:仅在构建测试时需要

在 Windows 上,项目使用 Visual Studio 2022 并依赖 vcpkg 管理依赖;在 Linux 与 macOS 上,则使用 cmake 3.22+ 配合 make 或 ninja,依赖也可以选择由 vcpkg 管理。若在 Linux 上构建 x86-32 版本,部分软件包安装可能比较麻烦,项目提供了 Docker 镜像用于编译;此外,由于发行版打包的 yaml-cpp 存在问题,CMake 生成阶段会下载其源码发行版。

如何构建

Windows

  1. 检出仓库,可以使用 GitHub Desktop 或其他 Git 工具。
  2. 在 VS 2022 中选择“打开本地文件夹”,以便触发项目文件生成;此过程会下载依赖,可能需要一些时间。
  3. 生成完成后,打开 build/windows/openloco.sln。
  4. 选择 Debug 或 Release 配置,执行 Build → Build Solution。
  5. 从 build/windows/<config>/OpenLoco.exe 运行,或直接在 VS 内启动。

也可以改用 CMake 预设:先运行 cmake --preset windows,再运行 cmake --build --preset windows-release。

Linux / macOS

先安装所需依赖库,然后执行标准 CMake 流程:

cmake --preset posix
cmake --build --preset posix-release

macOS 侧仅测试过 arm64 构建。如果只想游玩而不参与开发,直接下载 GitHub 上的最新版本会更省事;项目提供的发布包覆盖 Windows(64 位与 32 位)、Linux(仅 64 位)和 macOS(仅 arm64)。

补充说明

下载与运行(预编译版本)

  • 最新版本可从 GitHub Releases 页面获取,目前提供 Windows、Linux 和 macOS 的构建。
  • 项目不为 BSD 系发行版提供构建,需要自行编译。
  • macOS 构建未签名、未公证,因此可能被 Gatekeeper 拦截。
  • 注意:OpenLoco 需要原版《Chris Sawyer's Locomotion》的资源文件才能游玩,可在 Steam 或 GOG.com 购买原版游戏。

仓库页面还提供 master 分支的 CI 状态徽章与 Release 下载徽章,并设有 Discord 服务器,用于讨论开发或在运行遇到问题时寻求帮助。

授权与更多信息

OpenLoco 以 MIT 许可证发布。除 GitHub 仓库外,还可以通过 TT-Forums 论坛以及 Reddit 的 r/locomotion 社区获取讨论与资料,项目主页为 openloco.io。

开源许可证与版权说明

许可证标识:MIT。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目