Case study
OpenRiseOfNations: a native macOS engine reimplementation
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.
- Targets
- Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: 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.
- Scope: 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.
- Attribution: 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.
- Testing evidence: 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.
- License: 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.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · ben-wright-1/OpenRiseOfNations · Revision 2a0dfde
- docs/STATUS.md GitHub · ben-wright-1/OpenRiseOfNations · Revision 2a0dfde
- build-mac.sh GitHub · ben-wright-1/OpenRiseOfNations · Revision 2a0dfde
- .gitignore GitHub · ben-wright-1/OpenRiseOfNations · Revision 2a0dfde
- VERSION GitHub · ben-wright-1/OpenRiseOfNations · Revision 2a0dfde
- LICENSE GitHub · ben-wright-1/OpenRiseOfNations · Revision 2a0dfde
- https://x.com/benw_____/status/2111116976168779845
- https://x.com/benw_____/status/2111260204884967933
More in Games
- OpenRW: an open re-implementation of the Grand Theft Auto III engine · Case study
- OpenSC4: an early open-source reimplementation of SimCity 4 · Case study
- OpenTomb: Tomb Raider engine reimplementation · Case study
- OpenXcom: an open-source clone of X-COM: UFO Defense and Terror from the Deep · Case study
- P.T. for PC: a behavior-based engine reimplementation that reads the PS4 data · Case study
- re2ds: a native Nintendo DS engine for Resident Evil 2 · Case study