In 1993, engineering student Rabah Shihab wrote Babylonian Twins on an Amiga 500 in Baghdad: 512 KB of RAM, no hard drive, power a few hours a day, pure 68000 assembly. It was the first commercial game made in Iraq, but Commodore's collapse and sanctions shelved it. A hand-written 2010 iOS port, about 34,000 lines of C++, later passed two million downloads.
--level=<name> load a level directly
--pose=<spec> put the twins at exact positions
--drive=<spec> press buttons on a script, frame by frame
--probe dump switch / gate / door / key state
--screenshot=<path> render a frame and quitThis year he ran a controlled experiment with Claude Fable 5 in Claude Code, which had a terminal and filesystem access. Step one: move the 2010 C++ engine into Godot 4. Timestamps show 21 minutes from empty project to a playable character, and by 02:15 the game exported to macOS, iOS and Android. Step two: port the original 72,758 lines of 68000 assembly across 26 files at the Amiga's 50 Hz. Step three: embed the 1993 game inside the modern one as a second launch option. All three worked; step three took one evening, 21:58 to 23:43.
Before porting, the model made the 1993 sources assemble again with vasm on Apple Silicon until output matched the shipped binaries byte-identically. That took fifteen minutes from import to first matching rebuild. It wrote a preprocessing pass bridging five dialect differences between ASM-One and vasm, and fixed a subtle org bug where a ds.b 800 in a rewound block shifted everything, copper list included, by 944 bytes. A remaining 108-byte mismatch led it to conclude the shipped disks were a memory snapshot saved after the game had run: the code writes those variables before it reads them, so a fresh assembly's zeros are harmless. Shihab admits he never verified that claim himself.
Format recovery worked backwards from the code that reads the bytes. The model decoded the headerless tile maps for all five levels in one pass, re-rendered them, and matched his 2020 full-level captures with zero differing pixels after accounting for two copper effects: the sky gradient and the water colour cycle. It recovered the 16-bit map cell layout (6 property bits, 1 bank bit, 8 picture bits), the per-screen object tables, and the fact that doors are stamped onto the map at runtime by code, never painted in the editor. That last point corrected Shihab's own 33-year-old belief that doors were map data. When sprite sheet math was ambiguous (frames times width times height times 2 times 5 could mean double-width frames or two facing rows), it flagged the ambiguity and asked instead of guessing.
It was also wrong in instructive ways. A guard's shove check lost its upper bound, so a soldier thirteen tiles above the player dealt damage through solid rock. Rendering a hidden second tile layer faithfully opened every secret passage from the start. A door list "p1,p2,p3,p4" was parsed as one key, so the tutorial exit never opened. A stereo/mono mistake cut every sound in half. The costliest bug came from a feature Shihab himself requested, long-range twin swapping, which corrupted statues; the investigation revealed the original proximity check was never a distance limit but protection against two statue tiles overlapping.
The model then did release work: screenshots at five pixel sizes in eleven languages, store text, icons, and Steamworks form-filling via browser automation, with Shihab handling logins and submit buttons. It scraped fifteen years of Google Play reviews and surfaced a one-star report, "cant get through door on level one", which turned out to be a real defect: the walk-through-the-exit prompt existed in only two of eighteen levels. The fix shipped as 2.0.3. A separate report that the trampoline felt too high traced back not to physics but to input semantics: a 2010 tvOS workaround made a held jump button read as released, and reproducing that accident is what the phone game had trained his hands to expect.
The original 1993 game is now released free on itch.io after 33 years, playable in FS-UAE, WinUAE or on real hardware. Babylonian Twins: Definitive Edition is live on iOS and Android, with a free Steam demo and a full release this fall that includes the 1993 game as a launch option. The shipped product contains no Amiga code: data was decoded once into PNG, WAV and JSON, and behaviour was rewritten in GDScript. Shihab's framing is sober: he asked, played, and decided, and the AI moved faster than he could follow, including in the places where it was wrong.




Comments
No comments yet — be the first.
Open the discussion
No account or password needed — just enter your e-mail and we’ll send you a one-time sign-in link. First time here? You’re set up automatically.
Your rating will be applied automatically after you sign in.
Check your inbox
We’ve sent a sign-in link to …. Open it on this device — this tab will sign you in automatically.
Nothing arrived? Check your spam folder — and mark the mail as "Not spam" so it lands in your inbox next time.