What reversing, modernising old games tells us about the economic impact of AI
TL;DR Highlight
An agent harness ported a 1989 game to the web in about a week with under 4 hours of human attention.
Who Should Read
Developers who want to hand long, complex tasks to coding agents.
Core Mechanics
- A local model ported a game in a week
- The author had Qwen-3.8-Flash-Next reverse engineer War of the Lance (1989) and port it to browsers.
- It took about a week because VRAM limits allowed only a single lane.
- The result is a faithful reproduction of rendering and rules in Three.js.
- Human input was under 4 hours a week
- The author has a full-time job and spent under 4 hours of focused attention on the harness.
- They say they never touched an IDE, Blender, command line or source control.
- The harness enforced linting and quality on every run and locked behavior in with tests.
- The harness plays and QAs the game itself
- It runs the original in DOSBox-X and reads memory dumps and disassembly.
- It plays its own port via Playwright, checking DOM, memory and vision.
- It writes tests to prevent regressions.
- Models were split by role
- Local Qwen did reverse engineering and coding; Claude Fable 5.1 did 3D models and reviews.
Community Reactions
- Reverse engineering has a closed verification loop, one commenter argued
- Memory state lets the AI cheaply check whether it is getting closer to the original.
- Most software work has vague, shifting requirements with no such verification function.
- A game-porting professional said it is overblown
- Reversing is what these models seem best at, they said.
- Porting new games to weaker hardware and making new games is much harder, they said.
- Someone ported Prince of Persia to Swift with a DeepSeek harness
- They reported 3 hours and $3 in tokens for a playable game.
- The only guidance was one sentence: port the game exactly, rewrite the engine completely.
- A commenter pushed back on the 3D asset claims
- They gave Astra Max Blender access to model a Persona 5 style character.
- They said the result was nowhere near senior 3D artist level.
- One commenter used an x86-to-WASM JIT instead of rewriting
How to Apply
- Add test-enforcement rules to your harness today
- Write into your agent's instruction file that work isn't done until lint and tests pass.
- Forbid deleting tests created during the task to prevent regressions.
- Hand agents tasks you can verify
- Pick work like legacy porting where behavior can be compared to the original.
- Build automated checks such as output comparison or snapshot tests first.
- Write goals and non-goals in the project charter
- State the required accuracy level and drop excessive criteria like byte-accurate matching.
- Have the model collect and organize known material first as a starting point.
- Split model roles by cost and speed
- Give bulk mechanical transformations to a fast model.
- Give review and hard judgments to a frontier model.
Try It
# Paste into Claude Code (simplified version of the article's method: verification-loop harness rules)
Task: Port/refactor {{target}} to {{target environment}}.
Rules:
1. Before starting, research known material (docs, manuals, existing code) and organize it in RESEARCH.md.
2. Build automated tests comparing original and new behavior first.
3. Run lint and tests on every run; do not report done if they fail.
4. Never delete tests created during the work.
5. Byte-for-byte matching is not the goal. Behavioral match is.
When finished, write progress and remaining issues in PROGRESS.md.
Try next: ask it to build a mobile page for progress reports.Terminology
Related Papers
Same Simulation, Different Evidence: Where Retrieved Tool Output Costs LLM Agents Accuracy
Saving long tool output to files cut GPT-5.1 accuracy by 11.3 points; naming the authoritative file restored it.
Fake News, Real Crashes: Information Injection Attacks on LLM Financial Trading Agents
Fake headlines hijacked LLM trading agents 62% of the time versus 14% for prompt injection.
Harness Engineering 101: The LLM is the brain, the harness is the body
An agent is a loop managing a JSON array; 16 chapters build one from scratch
Harness2 by Google Research – Recursive Agent Harnessing
Recursively refining the harness with fixed model weights raised benchmark scores by up to 11.8 points.
Ousted Savannah police officer gave ICE agent husband access to Flock system
A police officer shared her Flock login with her ICE-agent husband; an audit found 983 searches and she was fired
Tmux and Claude Code: Sessions, Send-Keys, and the Ceiling
Running Claude Code agents in tmux works well, but limits appear around four agents.