概要
- 1993年、バグダッドでAmiga 500用ゲーム「Babylonian Twins」を開発
- 制裁下、資源も情報もほぼゼロの環境で純粋な68000アセンブリで制作
- 2023年、Claude Fable 5とGodot 4を使い、現代に移植・再構築
- オリジナルの挙動や感触を再現するための技術的工夫と検証
- 移植過程・AIの活用・オリジナルとの違い・感想を詳細に記録
バグダッド発、Amiga 500でのBabylonian Twins開発記
- 1993年、バグダッドでAmiga 500(512KB RAM、HDDなし、TV接続)を使用し開発
- 当時20代の工学学生として、純粋な68000アセンブリで全て手作業でコーディング
- Murtadha Salmanがアート、Mahir AlSalmanが音楽を担当
- 制裁下、インターネットや開発リソース皆無、Amiga Hardware Reference Manual一冊のみ所持
- 電気は一日数時間のみ、50°Cの酷暑でフロッピーディスクドライブが三度故障
- ゲームはOSを一切利用せず、起動時に割り込みベクタを保存し、OS割り込みを停止
- ハードウェアレジスタを直接操作、コッパーリストやブリッターを駆使し描画・アニメ制御
- ジョイスティックやボタンも直接ハードウェアから読み取り
- OSはレベル切替時のみ復帰し、ファイル読み込み後再び停止
- イラク初の商業ゲームとして完成も、制裁とCommodore倒産で未発売状態が長期化
- 2008年、Amigaフォーラムで発見され、YouTube動画から作者に連絡が届く
- 2010年にiPhone向けにC++で手作業で移植、Apple・Googleで特集され200万DL突破
Claude Fable 5とGodot 4による現代移植
- 今回の移植はAI(Claude Fable 5)主導、私は方向性や感触の最終判断のみ担当
- ファイルフォーマット解析やアセンブリ読解、30年前のコード移植はAIが実施
- AIは端末・ファイルシステムにアクセスし、アセンブル・ビルド・テストまで自動化
- vasmでアセンブル、FS-UAEで実機動作確認、バイナリのdiffで完全一致を検証
- コマンドラインフラグで自動プレイやスクリーンショット取得も実装
- 移植前にバイナリ完全一致を目指し、オリジナルの状態を再現
- ASM-Oneとvasmの違い(org命令やファイル名短縮等)をAIが自動で吸収・変換
- オリジナルバイナリとの108バイトの差異は「実行後メモリ保存」の仕様によるもの
C++からGodotへの移植工程
- 2010年版C++(34,000行)をGodot 4に移植する「安全な課題」から開始
- プロジェクト作成から21分でプレイ可能なキャラが動作
- 全エンティティ・メニュー・セーブ機能等も短時間で移植完了
- 細かな挙動調整(ジャンプアークや当たり判定)は数日かけて調整
- 息子と一緒にテストプレイ、親子の思い出に
- ゲームプレイ状態はタイル単位(1.0=48px)、更新は60Hz固定
- オリジナル(50Hz)と移植版(60Hz)で手調整されたパラメータを維持
- Godot標準のCharacterBody2Dやmove_and_slide()は未使用
- オリジナルの手書き物理・当たり判定ルーチンをそのまま移植
68000アセンブリの再構築
- 72,758行・26ファイルのアセンブリを現代Mac上でvasmで再アセンブル
- ファイル名短縮やデータ切断などの問題もAIが自動修正
- アセンブル結果がオリジナルバイナリとbyte単位で一致するまで自動反復
- ASM-One独自仕様(org命令の逆方向移動等)もAIがプリプロセスで吸収
- バイナリの完全一致が以降の検証基準に
- オリジナルの「実行後メモリ保存」という特殊なバイナリ生成プロセス
- レベル・データフォーマットはAIがコードから逆解析し、仕様書なしでも再現
AIによる自動化と検証
- AIは以下の自動化を実装
- 全スクリプトのコンパイル・全レベルのビルドチェック
- コマンドラインフラグによる自動テストプレイ・状態ダンプ・スクリーンショット取得
- 移植後の「操作感」や「感触」だけは人間の目と手で最終確認
- 画像比較や「ゲームの気持ちよさ」評価は自動化せず、私自身が確認
Claude Fable 5の進化とLLMの実力
- 1年前のモデルではバイナリレベルマップ解析に複数回のヒントが必要
- Claude Fable 5では一発で解析成功、推論力の向上を実感
- Amigaアセンブリのような特殊ケースでもLLMの応用力が証明された
感想と今後
- 30年前に作った自作ゲームがAIと現代エンジンで蘇生
- AIの「変換力」と「自動化力」に驚き、手作業では気づかなかった検証まで自動化
- 親子でのテストプレイや、コミュニティとの再発見も大きな成果
- オリジナルゲームの無料公開を決定、質問も歓迎
補足・質問歓迎、オリジナルゲームは無料公開予定