Case study
OpenBattlefield2: an unfinished Refractor 2 engine reimplementation
A C++20 reimplementation of Battlefield 2’s Refractor 2 engine reads original game data and documents menu rendering, level loading and server interoperability. Published crosshair research cites REA/Ghidra evidence IDs and binary addresses; major gameplay systems remain unfinished.
Requirements & limits
- Prerequisites: Requires an owned Battlefield 2 1.5 installation, CMake 3.24+, Ninja, a C++20 compiler and SDL3; the Flash menu additionally needs Rust and Ruffle.
- Attribution: Published crosshair research cites REA Evidence IDs; CLAUDE.md describes the mixed REA/Ghidra workflow and its payload and temporary-project limitations. This attribution does not establish that every subsystem was reconstructed with REA.
- Testing evidence: macOS arm64 is the primary platform; the Windows preset is kept building but is not exercised. Tests needing game files can pass with a note when those files are absent.
- Limits: Ammunition/reloading, recoil, projectiles, audio, driving and full commander/squad interaction remain unfinished; this is an engine research project, not a complete game port.
- License: MIT covers the project code; no original Battlefield 2 game content is redistributed.
About this entry
- Type
- Case study
- Category
- Community REA investigations
- Relationship
- Author-reported mixed workflow
- Targets
- Binary · Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · Moxnatiy/OpenBattlefield2 · Revision 1486ef1
- CLAUDE.md GitHub · Moxnatiy/OpenBattlefield2 · Revision 1486ef1
- docs/functions/hud-crosshair.md GitHub · Moxnatiy/OpenBattlefield2 · Revision 1486ef1
More in Games
- keen-clone: a Commander Keen 1 C/SDL2 port · Case study
- samp-client-re: a partial SA-MP client reconstruction · Case study
- Desktop Games Nostalgia: a macOS and browser port · Case study
- GunZRs: a Rust reimplementation of GunZ: The Duel · Case study
- LASRecomp: Link’s Awakening static recompilation · Case study
- ArkWeb: a two-game movement and collision experiment · Case study