Porting my 1993 Amiga game to Godot, with an LLM reading the 68000 assembly

325 points · 110 comments on HN · read original →

Points and comments are a snapshot, not live.

Porting a 1993 Amiga 68000 assembly game to Godot using LLM assistance.

The author used Claude Code to port his 1993 Amiga game Babylonian Twins (72,758 lines of 68000 assembly) to Godot 4. The LLM rebuilt the original 1993 binaries byte-identically, reverse-engineered level formats from code, and recreated the game in Godot. The port preserved original physics by keeping separate tick rates (50Hz for Amiga, 60Hz for modern) and used raw Node2D instead of Godot's CharacterBody2D to avoid altering feel. The process uncovered a 108-byte discrepancy in shipped binaries traced to ASM-One saving from memory after the game had run, not from clean assembly output.

The same approach also ported the author's 34,000-line C++ 2010 engine to Godot in a single evening, with 21 minutes to a playable character.

What commenters are saying

Commenters expressed admiration for the technical depth and the historical context of game development under sanctions in 1990s Iraq. Several noted the value of having Claude export an engineering guide for similar ports. There was debate about AI-generated prose in the article, with some finding it off-putting and others forgiving given the author's non-native English. One commenter questioned whether the human or the AI deserved credit for the work, given the AI's central role.