# OpenRiseOfNations：原生 macOS 引擎重新实现

> 以原生 macOS 应用重新实现 Rise of Nations: Extended Edition 引擎，包含 Metal 渲染器、确定性模拟、电脑对手，以及兼容的 BigHugeScript 编译器与虚拟机；美术、地图、规则和脚本均从使用者自有的 Windows 版安装目录读取。项目依据对带调试符号的可执行文件进行 Ghidra 研究后撰写的子系统规范及 JavaScript 参考工具，在大量使用 Claude Code 的情况下编写 C++17 实现。该早期版本可游玩教程与场景，其逐位一致性检查仍为项目报告。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-18
- 收录于：2026-10-19
- 原始资源：<https://github.com/ben-wright-1/OpenRiseOfNations>
- 一手来源：<https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/openriseofnations-engine-case/>
- 记录 JSON：<https://awesomerea.org/resources/openriseofnations-engine-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/openriseofnations-engine-case/index.md)

## 使用条件与局限

- **前提条件：**使用者须拥有 Rise of Nations: Extended Edition，并提供 Windows 版游戏目录，其中 Data 与 scenario 目录提供美术、地图、规则、脚本和音频；README 列出用 SteamCMD 下载或从 Windows 电脑复制两种方式。仓库及未经公证的 DMG 不包含游戏文件或原程序代码，唯一声明的例外是粉丝改编的主菜单标志。从源码构建只需 Apple 命令行工具和 build-mac.sh。
- **范围：**所审阅的固定版本为 0.1.1；v0.1.0 与 v0.1.1 发布日期均为 2026-10-14。README 称这一 C++17 引擎尚处早期但可游玩，运行于 macOS 12+，使用 Metal 与 AppKit，涵盖教程与内置场景、单位操控、经济、建造、战斗、电脑对手及游戏脚本。随机地图与遭遇战设置界面、征服世界战役、多人联机、存档与录像、驻军、英雄及其他若干系统尚未实现。
- **署名：**README 称游戏可执行文件附带完整调试符号，因而可借助 Ghidra 研究；docs/ 中约三十份规范以转述方式描述各子系统，并按名称和地址引用原函数，re/tools 中的 JavaScript 参考工具读取游戏数据。README 称开发大量使用 Claude Code，并由维护者指导和审查。STATUS.md 称逆向工作由后台智能体执行、各自产出一份规范，而作者回复称他本人在 Ghidra 中逆向并撰写规范。
- **测试证据：**验证结果均为项目报告。C++ 检查工具将全部 169,312 组攻击方／目标的伤害、价格、收入与界面布局同参考工具比较，将规则表同录制对局的内存镜像比较，并在 156 个内置场景上比较世界网格；无界面运行框架检查确定性。模拟以逐位一致的锁步行为为目标，但尚未与真实录制对局比较，渲染则通过查看快照检查。
- **许可：**引擎采用 GPL-3.0；菜单标志不在此范围内，其权利仍归原所有者。项目声明与 Microsoft、Big Huge Games 及 SkyBox Labs 无关联。.gitignore 将反编译输出、符号转储和提取数据排除在仓库之外，但 re/jobs 下提交了两份列有原地址的小型指令搜索输出。

## 一手来源

1. <https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/README.md>
2. <https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/docs/STATUS.md>
3. <https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/build-mac.sh>
4. <https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/.gitignore>
5. <https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/VERSION>
6. <https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/LICENSE>
7. <https://x.com/benw_____/status/2111116976168779845>
8. <https://x.com/benw_____/status/2111260204884967933>

## 同分区更多条目：游戏

- [OpenRW：《侠盗猎车手 III》引擎的开源重新实现](https://awesomerea.org/zh/resources/openrw-gta3-engine-case/index.md) · 案例
- [OpenSC4：SimCity 4 的早期开源重新实现](https://awesomerea.org/zh/resources/opensc4-simcity-4-reimplementation-case/index.md) · 案例
- [OpenTomb：《古墓丽影》引擎重实现](https://awesomerea.org/zh/resources/opentomb/index.md) · 案例
- [OpenXcom：X-COM: UFO Defense 与 Terror from the Deep 的开源克隆](https://awesomerea.org/zh/resources/openxcom-engine-case/index.md) · 案例
- [P.T. PC 版：基于行为重新实现、读取 PS4 数据的引擎](https://awesomerea.org/zh/resources/pt-pc-port-case/index.md) · 案例
- [re2ds：Resident Evil 2 的原生 Nintendo DS 引擎](https://awesomerea.org/zh/resources/re2ds-nds-engine-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
