本页目录

Space Station 14(多人太空站混乱模拟重制版)

space-station-14 · space-wizards/space-station-14

Space Station 14 是经典 Space Station 13 的重制项目,定位为围绕太空站偏执与混乱展开的多人游戏。项目使用自研的 C# 引擎 Robust Toolbox,主仓库包含引擎与内容包,面向希望托管服务器或开发 SS14 内容的开发者。玩法细节与版本状态...

策略 SDL C++ 敌人 AI 音频系统 渲染技术 高级
★ Stars 3,900 Forks 5,868 License MIT 更新 2026-11-09

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:SDL 暂无中文教程标记 未标记站长实测
依赖 SDL3(含 SDL3_image/SDL3_ttf/SDL3_mixer)与 Catch2 v3,需通过系统包管理器或仓库提供的 install_dependencies_*.sh 安装,国内拉取 GitHub Releases 与 Actions 产物可能较慢,建议使用镜像/代理;CMake 构建与 CI 严格警告策略(warnings as errors)在本地默认关闭,具体平台差异待核验。

中文项目介绍

Dune II - The Maker(简称 D2TM)是一个由社区开发者 stefanhendriks 长期维护的开源项目,仓库全名为 stefanhendriks/Dune-II---The-Maker。它以 Westwood Studios 的经典即时战略作品《沙丘2:王朝的建立》(Dune II: The Building of a Dynasty)为蓝本进行重制。与传统意义上追求逐像素还原的复刻不同,作者在 GitHub 描述中明确表示这是一个「带有若干增强」的重制版本,因此它同时承担着「重现经典」与「现代化改造」两个目标。项目拥有独立官网 dune2themaker.com,并开设了 Discord 与 Twitter 作为反馈渠道,README 中直接引导用户通过 Discord、Twitter 或 GitHub issue 报告缺陷,同时提供了 wiki 作为启动参数、操作方式等信息的权威补充。

从玩法层面看,D2TM 保留了原作作为即时战略游戏的基本骨架:玩家需要在沙漠地形上经营基地、建造生产建筑、组织单位并展开对抗。仓库描述中点名的增强包括更高的屏幕分辨率支持、画面缩放、多单位框选(multiselect)以及遭遇战(skirmish)模式。这几项改动直接对应了九十年代 RTS 的经典痛点——原作的固定低分辨率与单点选取在现代显示器上体验很差,而遭遇战模式则让玩家不必依赖战役流程即可直接进入对战。需要说明的是,README 本身并未展开叙述战役关卡数量、单位数值平衡、AI 行为等具体细节,这些内容应以官网和 wiki 为准,不应凭想象推断。

核心功能

核心特性

技术实现上,这是一个完全用 C++ 编写的项目,图形、字体与音频分别依托 SDL3、SDL3_image、SDL3_ttf 与 SDL3_mixer 完成,属于在 SDL 之上自行搭建游戏框架的路线,而不是使用 Unity、Godot 等现成商业引擎。构建系统为 CMake(要求 3.21 或更高版本),编译器要求 GCC 14 或更高版本,单元测试使用 Catch2 第 3 版。CI 会把所有编译警告当作错误处理,本地默认不启用该严格模式,开发者可通过 -DD2TM_WERROR=ON 复现 CI 的严格程度。测试代码位于 tests/ 目录,与游戏一起编译为 d2tm_tests,通过 ctest --output-on-failure 运行,且 CI 在多平台上都会执行。游戏配置由 settings.ini 与 game.ini 驱动,前者源文件位于 resources/bin/settings.ini,大部分选项可在游戏内菜单修改并回写;后者按建筑配置 NeedPowerToWork、LowPowerIconX、LowPowerIconY 等字段。代码仓库还附带若干技术文档,例如讲解如何把角度换算为绘制索引的 convertAngleToDrawIndex.md,对理解自研 2D 渲染很有帮助。

平台与构建方面,README 给出了 Windows、Ubuntu、macOS 三条完整路径。Windows 依赖 MSYS2 提供的 MinGW64 环境,需在 MSYS2 MINGW64 shell 中通过 pacman 安装与 CI 相同的软件包,然后使用 MinGW Makefiles 或 Ninja 生成构建目录并编译,也可以直接运行 rebuildwin.bat 完成清理构建与测试;编译产物为 d2tm.exe。Ubuntu 与 macOS 分别提供 install_dependencies_ubuntu.sh 和 install_dependencies_macosx.sh 一次性安装依赖,随后执行 cmake、make -j4 与 ctest,macOS 还可使用 rebuildmacos.sh 一键清理构建、跑测试并把二进制复制到 bin/。构建完成后需要运行 create_release.bat 或 create_release.sh,把可执行文件与所需动态库一起打包到 bin/ 目录,再从该目录启动游戏。仓库配置了 GitHub Actions 工作流 build_master.yml 与 build_pr.yml,前者负责构建并产出发布版本,这也解释了 README 顶部为何集中展示各版本下载量徽章。项目还提供了 CLion 工具链配置示例,说明在 Apple Silicon 上如何把 C/C++ 编译器指向 Homebrew 的 gcc-15。

技术架构分析

技术要点

音频部分是初次上手最容易踩坑的地方:D2TM 通过 FluidSynth 播放 MIDI 音乐,而 FluidSynth 必须依赖一个 General MIDI 音色库(.sf2)才能出声,否则音乐会静默。README 建议 Linux 用户安装 fluid-soundfont-gm 包,macOS 与 Windows 用户可自行下载 FluidR3_GM.sf2 或 GeneralUser GS,并通过 SDL_SOUNDFONTS 环境变量指向该文件路径,再启动游戏。设置项方面,README 举例说明了低电量相关行为:AllTurretsDownOnLowPower 与 RocketTurretsDownOnLowPower 控制玩家电力不足时炮塔是否停火;ShowLowPowerIcon 默认关闭,开启后缺电建筑会显示闪烁的闪电图标,也可在选项菜单中勾选。

获取与使用方面,玩家有三条途径:从 GitHub Releases 下载最新发布版、从项目官网获取历史版本,或按上述流程自行编译。项目维护有公开的 Project Board,可查看当前正在推进的工作。对于学习者而言,这个仓库的价值在于它是一份体量可观、持续演进的 C++ 跨平台 RTS 实践样本:可以观察 SDL3 生态下的窗口与输入处理、CMake 多平台构建脚本的组织方式、Catch2 单元测试与 CI 严格警告策略的配合、以及用 ini 数据文件驱动建筑与单位属性的设计思路。需要注意的现实问题是依赖门槛偏高(SDL3 系列库、GCC 14 以上、CMake 3.21 以上),Windows 下必须先准备好 MSYS2 环境;同时项目细节与操作说明以 wiki、官网和 Discord 为准,README 之外的玩法特性不宜凭空假设。

开源许可证与版权说明

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

相似项目