The Age of Decompiled Games
Matching a decompiled game back to its original bytes used to be a multi-year labor of love. It is now a weekend project with an agent swarm. That changes what a game is, who owns it, and where the money ends up — so it is worth understanding what actually happened rather than just nodding at the demos.
A game is three circles, and all three just emptied
Strip any game down and you find three things:
- Code. The engine, the rules, the physics, the netcode. This used to be the expensive part. It is now the part a coding agent writes, reads out of someone else's compiled binary, and test-drives by faking controller and keyboard input while it watches state.
- Assets. Sprites, models, animations, sound, music. Image and video models produce these in seconds now. A mod no longer needs an art team.
- Distribution. Getting it in front of players. WASM and WebGPU mean a finished game can be a link. The store, the console, the launcher and the 30% cut all stop being the bottleneck.
When all three circles approach zero cost, you get an explosion in what gets made. That is the whole story. Everything else — the decompilations, the ports, the browser tabs, the crossovers — is downstream of it.
What a matching decompile actually proves
A studio ships a compiled binary, not source. Compiling is one-way: human-readable C becomes millions of instructions your CPU understands and your eyes do not. The gold standard for reversing it is a matching decompile: rewrite the game in C, function by function, until your build recompiles to the same bytes as the original. Byte for byte.
That is a much stronger claim than "we made something that looks like it." A matching build is proof you understood the original exactly — and it is automatically verifiable, thousands of times a day, by anyone with a compiler. Which is precisely the kind of task agents are good at.
The timeline did not move gradually
| Project | Matching effort |
|---|---|
| Ocarina of Time | ~20 months, dozens of contributors |
| Perfect Dark | ~37 months, essentially one person |
| Paper Mario | ~49 months |
| Majora’s Mask | ~74 months, 92 contributors |
| Super Smash Bros. Melee | started 2020, hit 100% in 2026, accelerated hard at the end |
| LSD: Dream Emulator (PS1) | 1,446 functions matched in 32 days, C written entirely by agents |
| Chaos Overlords (1996) | decompiled and ported to modern macOS in 48 minutes |
| Call of Duty: Modern Warfare 2 (2009) | ~70% of 16,000 functions matched in about two months with a parallel agent fleet |
The honest read on those numbers: they are reports from project leads, not audited benchmarks, and the percentage-based ones say nothing about whether the remaining functions are the easy 30% or the horrible ones. But the order of magnitude shift is not in dispute. A Snowboard Kids 2 decomp lead wrote in late 2025 that matching decompilation was nowhere near viable for vibe coding. He finished in May.
Four reasons it flipped at once
- There is an answer key. The bytes either match or they do not. A verifiable reward signal is the single most important input to automated search, and this task has a perfect one.
- Agents can grind. They can hold a plan for hours, drive Ghidra, a compiler, a debugger and the game itself, and fan the tedious parts out to cheaper models.
- Agents can play. Faking inputs and diffing state is how you regression-test a port or a mod with no human in the loop. This is the piece most people underrate.
- It is cheap. Reported figures for a large multi-agent decompile effort land around a few hundred euros of tokens for the month. Assets cost seconds, not sprints.
Mods were always the genre pipeline
None of this is new as a practice — modding is changing a game you own, and it has been the most productive research lab in the industry for decades:
- Counter-Strike was a Half-Life mod. Valve hired the team. CS2 peaked above 1.8M concurrent players.
- DotA was a Warcraft III custom map, and it produced Dota 2 and League of Legends.
- DayZ and PUBG were Arma mods; PUBG led directly to Fortnite.
- Dota Auto Chess shipped as a Dota 2 custom game in early 2019. Riot shipped Teamfight Tactics that June.
So when people say code and assets just got cheap, the honest prediction is not "the AAA dies." It is "we are about to get a thousand times more experiments running, and a few of them are the next Counter-Strike." Studios that shipped SDKs and bought mod platforms cashed that in. Studios that sent takedown notices did not.
The IP question, honestly
The precedent is older than anyone assumes
Copyright was a 1710 British statute: 14 years, renewable once if the author was alive. The United States copied it in 1790 and then spent a century being the pirate: until 1891, American law treated foreign authors as fair game, and Dickens toured the country in 1842 begging for protection he did not get. The US only joined the Berne Convention in 1989 — after building Hollywood and Silicon Valley, and becoming the loudest advocate for the rules it had spent a century dodging.
China ran the same arc, faster. A console ban from 2000 to 2015 pushed a whole generation onto PCs, where copies were trivial; the industry answer was not better protection but a business model pirates could not copy. Shanda licensed a game, gave it away free, and charged for play time. Free-to-play with in-game items followed, and that model now runs most of mobile and a large share of console and PC revenue.
The pattern is consistent enough to be a rule: every market is permissive until it has something of its own worth protecting, and then it gets strict fast.
What the law currently says
Reverse engineering for interoperability has had friendly precedent for three decades in the US — Sega v. Accolade (1992) and Sony v. Connectix (2000) both treated taking a game apart to make compatible work as fair use. Shipping the result is where it gets contested. Nintendo shut down Yuzu. Take-Two pursued the GTA III decompilers. At the same time Valve hired the Counter-Strike modders, Rockstar bought the GTA roleplay platform, Re-Logic co-publishes its own loader on Steam, and Mojang has been steadily de-obfuscating Java Edition.
This matters for you personally: a decompiled game is not source code you own. Matching it byte for byte is a technical achievement, not a license. If you want to ship something, use it as a learning reference and a technical target, not as a codebase you paste into a product you intend to sell.
Where the value goes
If anyone can rebuild a game from its binary in a weekend, code stops working as a moat. What does not stop working is the thing players actually attach to: the world, the characters, the feel, the community around it. The likelely outcome is not that creators stop mattering — it is that the original world gets remixed a thousand ways and the strongest ones pull people back to the source.
The Napster problem, again
Napster peaked around 26M users in 2000. The labels won in court and still lost the decade: global recorded music went from roughly $22B in 1999 to roughly $13B in 2014. What fixed it was not litigation. It was being easier than piracy and paying the people who made the thing.
Gaming looks structurally similar right now — a maturing industry with rising costs, consolidated distribution, and creators absorbing the damage while the tools to remix everything went on sale. If the pattern holds, the winners are the ones who make remixing easier and legal, and pay original creators when their worlds get used.
What to actually do
- Learn the tools, not just the output. A disassembler, a C compiler and a debugger will teach you more about a game than a hundred tutorials. The agents do not replace that; they raise the ceiling on what you can check.
- Ship mods on games you own. The fastest legal win in this whole space is a good mod on a game in your library.
- Learn one engine deeply. The moat is not the code, it is taste plus a shipped catalogue.
- Keep your own IP legible. Worlds, characters, names and art are the assets that survive this. Keep provenance on everything you make.
- Watch the browser. If your game can run in a tab, your distribution problem is mostly solved.