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.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · Moxnatiy/OpenBattlefield2 · Revision 1486ef1
  2. CLAUDE.md GitHub · Moxnatiy/OpenBattlefield2 · Revision 1486ef1
  3. docs/functions/hud-crosshair.md GitHub · Moxnatiy/OpenBattlefield2 · Revision 1486ef1

More in Games

All 240 entries in GamesGames case studies (198)