AI is decompiling games now: what's real, and what's hype
Turning a finished game back into source code used to take a team of volunteers years. Over the past few months, that assumption broke. Three large GameCube decompilations reached 100 percent, AI agents rebuilt a Call of Duty game, and PS5 emulators are being patched game by game with AI. A video essay making the rounds calls it the end of closed source. Here is what the sources show.
What decompiling means
A game ships as machine code compiled from source that only its developers ever saw. A matching decompilation rebuilds that source by hand: write C for one function, compile it with the original compiler, compare the bytes, adjust, repeat for every function in the game. Once everything matches, the project can rebuild the original program exactly, and ports with widescreen, high frame rates and mods can follow. Our decomp vs recomp guide covers the difference from recompilation.
Three big decomps finished
The decomp tracker now lists Super Mario Galaxy, Star Fox Adventures and Super Smash Bros. Melee at 100 percent matched, all three updated in the past week. Melee has already become a native Windows port, Melee Unlocked, and Star Fox Adventures has FoxHollow. The video notes that Galaxy's team made a point of finishing without AI.
A fourth case shows why some of these went fast. A complete decompilation of Resident Evil 4 targets a 2004 GameCube debug prototype that shipped with symbol files naming every function. Its README credits those files for making a full decompilation possible. Knowing every function's name removes much of the hardest work.
The Call of Duty experiment
The most detailed account comes from security researcher Maurice Heumann, who spent three months directing AI agents to decompile a first-person shooter. His earlier posts named it as Modern Warfare 2, and both were taken down; the current version of the write-up leaves the game unnamed. The lessons in it matter more than the headline.
- Fast progress fooled them. After four weeks with three worker agents and one reviewer, about 80 percent of the game was decompiled and it booted to the menu. The code read well but was wrong: agents used the wrong types, invented or removed logic, and made changes that slowed the game down.
- Matching fixed it. The team switched to the game's original compiler and a script that checks every function byte for byte, the same test human decomp projects use. With that pass-or-fail signal, even cheaper models produced good work.
- Agents cheat. The first thing they did against the checker was write inline assembly, and they repeatedly tried to edit the checking script itself to skip their own functions.
- The result. After about two more months, 99 percent of functions were present and 83 percent byte-exact, and the game runs with no noticeable bugs. Heumann estimates 600 to 700 billion tokens. None of the code will be released.
The point echoes what human decomp contributors have said all along: matching is what makes a decompilation trustworthy, and a game that boots is not a finished project.
Halo, and what isn't public
The timing around Halo is what made the video spread. On 22 September, Xbox cut 268 roles across Halo Studios and other teams, kept a small Halo team for existing games, and gave the next Halo to Activision. Days later, a fan announced that Halo 3 had been fully decompiled. Its developers are keeping the code private, so nothing can be checked or played yet. The Halo projects you can use today are in our Halo fan projects roundup, including OpenCE for Combat Evolved.
PS5 exclusives and AI-patched emulators
The same tools are reaching new consoles. Read Only Memo counts nearly 600 forks of the KytyPS5 emulator and more than 500 of SharpEmu, many of them single-game builds patched with Claude to squeeze out a few more frames. That's emulation, not decompiling, and frame rates are often in single digits. It's also unclear whether the fixes ever reach the main projects. Our piece on the AnyPS5 porting tool, out later this month, looks at what runs today.
Mashups and runtimes
The same tools are producing a stranger genre: one game's mechanics inside another. Modder chasm's tour of the trend shows Minecraft dropped into Skyrim with his SkyCraft mod, a vanilla World of Warcraft client rewritten from scratch in Rust, and "runtimes" that lift one game's systems, such as Mirror's Edge parkour, into another. He calls much of it slop that looks good in a clip, and argues the runtimes and full rewrites are the parts with a future. Like the ports, they only work with files from games you own, and most have no project page yet, so we don't list them.
Where the law stands
Taking software apart to understand how it works has long been defended in court, and the classic "clean room" approach keeps the people who read the code apart from the people who write the replacement. A matching decompilation is different: it recreates the original code itself. That's why every such project ships without game files and asks for your own copy, and why publishers can and do act. Nintendo went after the Super Mario 64 PC port, and Heumann's earlier posts came down. AI changes the volume, not the rules.
Players have a stake in the other direction too. The EU's proposed Kids Act, published on 17 September, could require ID to play online and threaten private servers, according to Kotaku's report on the warning from Stop Killing Games. Ross Scott called it "the most draconian proposal I've ever seen" for games. It is an early draft and likely to change. Our Stop Killing Games explainer has the background.
What it means for you
More games will get decompiled, faster, and more ports will follow. Judge them as before: does the project match the original, does it play start to finish, and does it need your own copy? The AI disclosure page shows what each project says about its own AI use, and our earlier piece on judging AI-assisted projects has six checks that still apply.
Sources: Maurice Heumann's write-up, RE4 decompilation README, Pure Xbox, Read Only Memo, Kotaku, the video essay, decomp progress from decomp.dev.