2003年のRTSが、iPhoneでネイティブに動く──コーディングエージェントが「移植」という地味な難所に踏み込んだ
グーグルの製品責任者が競合のClaude Codeを使い、2003年のRTSをiPhoneにネイティブ移植。コーディングエージェントが新規開発だけでなく「移植・近代化」という地味な難所に踏み込んだ事例を、実務の勘所と数字の読み方まで整理します。
グーグルの製品・デザイン責任者が、競合であるAnthropicのコーディングエージェント「Claude Code」を使い、2003年発売のリアルタイムストラテジー(RTS)『Command & Conquer: Generals — Zero Hour』を、エミュレータなしでiPhone・iPad・macOS上にネイティブ移植しました。7月5日に The Decoder などが報じたこの個人プロジェクトは、派手なゲーム移植の話にとどまりません。コーディングエージェントが、新規開発だけでなく「古いコードを別の環境で動かす」という、地味だが手のかかる作業にまで実用の射程を広げつつあることを示す事例です。
手がけたのは「グーグルの中の人」、道具は競合のClaude
移植を行ったのは、Google AI Studio で製品・デザインを率いる Ammaar Reshi 氏です。自社が Gemini を持つ立場でありながら、Anthropic の Claude Code(モデルは Fable 5)を選んだ理由を問われ、同氏は「AIの世界を愛し、競合に敬意を払いながら、最良の答えを作ることに集中してよい」と答えています。ツール選択が所属より成果で決まりつつある、開発現場の空気がにじむ発言です。
何が「ネイティブ」で動いているのか
今回動いているのは、クラウド配信でもエミュレータでもなく、2003年当時のゲームエンジンをそのまま ARM64 向けにコンパイルしたものです。技術的な要点を整理します。
- 描画の変換経路: 当時の DirectX 8 を、DXVK → Vulkan → MoltenVK → Metal と多段変換して Apple のグラフィックスAPIに載せている。iOS では制限された
dlopenに対応するため DXVK を独自パッチでビルドし直している。 - タッチ操作: RTS向けに、タップ選択、ドラッグでの範囲選択、長押しで選択解除、二本指スクロール、ピンチでズームを新規実装。
- 対応範囲: キャンペーン、スカーミッシュ、Generals Challenge が動作。対応プラットフォームは Apple Silicon の macOS、iPhone、iPad。
重要なのは、これがゼロから書かれたわけではない点です。EA が GPL v3 でソースを公開し、TheSuperHackers の近代化、Fighter19 による Unix 移植、fbraz3 氏の GeneralsX(macOS/Linux 対応)というコミュニティによる長い積み重ねがあり、今回のプロジェクトはその GeneralsX をフォークして iOS/iPadOS 対応を足したものです。エンジンを非Windows環境で動かすという最も重い工程は、AIが数十分で片付けたわけではありません。
「人が指揮し、エージェントが手を動かす」分業の実際
プロジェクトのドキュメントは、これを「human + AI collaboration(人とAIの協働)」と明記しています。役割分担は明快でした。
- Claude Code が担当: C++ の実装、クロスビルド、実機でのデバッグといった、量が多く根気のいる作業。
- 人間が担当: 設計上の判断と、実機での動作確認・プレイテスト。
ドキュメントは「どちらか片方だけでは出荷できない(Neither half ships this alone)」と締めています。ここに、コーディングエージェントを実務に組み込むときの現実的な勘所があります。既存のオープンソース資産を土台にし、環境差の吸収やAPI変換といった「作業量は多いが方針は明確な」領域をエージェントに任せ、人はアーキテクチャの意思決定と検証に回る——という切り分けです。Reshi 氏は遭遇したバグと解決策を記録した作業ログと移植手順書(porting playbook)も GitHub で公開しており、一度きりの武勇伝ではなく、他者が再現・応用できる形に落としている点も実践的です。
ビジネスで効くのは「新規開発」より「移植・近代化」かもしれない
コーディングエージェントの話題は新規アプリの高速開発に寄りがちですが、企業システムで実際に重いのは、古い言語・古いフレームワーク・別プラットフォームへの移植や近代化です。今回の事例は、その領域——DirectX 8 世代の C++ を現代の Apple 環境へ載せ替える、という典型的に嫌がられる作業——でエージェントが戦力になり得ることを具体的に見せました。レガシー資産の塩漬けや、移植コストを理由に先送りしてきた案件に対し、「人が方針を握り、面倒な変換作業はエージェントに回す」進め方は、内製化やDXの現実的な一歩として検討に値します。
数字と話題性を、そのまま受け取らないために
一方で、鵜呑みにすると判断を誤る点もあります。批判的な視点も添えておきます。
- 「40分で最初のビルド」は全体像ではない: 最初のビルドは約40分でも、その後は二日にわたり数時間のデバッグが続いた。さらに前提として、エンジンを非Windowsで動かす最難関はコミュニティが長期間かけて解決済みだった。「AIがゼロから40分で移植した」わけではない。
- 安定性は発展途上: iPad では長時間プレイ中にメモリ消費が増え、クラッシュし得ると報告されている。実験的プロジェクトの段階である。
- 権利とアセットの扱い: リポジトリにゲームアセットは含まれず、動かすには自分が正規購入した Steam 版(セール時で約5ドル相当)のデータが必要。コードは GPL v3。EA や Anthropic 公式のプロジェクトではなく、あくまで個人による取り組みである。
- モデル選択の影響: 一部媒体は、汎用モデルを最高負荷設定で走らせても完遂できず、フロンティアモデル(Fable 5)で初めて仕上がったと伝えている。難度の高いエージェント作業では、どのモデルで走らせるかが成否を分ける余地がある点は留意したい。
それでも、2003年のPCゲームが手のひらの端末でネイティブに動くという結果は、コーディングエージェントの用途が「新しく作る」から「動かし続ける・別環境へ運ぶ」へ広がっていることを、分かりやすい形で突きつけています。派手さではなく、この地味な射程の拡大こそが、実務にとっての本題です。
参照: The Decoder / GitHub: ammaarreshi/Generals-Mac-iOS-iPad / Digital Trends / XDA Developers