本页目录

《光环:致远星》API Ruby 封装库(halo-reach-api)

halo-reach-api · agoragames/halo-reach-api

这是 agoragames/halo-reach-api 仓库提供的 Ruby gem,用于与《光环:致远星》(Halo: Reach)API 交互。使用前需在 Bungie.net 注册并生成 API Key;依赖 HTTParty 与 JSON,测试使用 FakeWeb、Mocha。可通过 gem install halo-reach-a...

策略 模拟经营 自研引擎 C++ 存档系统 游戏状态管理 UI 系统 渲染技术 中级
★ Stars 649 Forks 115 License MIT 更新 2026-11-06

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
未知
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
从 GitHub 克隆源码可能受网络环境影响,建议配置镜像或代理;依赖清单见 doc/DEPENDENCIES.md,国内安装依赖时建议使用本地镜像源;Flathub 与 GitHub Releases 的访问情况待核验。

中文项目介绍

LinCity-NG 是一款以城市模拟经营为核心玩法的开源游戏,项目自述为经典 LinCity 的「精良改进版」。在游戏中,玩家需要从零开始建设并维护一座城市,通过规划住宅、工业、商业等区域,平衡资源与人口,最终达成游戏目标。游戏提供了两种通关路径:一是建立可持续运转的经济体系,二是建造飞船将全部市民撤离。对于初次接触的玩家,游戏内按 F1 即可调出帮助文档,了解具体操作与规则。

本仓库是 LinCity-NG 的官方源码仓库,采用 C++ 编写,使用 CMake 作为构建系统。README 中明确提醒:构建时应以当前版本源码内附带的说明为准,因为构建系统在 2.10.0 版本发生过变更,参照其他版本的指令可能导致构建失败。

技术架构分析

构建与安装

项目使用 CMake 进行配置、构建与安装。README 给出的标准流程如下:

git clone https://github.com/lincity-ng/lincity-ng.git
cd lincity-ng
cmake -B build -DCMAKE_BUILD_TYPE=Release  # configure
cmake --build build --parallel             # build
sudo cmake --install build                 # install

若需要生成安装包,可使用:

cmake -B build --install-prefix <expected install path>
cmake --build build --parallel --target package

依赖清单见 doc/DEPENDENCIES.md,构建配置选项见 doc/BUILD_OPTIONS.md。README 特别强调应参考当前版本源码中的 README.md,避免因构建系统版本差异导致失败。

补充说明

玩法与目标

LinCity-NG 的核心循环围绕城市建设与资源管理展开。玩家需要合理布局各类建筑,维持城市运转,并在经济可持续与飞船撤离两种胜利条件之间做出选择。游戏内帮助(F1)是了解玩法细节的主要入口。

  • 建设并维护城市,处理人口、资源与产业之间的平衡。
  • 胜利条件一:建立可持续的经济体系。
  • 胜利条件二:用飞船撤离全部市民。
  • 游戏内按 F1 查看玩法帮助。

README 未展开具体建筑类型、资源数值或操作按键,这些内容需以游戏内帮助为准。

运行方式

在未安装的情况下,可以直接从源码目录运行:

./build/bin/lincity-ng --app-data build/share/lincity-ng

安装完成后,直接执行 lincity-ng 即可启动游戏。

预编译版本与平台

除源码构建外,README 列出了若干获取预编译二进制的渠道:

  • Linux 发行版仓库:对 Linux 用户而言通常是首选,但 LTS 与「稳定版」发行版可能不提供最新版本。
  • Flathub:自 2.14.1 版本起,LinCity-NG 已上架 Flathub。Flatpak 版本通常比稳定发行版仓库更新,但需要安装 Flatpak 运行时,包体也可能更大。
  • GitHub Releases:提供 Linux 与 Windows 的二进制包,但由于严格的库版本要求,这些二进制未必适用于所有环境。

README 未对 macOS 平台作出明确说明,相关支持情况待核验。

旧版存档迁移

LinCity-NG 2.13.0 引入了全新的存档系统,且不向后兼容。README 说明,玩家此前的建设成果并不会丢失,可以使用源码中的脚本 contrib/ldsv-format-convert/1328-to-2130.sh(在 GNU/Linux 系统上也可能位于 /usr/share/lincity-ng/1328-to-2130.sh)将旧存档转换为新格式。该脚本主要面向 2.12.x 版本保存的游戏;若旧版本关闭了「binary saving」与「seed saving」选项,更早的存档也可能适用。

使用前建议先备份:

mv ~/.local/share/lincity-ng/<my-lincity-ng-game>.gz{,.orig}

然后以标准输入传入旧存档、标准输出写出新存档:

./contrib/ldsv-format-convert/1328-to-2130.sh \
  < ~/.local/share/lincity-ng/<my-lincity-ng-game>.gz.orig \
  > ~/.local/share/lincity-ng/<my-lincity-ng-game>.gz

若存档非常旧,也可能位于 ~/.lincity-ng 目录。若脚本报错,通常说明存档格式不兼容,可先用兼容版本(推荐 2.12.x)加载并重新保存,再运行脚本。转换后用 2.13.x 加载时,控制台不应出现警告;若出现警告,README 建议提交 issue 并附上相关文件。

联系与许可

项目托管于 GitHub,问题反馈与功能建议可通过仓库的 Issues 页面提交,贡献指南见 CONTRIBUTING.md。

LinCity-NG 以 GNU General Public License 第 2 版或更高版本发布,版权归 LinCity-NG 贡献者所有(1995–2026)。程序按「无任何担保」的方式分发,具体条款以 GPL 原文为准。

开源许可证与版权说明

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

相似项目