In an October 9, 2026 account, developer Maurice Heumann reported that AI agents helped reconstruct a 2009 first-person shooter in C++; Tom’s Hardware identified the game as Call of Duty: Modern Warfare 2 (2009). Heumann said 99% of the game’s functions were present in the reconstructed source, while 83% of all functions matched byte for byte (Heumann’s account).
Those are different measures: the first counts functions represented in the reconstruction; the second counts functions whose compiled bytes matched. The byte-level result applies to the 83% Heumann reported as matching, not to every function in the project.
What the two percentages measure
Heumann’s 99% figure refers to the share of game functions present in the reconstructed C++ source. His 83% figure refers to the share of all functions that produced byte-for-byte matches. A function can be present without meeting that stricter match test.
That distinction matters because readable code or a game that runs is not, by itself, the same as a function-level match. Heumann said the matching functions had the same semantics as the originals, including their bugs. He believes the functions without byte matches are semantically correct, but that belief is separate from the match result.
How the byte comparison works
Heumann said the team rebuilt the code with the original game’s compiler and compared reconstructed object-file functions with the original game’s executable and PDB data. A relocation—a reference whose encoded address can change between builds—needs a different check: rather than comparing those address-dependent bytes directly, the team checked the referenced symbol and offset. The process also checked data and types (Heumann’s technical account).
A passing match was recorded for automated continuous-integration checks, which could flag later regressions. The test therefore ties its strongest result to specific functions that pass the comparison.
Why a function may not match byte for byte
Heumann listed several reasons compiled functions can differ at the byte level, including register choices, inlining, calling conventions, compiler-output variation and identical COMDAT folding. A mismatch can therefore occur even when the intended behavior is equivalent; it does not, on its own, show that a function behaves differently.
The project’s early work offered a practical example of why appearance is a weak correctness check. Heumann said the first four weeks produced readable code and a game that could launch and load maps, but the work contained semantic errors in function signatures, types, structure layouts and logic. He said restarting took less time than salvaging it.
The project’s reported status
On September 30, 2026, Heumann reported that 17 agents were working in parallel and that the game was playable (his X post). In his October 9 account, he said the reconstructed code would remain private and be used for his own needs (Heumann’s account).