greenworks · greenheartgames/greenworks
Greenworks 是 Greenheart Games 开源的 node.js 原生插件,它把 Steamworks 的多个 API 暴露给 JavaScript,让基于 NW.js 或 Electron 的 HTML5 游戏或应用接入 Steamworks。它最初为《Game Dev Tycoon》的 Steam 集成而开发,之后开源...
Simutrans 是一款开源且免费的运输模拟游戏。在游戏中,玩家将扮演一家运输公司的经营者,核心目标是建立并运营一家成功的运输企业。玩家需要利用铁路、公路、船舶和航空等多种运输方式,运送旅客、邮件和各类货物。游戏的核心玩法在于将各个区域、城市、公共建筑、工业设施以及旅游景点相互连接,构建出一个玩家理想中的运输网络。
根据 README 的说明,Simutrans 最初由 Hansjörg Malthaner(“Hajo”)于 1997 年开始编写,直到 2004 年左右他退出开发。此后,由 Markus Pristovsek(“Prissi”)领导的 Simutrans 团队持续进行开发。项目采用 Artistic License 1.0 许可协议,这是一个经 OSI 批准的开源许可证,允许使用、分发、修改以及分发修改后的版本。需要注意的是,运行游戏所必需的 paksets(游戏资源包)拥有其独立的许可证,并不包含在代码仓库中。
README 提供了较为详细的编译指南,适合希望从源码构建的开发者。
项目的主要代码仓库使用 SVN 进行版本控制,可以通过 SVN 客户端检出:
svn checkout svn://servers.simutrans.org/simutrans/trunk
如果偏好 Git,GitHub 上有一个 SVN 仓库的镜像:
git clone http://github.com/simutrans/simutrans.git
README 特别指出,SVN 仓库是主仓库,Git 仓库仅是镜像。如果使用 Git 而非 SVN,在加入网络游戏时需要手动设置游戏版本。
Simutrans 依赖多个库,其中部分为必需,部分为可选。README 以表格形式列出了这些库及其用途:
此外,还需要 pkgconfig(Unix)或 vcpkg(Microsoft Visual C++)。README 针对不同平台提供了依赖安装指引:
install-building-libs-{architecture}.bat 复制到 vcpkg 文件夹并运行。tools/setup-mingw.sh 获取库并设置环境。tools/setup-debian.sh 获取库并设置环境。进入源代码目录后,有三种构建系统可供选择:make、MSVC 和 CMake。README 推荐使用 make 或 MSVC 进行调试构建,使用 CMake 用于 MacOS 和 Android。
编译仅生成可执行文件,运行程序仍需一个 Simutrans 安装。可以使用 -use_workdir 参数指向现有安装目录来启动游戏。
build/default。Linux 上运行 autoconf,MacOS 上运行 autoreconf -ivf,然后执行 ./configure 和 make -j 4(MacOS 还需 make OSX/getversion)。simutrans.sln 包含四个项目:Simutrans-Main(共享的非后端特定文件)、Simutrans SDL2(首选后端)、Simutrans GDI(仅 Windows 后端)、Simutrans Server(无图形界面的服务器后端)。选择其中一个作为启动项目并在配置管理器中编译。build/simutrans。命令行示例(Linux/MinGW/MacOS)为 cmake -G "Insert Correct Makefiles Generator" -B build . 和 cmake --build build -j 4。MSVC 下则需创建 build 目录并使用相应的 CMake 命令。对于从 Linux 交叉编译到 Windows 的情况,README 指向了 Wiki 上的交叉编译指南。
从 README 可以看出,Simutrans 是一个使用 C++ 编写的大型项目,具有以下技术特征:
对于学习 C++ 游戏开发、运输模拟类游戏逻辑或跨平台构建的开发者,Simutrans 的源码和构建文档提供了有价值的参考。
README 提供了多种获取 Simutrans 的途径:
此外,项目还提供“nightly”版本(每日构建版),但 README 建议大多数用户使用最新的“stable”(稳定)版本。
对于想要了解更多信息的玩家,README 列出了主要站点(包括国际论坛、德语论坛和日语论坛)、帮助资源(如 Simutrans Wiki、 starter guide PDF 以及国际论坛的帮助中心)以及额外的下载内容(如 paksets 和 addons)。
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
OpenRCT2 是《过山车大亨 2》(RollerCoaster Tycoon 2)的开源重实现项目,...
OpenLoco 是 Chris Sawyer《Locomotion》的开源重实现,对应一款模拟经营运输...