本页目录

太空竞赛(Race Into Space)

minigame-playable · wechat-miniprogram/minigame-playable

一款以太空竞赛为主题的免费软件游戏,源自 Interplay 发行的《Buzz Aldrin's Race into Space》,其前身是 Fritz Bronner 的桌面游戏《Liftoff!》。原版由 Strategic Visions 开发,1992 年以磁盘版、1994 年以 CD-ROM 版发行,2005 年...

策略 模拟经营 桌面游戏 SDL C++ 存档系统 游戏状态管理 音频系统 UI 系统 中级
★ Stars 238 Forks 63 License 未明确 更新 2026-11-07

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:SDL 暂无中文教程标记 未标记站长实测
构建依赖 vcpkg 自动下载第三方库,国内网络可能较慢,建议配置镜像或代理;Debian/Ubuntu 与 Fedora 的系统依赖可通过国内镜像源安装。音乐文件位于单独的 nonfree 仓库,需额外克隆。

中文项目介绍

Race Into Space 是 Interplay 经典作品《Buzz Aldrin's Race into Space》的自由软件版本。它的源头可以追溯到 Fritz Bronner 设计的桌游《Liftoff!》,电脑版最初由 Strategic Visions 开发、Interplay 发行,1993 年推出磁盘版,1994 年推出 CD-ROM 版。2005 年源代码开放后,社区在原有基础上持续重构与改进,本仓库即为这一版本的家。

游戏以冷战时期的太空竞赛为背景,玩家在卫星发射、无人探测器与载人登月等目标之间做规划与取舍。与常见的即时操作类太空游戏不同,它更接近回合制的项目管理与资源调度:每一次发射都是一次带有风险的决策。

项目采用 GNU 通用公共许可证第 2 版(GPLv2)发布,授权条款见仓库中的 COPYING 文件。

技术架构分析

技术要点

项目以 C++ 编写,构建系统基于 CMake,并使用 vcpkg 自动下载与编译依赖。README 中列出的主要依赖包括 SDL 1.2、Boost、libpng、jsoncpp、libogg、libvorbis、libtheora、PhysicsFS、cereal 以及 protobuf。

仓库根目录提供 .git-hooks,其中的 pre-commit 钩子会在提交前检查代码风格;格式化工具为 astyle,README 建议尽量使用它。项目还包含基于 Boost.Test 的测试套件,覆盖任务逻辑、谓词与步骤链遍历等内容,测试会在每次推送与拉取请求时由 CI 自动运行。

如何构建

首先克隆仓库,注意需要一并拉取子模块:

git clone --recurse-submodules https://github.com/raceintospace/raceintospace

若克隆时遗漏了 --recurse-submodules,可在仓库内执行 git submodule update --init 初始化 vcpkg 子模块。

在 Debian/Ubuntu 上,可通过 apt 安装 CMake 与上述一系列开发库;Fedora 上则使用 dnf 安装对应的 -devel 包。依赖齐备后,使用预设快速编译并运行:

cmake --preset linux-release
cmake --build --preset linux-release --target run

若不想依赖系统库,可改用 linux-vcpkg 预设,让所有依赖自动下载构建。构建目录为 build/release,可随时删除以进行干净重建。安装到系统默认位置使用 --target install,安装到用户目录则需先以 --prefix "$HOME" 配置。

macOS 方面,README 说明支持 macOS 15 及以上的 Apple 芯片设备,需要 CMake、pkg-config 与 sdl,其余依赖由 CMake 与 vcpkg 处理,构建使用 macos-vcpkg 预设,也可生成 Xcode 工程。

Windows 上推荐使用 Visual Studio Community,安装时需勾选 MSVC、C++ CMake for Windows 与 Windows SDK 组件,并在「Developer Command Prompt」中执行 windows-release 预设的配置与构建。构建完成后,通过设置 BARIS_DATA=data 环境变量启动 raceintospace.exe。README 还给出了在 Visual Studio IDE 中设置启动项目、输出目录与调试环境变量的详细步骤。

补充说明

版本与获取

当前最新的稳定版本为 2.0.0,发布于 2025 年 3 月 27 日。发布页提供多种成品文件,覆盖不同平台与使用方式:

  • Debian 12 与通用 Linux 的 .deb 安装包
  • Linux 的 .rpm 安装包与 .tar.gz 压缩包
  • 源码包 raceintospace-2.0.0-Source.tar.gz
  • Windows 的 win32.exe 安装程序
  • macOS 的磁盘映像文件

游戏手册位于仓库 doc/manual/manual.md,可在文档区直接阅读。

macOS 玩家需要注意两点:首次运行 .app 时需右键选择「打开」,或执行 xattr -c raceintospace.app 解除隔离属性;同时需要通过 Homebrew 安装 sdl12-compat。README 说明这两项要求将在后续版本中自动化处理。

玩法与内容

游戏围绕太空竞赛的完整链条展开,README 的标签与描述中涉及卫星、探测器、登月与登月舱等要素。玩家需要在有限的预算与时间窗口内推进计划,而每次任务都伴随失败的可能,这使得风险管理和节奏把控成为核心体验。

由于音乐涉及版权问题,游戏音频被单独放置在非自由仓库 raceintospace-nonfree 中。若希望游戏内出现音乐,需要自行克隆该仓库,并将其中的 data/audio/music 目录复制到源码目录或安装目录下的 data/audio 中。

学习建议

这是一个体量可观、历史悠久的 C++ 开源游戏项目,适合作为阅读真实工程代码的样本。建议先从构建流程入手,跑通 Linux 或 Windows 的预设构建,再结合 TESTING.md 运行测试套件,理解任务逻辑与步骤链的实现方式。对模拟经营与回合制策略感兴趣的读者,也可以从游戏手册出发,先理解玩法规则,再回到代码中寻找对应的数据结构与状态管理逻辑。

开源许可证与版权说明

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

相似项目