Hysen Labs
Open-source project
Open-BFME/Open-BFME-1 avatar
Open-BFME

Open-BFME-1

Open Source, 1:1 binary swappable recreation of the Lord of the Rings, Battle for Middle-Earth

53 stars10 forksC++GPL-3.0
DEEP OPEN-SOURCE ANALYSIS

Open BFME 1 rebuilds the game binary from source

A reverse engineering project that recreates the Lord of the Rings, Battle for Middle Earth executable as open source C++ that compiles to a byte for byte match.

What the project is trying to rebuild

Open BFME 1 is a source code project for the game The Lord of the Rings, Battle for Middle Earth. The README says it was reverse engineered with AI, and its goal is source code that rebuilds the game's executable byte for byte. The README explains the method in plain terms. You take a part of the BFME binary, recreate the exact source code that would produce that part, then compile the source and inject it back into the binary, and you get the same binary. Doing this piece by piece eventually yields a full, open source recreation of the game and enables some aggressive mods. The README is explicit that the goal of the project is not to mod the game. The point is to get source code that can be compiled into a one to one, bit by bit replica of the BFME 1 binary. The README says this ensures 100 percent accuracy and will enable future modifications. So the value is a faithful, open source base rather than a changed game. The license is GPL 3.0, which is a strong copyleft license suited to a game recreation that must stay open. The C++ language is what the rebuilt source is written in as the team converts retail binary sections into real functions.

How complete the rebuild is

The README reports a concrete status number. It says 35.16 percent of the game rebuilds from what the team holds, meaning C++ they wrote, library source, generators, and libraries they link. The rest, the README explains, is byte true dumps of the retail game, which it calls a boundary rather than source. Converting those dumps into real source is the remaining work. The roadmap lists the next targets. The first is finishing the BFME 1 source code past the current 35.16 percent. After that come a network delay fix, a memory fix, better crash logs, 60 or 120 frames per second support, multi CPU support, an AC fix, the World Builder source code, and 16 player maps. The README invites readers to ping a user named redbracket on Discord if they want something else changed in the roadmap. This list shows the project is thinking beyond the initial rebuild toward playability and modernization fixes. The 35.16 percent figure is a measurable checkpoint rather than a vague claim, and the roadmap items are framed as concrete engineering tasks. For a contributor, the status section sets the expectation that roughly a third is real source and the rest is still retail binary waiting to be rewritten.

How to help convert the binary

The README has a section on how you can help, and it gives a specific workflow rather than a general call. You clone the repo and give your AI agent an exact prompt, because the README says a vaguer prompt reliably produces zero progress across six measured agent sessions. The prompt tells the agent to read AGENTS.md and follow it. The loop is to take the served candidate's whole file, convert the bodies to byte exact C++, bank each verified body as its own commit, and before stopping run the command python3 tools/progress.py origin/master. If the C++ exact count goes up by zero bytes, you keep going. You make a pull request when you have a few landed bodies. The README says each commit in the pull request is one verified function, and the maintainer will be able to merge it. It also notes that all such AI generated pull requests are appreciated. The AGENTS.md file and the tools/progress.py script are the two referenced artifacts that keep contributions aligned. This workflow is unusual because it is built around an AI agent doing the conversion and a script measuring byte exact progress. A helper who wants to contribute follows the prompt, verifies functions, and lets the progress script confirm the gain before opening a pull request.

Editorial conclusion

The project is written in C++ under the GPL 3.0 license and reports that 35.16 percent of the game rebuilds from the source it holds, with contributors guided by the AGENTS.md file and the tools/progress.py script.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes