Image: github.com · Main menu
OpenBattlefield2: a clean-room Refractor 2 engine
A C++20 reimplementation of the Battlefield 2 engine using REA for function-level evidence.
Credits
The full story
OpenBattlefield2 is a clean-room reimplementation in C++20 of DICE's Refractor 2 engine, which ran Battlefield 2 (2005). It's an engine, not a game: it ships no content and runs from your own installed copy. The goal is a one-to-one port. Every rule in the code names where it came from: an address in the original binary (found with REA), a line in the game's data, or a measured frame of the original. Anything not yet understood is logged as "debt" rather than guessed.
It's an active research project, and the author is asking for help with the debt list, reference frame dumps and testing.
How it was done
Tools
Themes
Loading themes…
Sources
From the maker's own write-up or code. We summarise what they report; we haven't tested it ourselves.
- Awesome REA list: OpenBattlefield2Repository account: Moxnatiy
The engine source, its current status and the list of unknowns still to reverse.