{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/docs/STATUS.md",
    "https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/build-mac.sh",
    "https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/.gitignore",
    "https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/VERSION",
    "https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/LICENSE",
    "https://x.com/benw_____/status/2111116976168779845",
    "https://x.com/benw_____/status/2111260204884967933"
  ],
  "category": "reconstruction-cases",
  "description_en": "Reimplements the Rise of Nations: Extended Edition engine as a native macOS app with a Metal renderer, a deterministic simulation, a computer opponent and a compatible BigHugeScript compiler and virtual machine, loading art, maps, rules and scripts from the user’s own Windows installation. Subsystem specifications written from Ghidra study of the symbol-bearing executable, together with JavaScript reference tools, guided a C++17 implementation built with heavy Claude Code assistance. The alpha plays tutorials and scenarios, and its bit-exactness checks remain project-reported.",
  "description_zh": "以原生 macOS 应用重新实现 Rise of Nations: Extended Edition 引擎，包含 Metal 渲染器、确定性模拟、电脑对手，以及兼容的 BigHugeScript 编译器与虚拟机；美术、地图、规则和脚本均从使用者自有的 Windows 版安装目录读取。项目依据对带调试符号的可执行文件进行 Ghidra 研究后撰写的子系统规范及 JavaScript 参考工具，在大量使用 Claude Code 的情况下编写 C++17 实现。该早期版本可游玩教程与场景，其逐位一致性检查仍为项目报告。",
  "entry_url": "https://awesomerea.org/resources/openriseofnations-engine-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/openriseofnations-engine-case/",
  "evidence_url": "https://github.com/ben-wright-1/OpenRiseOfNations/blob/2a0dfde8acdb7185c6087b10ef89b4f66731e5a0/README.md",
  "group": "cases",
  "id": "openriseofnations-engine-case",
  "json_url": "https://awesomerea.org/resources/openriseofnations-engine-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/openriseofnations-engine-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/openriseofnations-engine-case/index.md",
  "name": "OpenRiseOfNations: a native macOS engine reimplementation",
  "name_zh": "OpenRiseOfNations：原生 macOS 引擎重新实现",
  "reconstruction_method": "engine-reimplementation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "attribution",
    "testing",
    "license"
  ],
  "requirements": [
    "The reviewed pin is version 0.1.1; releases v0.1.0 and v0.1.1 are dated 2026-10-14. README calls the C++17 engine early but playable on macOS 12+ with Metal and AppKit, covering tutorials and stock scenarios, unit control, economy, construction, combat, a computer opponent and the game’s scripts. Random maps and the skirmish setup screen, the Conquer the World campaign, multiplayer, saves and replays, garrisons, heroes and several other systems are not yet implemented.",
    "Users must own Rise of Nations: Extended Edition and supply the Windows version’s game folder, whose Data and scenario directories provide the art, maps, rules, scripts and audio; README names SteamCMD or a copy from a Windows PC as routes. The repository and the un-notarised DMG ship no game files or original program code, with a fan-adapted main-menu logo as the stated exception. Building from source needs only Apple’s Command Line Tools and build-mac.sh.",
    "README says the executable ships with full debug symbols, which enabled Ghidra study; about thirty specifications in docs/ describe each subsystem in paraphrase, citing original functions by name and address, and JavaScript reference tools in re/tools read the game data. README credits heavy use of Claude Code, directed and reviewed by the maintainer. STATUS.md says the reverse engineering ran as background agents that each produced a spec, while the author’s reply says he reverse-engineered in Ghidra and wrote the specs himself.",
    "Verification is project-reported. C++ checkers compare damage on all 169,312 attacker/target pairs, prices, income and interface layouts with the reference tools, rules tables with a recorded game’s memory image and world grids across 156 stock scenarios, and a headless harness checks determinism. The simulation targets bit-identical lockstep behavior but has not yet been compared with recorded games, and rendering was checked by reading snapshots.",
    "The engine is GPL-3.0; the menu logo is excluded, and its rights stay with the original owners. The project states that it is unaffiliated with Microsoft, Big Huge Games and SkyBox Labs. .gitignore keeps decompiler output, symbol dumps and extracted data out of the repository, although two small instruction-search outputs listing original addresses are committed under re/jobs."
  ],
  "requirements_zh": [
    "所审阅的固定版本为 0.1.1；v0.1.0 与 v0.1.1 发布日期均为 2026-10-14。README 称这一 C++17 引擎尚处早期但可游玩，运行于 macOS 12+，使用 Metal 与 AppKit，涵盖教程与内置场景、单位操控、经济、建造、战斗、电脑对手及游戏脚本。随机地图与遭遇战设置界面、征服世界战役、多人联机、存档与录像、驻军、英雄及其他若干系统尚未实现。",
    "使用者须拥有 Rise of Nations: Extended Edition，并提供 Windows 版游戏目录，其中 Data 与 scenario 目录提供美术、地图、规则、脚本和音频；README 列出用 SteamCMD 下载或从 Windows 电脑复制两种方式。仓库及未经公证的 DMG 不包含游戏文件或原程序代码，唯一声明的例外是粉丝改编的主菜单标志。从源码构建只需 Apple 命令行工具和 build-mac.sh。",
    "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 下提交了两份列有原地址的小型指令搜索输出。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/ben-wright-1/OpenRiseOfNations",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
