Claude Fable 5 / AIエージェント / レガシーコード
Claude Fable 5が2003年のゲームをiOSへネイティブ移植、初ビルドまで40分──レガシーC++コードの限界に挑む
Google DeepMindでAI Studioのプロダクト&デザインを率いるAmmaar Reshi氏が、Claude Fable 5を使って2003年のRTSゲーム「Command & Conquer: Generals Zero Hour」をiPhone/iPadへネイティブ移植した。初回ビルド成功まで約40分。レガシーC++コード、DirectX 8グラフィックス、iOSサンドボックスという三重の難関をAIエージェントが突破した初の公開事例として注目を集めている。
40分で初ビルド、2日間のデバッグ
Reshi氏は2026年7月5日にXへ投稿。「Fable 5を使ってCommand & Conquer: Generals Zero HourをiPhoneとiPadへ移植した。2003年の実際のエンジンをARM64向けにネイティブコンパイルしたもので、エミュレータは使っていない」と報告した。
初回ビルドが成功するまでの時間は約40分。その後2日間をかけてデバッグを重ね、Claude Maxのクォータを使い切った。ポートはキャンペーン、スカーミッシュ、Generals Challengeのすべてのモードを含み、タップによるユニット選択、ドラッグボックス選択、長押し解除、2本指スクロール、ピンチズームといったタッチコントロールも実装済みだ。
プロジェクトはGitHubで全ソースコードを公開済み(ゲームデータ除く)。プレイにはSteamで購入したゲームコピーが必要。また、iOS上でのビルドにはXcode、xcodegen、Apple開発者アカウントが必要で、一般向けアプリリリースには至っていない。
EAのソース公開とコミュニティフォークが起点
移植が成立した背景には、Electronic Artsが2025年2月27日にGPL v3でCommand & Conquer: GeneralsとZero Hourのソースコードを公開したことがある。ただしEA公式リポジトリは読み取り専用アーカイブで、Visual Studio 6.0依存のためモダン環境での再ビルドは困難。
Reshi氏はEA公式ソースではなく、コミュニティフォーク「GeneralsX(fbraz3)」を出発点に選んだ。GeneralsXはすでにmacOS ARM64対応が済んでおり、SDL3・DXVK・MoltenVK・OpenAL・FFmpegが統合されていた。Reshi氏は「EAの生ソースから始めていれば数か月かかっていた」と記録している。
DirectX 8からMetalまで5層の変換スタック
2003年のゲームがDirectX 8で描画する一方、AppleのグラフィックスAPIはMetalのみ。この間を橋渡しするため、以下の5層の変換スタックが必要となった:
- DirectX 8コール → DXVK → Vulkan → MoltenVK → Metal → iOSグラフィックス
加えて、クロスコンパイル、iOSサンドボックス対応、アプリライフサイクル処理、開発者署名、ゲームアセットレイアウト、DPIミスマッチ、フォントフォールバック、OpenALストリーミングバグ、ジェスチャー状態の問題など、多数の障害を解決する必要があった。
Opus 4.8が止まり、Fable 5が走り切った
特筆すべきは、Anthropicの前モデルOpus 4.8は途中で失敗し、Fable 5への切り替えによってタスクが完了した点だ。Reshi氏はGoogle DeepMindに在籍しながら競合製品を使った理由を「AIの分野を愛し、競合を尊重しながら、自分の仕事に完全に集中することはできる。これは長いゲームだ」と述べている。
現時点の既知の限界として、長時間のiPadセッションでメモリ使用量が3GB超に達するとiOSに強制終了される。マルチプレイヤーは浮動小数点決定論の問題で機能しない。それでも、レガシーコード移行というAIエージェントの「より難しいクラス」の課題に挑んだ事例として、今後の展開が注目される。
本記事の情報源
本記事はXenoSpectrumの記事「Claude Fable 5が2003年のゲームをiOSへネイティブ移植、初ビルドまで40分」をもとにcodexguide.jpが編集・要約したものです。


