Agents In Use
What’s new todayLast update
108 use cases added today

How to use Claude to port an Amiga game to Godot

Claude Code rebuilt Babylonian Twins in Godot from C++ and 68000 assembly, added scripted controls and headless checks, and relied on the creator for playtesting.

OUR ADAPTATION

Suggested prompt

Suggested prompt written by Agents In Use, not the source author. Replace bracketed inputs and review tool permissions first.

Port [legacy game] to [Godot version]. Begin with [existing engine], then rebuild [original assembly version] at [original frame rate], and integrate both. Add scripted controls and headless checks, compare assembled binaries, and provide screenshots for human playtesting.

Evidence at a glance

Sourced account
Source author
rabahs
Original account
Read the source ↗
Published
Source link checked
Reported result
The author reports that the C++ port, the assembly-based rebuild, and integration of the original into the modern game all worked, while acknowledging missed mistakes.
Human involvement
The author played nightly, reviewed screenshots, and flagged problems; some mistakes went unnoticed for weeks.

A linked account supports attribution. It does not mean we independently reproduced its result.

Report an issue with this caseOpen correction email

Opens your email app with the case link included. Nothing is sent automatically.

How the agent did it

  1. Scaffold the Godot 4 project, sync assets, and create a TMX level pipeline.
  2. Make both twins playable with collision, physics, camera, and switching.
  3. Port all 38 entity types into the Godot project.

Rabah Shihab used Claude Code to rebuild Babylonian Twins in Godot from two earlier implementations. His staged plan began with the 2010 C++ engine, continued with the original 68000 assembly version at the Amiga’s 50 Hz, and finished by putting the original game inside the modern version. He reports that all three stages worked.

Claude Code had access to a terminal and the filesystem, allowing it to edit files, run the assembler, build the game, and launch it. It reconstructed the original binaries with vasm and compared the output. For the Amiga build, it also used FS-UAE to boot the result.

The agent added command-line controls for loading levels, positioning the twins, driving scripted button presses, inspecting game state, and taking screenshots. It also added headless checks that compiled every script and built every level. These checks gave it ways to examine behavior before showing results to Shihab.

Human testing remained important. Shihab played nightly, identified what felt wrong, and made decisions requiring knowledge of the original game. He reviewed screenshots himself and says some mistakes escaped notice for weeks.

Who it's for: Game developers modernizing older codebases who can combine automated checks with informed playtesting.

Prompt
Suggested prompt (written by Agents In Use, not the author's)

Source: Blog · rabahs

Frequently asked questions

How did Claude check the original Amiga build?

It ran vasm to assemble the original binaries and diffed the output. It also used FS-UAE to boot the assembled result.

What still required human review?

The author looked at screenshots and played the result nightly. There was no automated image comparison for the modern port and no check for whether the game felt right.

More details

Remaining steps

  1. Implement menus, map, story, save, and game flows.
  2. Rebuild the original assembly game in Godot and include it inside the modern game.

About this account

Claude Code edited files, ran builds, added testing controls, and used the Amiga toolchain through terminal access.

Platform: Blog. Attribution: https://babyloniantwins.com/blog/porting-a-1993-amiga-game-to-godot/. Prompt: Suggested (written by Agents In Use, not the author's). Sourced by the Agents In Use pipeline.

Credit: rabahs on Blog

Source published

Added to Agents In Use

Source checked

Tools and topics

Claude Code · Godot 4 · vasm · FS-UAE

Game porting · Godot · Legacy code

Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.