1993年のAmigaゲームをLLMが68000アセンブリを読み解いてGodotへ移植
Porting my 1993 Amiga game to Godot, with an LLM reading the 68000 assembly

1993年にイラクのバグダッドでAmiga 500向けに開発されたゲーム『Babylonian Twins』。作者は、LLM(Claude Fable 5)にオリジナルの68000アセンブリ(72,758行)を解読させ、Godot 4への移植に成功した。わずか数時間で、34,000行のC++エンジンと、アセンブリで書かれたオリジナル版の両方をGodotに移植。さらに、レベルデータの解析も1回のパスで完了。著者は「AIが自分のゲームを理解する速さに驚いた」と語る。
「ファイル形式とアセンブリの解読はAIの仕事であり、30年前のコードをどうやって移植するかという判断もAIが下した。それは私が追いかけられるよりも速く進んだ。」
HNでの議論
125- gmerc
まったく新しい世界だ。ここ数ヶ月で私が最新のWebGL/WebGPUに移植したランダムなレトロゲーム:
- The Adventures of Robin Hood - Opus 4.7/Sonnet
- Syndicate - Sol/Luna 5.6/Opus ( https://this.os.isfine.org/blog/posts/modern-game-port-syndi... )
- Kaiser 2
- Populous Plus - Sol/Luna 5.6/Opus
- Dragon Strike - (Fable 5.1 ほぼ一発で成功)
- War of the Lance - Qwnen-3.7-27B-dense (途中で詰まり、最後は) Qwen-3.8-Flash-Next で完了
https://this.os.isfine.org/blog/posts/what-reverse-engineeri...
- Dungeon Keeper - 各種
- Red Baron - Opus 4.8, DeepSeek 4
- Test Drive 3 (Qwen-3.8-Flash Next, DeepSeek-4-Flash-exp, GLM-5.3-Flash)
- 進行中: Ultima 6 ... を3D化 (Fable, GLM-5.3) ( https://this.os.isfine.org/#ultima6-atlas )
ソースがそのまま使えるものもあれば (Kaiser)、完全リバースエンジニアリングのもの (Dragon Strike, Test Drive, WOTL)、利用可能なソースを組み合わせたもの (Syndicate, Populous) など様々だ。
発見の一部はこちらに文書化されている: https://this.os.isfine.org/blog/
- mattjoyce
数週間前、ZX81ゲームのメモリダンプをダウンロードして、ClaudeにGoで作るよう依頼したんだ。
完璧にやってのけた。バイナリをBASICに戻して、それをGoに変換した。私の考えでは、そのゲームはLLMのトレーニングデータに含まれていないだろうから、良いベンチマークになると思った。
パーソナルコンピューティングの幕開けに立ち会い、そしてAIがその初期の体験を考古学として扱う転換点に立ち会うなんて、なんてクレイジーなことだろう。
- cesaref
彼がゲームが50Hzで動作していると言っていたのに気づいた。それはAmigaがPALで動作している場合には正しいが、もし米国仕様のマシンならNTSCで動作するので60Hzになる。
当時、Amigaゲームのほとんどはヨーロッパで作られていたので、50Hzのリフレッシュレートに合わせて調整されており、こちらでは「普通に」動作した。60Hzでは違和感があり、逆に米国製ゲームは遅くて物足りなく感じることがあった。
このようにマシンをモニターのリフレッシュレートに固定することは、呪いでもあり祝福でもあった。これにより、各地域の標準テレビを駆動できた(画像は少しぼやけていたが)、そして本気を出せば専用モニターも使えた。これにより価格が下がり、多くの子供たちが親を説得して買ってもらえたのだ:)。しかし、高解像度モードはうまく機能しなかったので、多くのソフトが320x256解像度をターゲットにしていた。
意外な利点としては、AmigaがTV信号にゲンロックでき、ビデオフィードにオーバーレイできたことで、小さなテレビ局や愛好家には他では絶対に手に入らなかった、多くの興味深く安価なグラフィックオーバーレイ機能が実現したことだ。
あの頃は楽しかった。
- btbuildem
> Amigaハードウェアリファレンスマニュアルのコピー1冊
別名「The Book」...ああ、懐かしい埃っぽい思い出が蘇る。
Babylonian Twinsは「Gods: Into the Wonderful」の雰囲気がとても強いね。あのゲームがあなたのインスピレーションの源だったのかな?
- dannyobrien
93年にアセンブリでこのゲームを作ったことに、ただただ畏敬の念を抱いていると言いたい。同じ頃、私はAtari STでゲームを書こうとしていたが、特にインターネット以前でドキュメントが乏しかった時代に、そのプロジェクトへの献身は並外れている。ゲームのデバッグ中に何かエピソードはある? 私はいつも、最初にうまくいくと確信して手書きしたコードの後で、デバッグが最も意気消沈する部分だと感じていた。
- appstorelottery
「Claude Codeで動作するClaude Fable 5」を使っている人はいますか? これを行うのに、どのような計画やコストが関与したのか推測できますか?(C++とアセンブリの両方の移植に約5時間の連続動作が必要だったようで、出荷/マーケティング機能にはどれだけの計算量が使われたか不明です)。よろしくお願いします(米国ベースのモデルを試そうと考えていますが、今はDeepSeek Flashなどを使って節約しています)。
- Gamemaster1379
素晴らしいプロジェクトだ。私は昨年10月から、再利用可能なコンソール移植フレームワークの実験をしている。Opus 4.6でNES 6502に初めて成功した。
それ以来、SNES、GBA、ニンテンドーDS、プレイステーション(最も人気)、そして68kも使っているセガジェネシス向けの静的/ネイティブエコシステムを構築してきた。
https://github.com/mstan/segagenesisrecomp
68kデコーダーを別のリポジトリに抽出したのは、フィリップスCD-iにも再利用したかったからだ。
セガではソニック1、2、3&Kをやっている。ロケットナイトアドベンチャーズも。まだ初期段階だが。
CD-iではBIOSをやっている。まだゲームをエンドツーエンドで動かせてはいない。
- robviren
いくつかの点でつまずいたのを見られて、実は嬉しい。いつも、どれだけ多くのことを正しくやるのかに驚かされる。コンピュータ史やゲームのあまり知られていない部分は、エージェントにとって非常に難しい領域であってほしいとずっと思っていた。
過去に物事を実装するために行われた、非標準的でハッキーで難解なことの数々は、今日触れるには不可能なほど複雑に感じられる。多くの人が行き当たりばったりで作り、誰も予想しなかった方法でハードウェアを使った。ティム・フォリンがSNESのPlockのオーディオを担当し、宮本氏がそのオーディオが本物だと驚いたことを思い出す。エージェントがコードがどのように構築されたかについての洞察を通じて、過去の開発について何を学べるかを見るのはとても興味深いだろう。私はこのようなものが大好きで、詳細な投稿に感謝している。