2003年のフルスケールのリアルタイムストラテジーゲームがiPhone上でネイティブに動作する様子を見るのは、最高に「ありえない」感覚だ。戦車が砂漠のマップを駆け抜け、将軍たちが命令を下す。元のコードがコンパイルされた当時には存在しなかったタッチスクリーン上に、補給線が伸びていく。しかし、それが今、目の前で起きているのだ。Google AI Studioでプロダクトおよびデザインを率いるAmmaar Reshi氏は、最近『Command & Conquer: Generals Zero Hour』を手に取り、テレビドラマのシーズンを全話一気見するのとほぼ同じ時間で、ネイティブなiOS版を構築した。このプロジェクトはエミュレーションのトリックに頼っていない。Apple silicon上で動作し、Metalを使用しており、どれほどのレガシーソフトウェアが同じ道を辿れるのかという、重大な問いを投げかけている。
実際に構築されたもの
これはラッパーではない。20年前のWindows PCを装うエミュレータの中で動いているわけでもない。ゲームはARM64向けにコンパイルされ、AppleのMetalグラフィックスAPIと直接通信する。この違いは重要だ。エミュレーションはフレームレートを犠牲にし、バッテリーを消耗させる。抽象化の上にさらに抽象化を重ねることで、モバイルチップは爆発を描画する代わりに、古い命令を翻訳することにエネルギーの大部分を費やすことになる。Reshi氏のポートは、それらすべてを回避している。
オリジナルのゲームは、iPhoneが登場する数年前にリリースされたMicrosoftのグラフィックスパイプラインであるDirectX 8で動作していた。それらのレンダリングコマンドをMetalで動作させるのは、単なる検索・置換作業ではない。DirectX 8とMetalでは、メモリの構成方法もシェーダーの扱い方も異なる。想定されているハードウェアアーキテクチャも違う。Reshi氏は、ゲームのグラフィックスを中間的な翻訳の連鎖に通し、視覚的なロジックを壊すことなく、レガシーなDirectXの呼び出しをMetalが理解できる形式へと変換しなければならなかった。その結果、キャンペーン、スキミッシュ、ジェネラルズ・チャレンジの全モードが、インターフェースにマッピングされたカスタムタッチコントロールとともに動作する。親指だけで基地を建設し、スカッドストームを繰り出すことができるのだ。
限界はある。iPadでの長時間のプレイセッションでは、メモリ圧迫が急増した際にアプリがクラッシュすることがある。初期のネイティブポートには、しばしばこのような「傷跡」が残るものだ。これは、数時間のAI支援によるデバッグでは、20年分に及ぶアセット読み込みパターンを完全に最適化することはできないという、現実を突きつけている。それでも、コアエンジンは自立して機能している。
ワークフロー:Claude Code、Fable 5、そして40分間
速さは目玉だが、現役の開発者が注目すべきは、その背後にあるメカニズムだ。Reshi氏はAnthropicのClaude Codeを、Fable 5というツールと併用した。最初のビルドには約40分しかかからなかった。デバッグと微調整に数時間を追加で費やしたが、それがプロジェクトの全工程である。
これが何を置き換えたかを考えてみてほしい。この規模の手動ポートであれば、通常はプログラマーが元のビルドシステムをマッピングするだけで数日間を費やすことから始まる。次にレンダラーの書き換え、シェーダーの翻訳、ARM64向けのアーキテクチャ調整が続く。そして入力処理、オーディオ、メモリ管理、そしてレガシーコードを新しいプラットフォームに対して極めて扱いにくくさせている「無数の細かな問題(thousand paper cuts)」への対処だ。こうしたプロセスには数ヶ月が消えていく。Reshi氏は、エージェント型のAIツールに力任せの翻訳作業を任せ、自身は舵取りに徹することで、それを午後のひとときへと凝縮させたのだ。
その激しさは、請求額にも表れていた。Reshi氏は2日間の作業でClaude Maxのクォータをすべて使い果たした。長時間のコーディングセッション中にAPIクレジットが消えていくのを眺めたことがある人なら、その感覚がわかるだろう。ここでの違いは、その消費によって、単なる実験的なスクリプトの集まりではなく、製品レベルのネイティブポートが生み出されたことだ。
また、注目に値するプロフェッショナルな側面もある。Reshi氏はGoogle DeepMindに勤務している。Google自身のモデルを使うこともできたはずだ。しかし、彼はそうしなかった。タスクに適していたため、AnthropicのClaudeを選んだのだ。プロジェクトに関する彼自身のコメントでは、最高のソリューションを構築することに集中しながら、競合他社を尊重することもできることが明確に示されている。そのような姿勢が広まりつつある。この分野のトップレベルのエンジニアたちは、「モデル・アグノスティック(モデルに依存しない)」になりつつある。彼らはAIツールを、プログラミング言語やクラウドプロバイダーと同じように扱っている。会社のバッジに刻まれたものを選ぶのではなく、仕事に最適なものを選ぶのだ。