世界を動かす技術を、日本語で。

「コマンド&コンカー ジェネラルズ」がFableを使用してmacOS、iPhone、iPadにネイティブ移植されました

2026年7月5日原文(github.com)

概要

  • Zero Hour がApple Silicon Mac、iPhone、iPadで ネイティブ動作 に対応
  • タッチ操作最適化 済み、キャンペーン・スカーミッシュ・Generals Challengeプレイ可能
  • DirectX 8 → DXVK → Vulkan → MoltenVK → Metal で描画、エミュレーション不要
  • fbraz3/GeneralsX ベース、iOS/iPadOS対応とエンジン修正を追加
  • ゲーム資産は 別途必要、Steam版などから取得

Zero Hour Apple Silicon/iOS/iPadOSネイティブ移植プロジェクト概要

  • Zero HourApple Silicon Mac、iPhone、iPad でネイティブ動作させるプロジェクト
  • キャンペーン、スカーミッシュ、Generals Challenge 各モードに対応
  • タッチ操作 (タップ選択、ドラッグボックス、長押し解除、2本指スクロール、ピンチズーム)をRTS向けに最適化
  • エミュレーション非使用、2003年エンジンを ARM64向けに再コンパイル
  • DirectX 8→DXVK→Vulkan→MoltenVK→Metal 変換による描画
  • EA公式GPL v3ソース (fbraz3/GeneralsX)をベースにiOS/iPadOS移植とエンジン修正を追加
  • 元READMEは upstream-mainブランチ に保存
  • ゲーム資産は同梱・配布なし、各自Steam等(セール時約$5)で用意

macOS版クイックスタート手順

  • 一度だけ必要な準備

    • ツールチェーン
      • xcode-select --install
      • brew install cmake ninja meson pkgconf
      • brew install --cask steamcmd
    • vcpkgのフルクローン
      • git clone https://github.com/microsoft/vcpkg ~/vcpkg && ~/vcpkg/bootstrap-vcpkg.sh
      • export VCPKG_ROOT=~/vcpkg(シェルプロファイルに追加)
    • LunarG Vulkan SDK (Homebrew版不可)
      • https://vulkan.lunarg.com/sdk/home
      • export VULKAN_SDK=$HOME/VulkanSDK/<version>/macOS(シェルプロファイルに追加)
  • ビルド・起動手順

    • git clone https://github.com/ammaarreshi/Generals-Mac-iOS-iPad.git GeneralsX
    • cd GeneralsX
    • ./scripts/build/macos/build-macos-zh.sh(依存関係確認・設定・ビルド)
    • ./scripts/build/macos/deploy-macos-zh.sh(~/GeneralsX/GeneralsZH + run.sh作成)
    • ./scripts/get-assets.sh <your_steam_username>(所有ゲームデータ取得)
    • cd ~/GeneralsX/GeneralsZH && ./run.sh -win(起動)

iPhone/iPad版クイックスタート手順

  • macOS準備に加え必要なもの

    • Xcode (Apple IDでサインイン済み)
    • brew install xcodegen
    • Apple Developerチーム(無料/有料どちらでも可)
  • ビルド・インストール手順

    • cd GeneralsX
    • git submodule update --init references/fbraz3-dxvk
    • ./scripts/build/ios/fetch-moltenvk.sh(MoltenVK.framework取得)
    • ./scripts/build/ios/stage-fonts.sh(Liberationフォント準備)
    • cmake --preset ios-vulkan
    • cmake --build build/ios-vulkan --target z_generals
    • GX_TEAM_ID=<your-team-id> GX_BUNDLE_ID=com.you.generalszh
      ./scripts/build/ios/package-ios-zh.sh --install(組み立て・署名・インストール)
    • チームIDはXcode→Settings→Accountsで確認
  • アセットはアプリバンドル内に格納 (自己完結型インストール)

  • --devオプションで約2.7GBのコピーをスキップし、高速なコード反復が可能

ディレクトリ・ファイル構成

  • docs/port/PORTING_PLAYBOOK.md: 移植工程ログ、トラブル解決記録(§8バグ調査推奨)
  • docs/port/PORTING_PATTERNS.md: WindowsゲームApple移植の手法まとめ
  • docs/port/RELEASE_CHECKLIST.md: リリース用チェックリスト
  • scripts/get-assets.sh: Steam資産取得スクリプト (app 2732960)
  • scripts/build/macos/, scripts/build/ios/: ビルド・展開・パッケージングパイプライン
  • ios/: XcodeGen署名用プロジェクト、ios/config/(Options.ini, dxvk.conf)
  • Patches/dxvk-ios.patch: iOS用DXVKパッチ (ローカルビルド時適用)

既知の問題

  • iPadで長時間プレイ時、iOSがメモリ制限(3GB以上)で強制終了

    • ダイアログなしでホーム画面へ戻る
    • セッションログはFilesアプリのゲームフォルダ内(現行+前回分)
    • 現在調査中
  • iOSでゲーム中にバックグラウンド化すると稀にクラッシュ

    • ライフサイクルpauseで大半の経路をカバー
    • レアな競合が残存、 こまめなセーブ推奨

ライセンス・クレジット

  • エンジンコード:GPL v3 (EAソース→GeneralsX→本フォーク)
  • ゲーム資産:非同梱・非ライセンス
  • クレジット
    • Westwood/EA Pacific(ゲーム本体)
    • EA(ソースリリース)
    • fbraz3/GeneralsX(ベース移植)
    • TheSuperHackers/GeneralsGameCode(コミュニティmainline)
    • DXVK, MoltenVK, SDL, OpenAL Soft, FFmpeg, Liberation Fonts
  • 本移植は人間+AI協働開発
    • Claude Code(Anthropic Claude, Fableモデル)がエンジニアリング
    • Ammaar Reshiが実機で指示・テスト
    • docs/port/以下にエンジニアリングログ(未編集)を公開

Hackerたちの意見

これらのテクニックが「エンペラー:バトル・フォー・デューン」(2001年)に役立つか知りたいな。これはウエストウッドスタジオの初の3D RTSで、C&Cジェネラルズの数年前に出たんだよね。人気は知的財産の争いと、原作の設定から逸脱した新しい派閥の導入でちょっと妨げられたけど、ゲームプレイ、サウンドトラック、キャンペーンミッションは最高だったよ。

やってみるね :)

このゲーム大好きだった!初めてプレイしたRTSだ :)

これはその時代の最高のRTSの一つだった。今でも通用するよ。音楽もすごく良かった。

7月7日までに試してみて、FableがClaude Codeのサブスクリプション価格から消えちゃうから。

これ、Dune 2000じゃないの? https://www.openra.net/download/#linux

EAのGPL v3ソースリリースを基に、fbraz3/GeneralsXを通じて作られてる(これがmacOS/Linuxポートの重作業を担当してる — このフォークはiOS/iPadOSポートとエンジンの修正を追加してる)。

俺はこれと同じことを、全く別のエンジンでゼロからやってるから、全然できるよ!

このゲームは現代のWindowsで動きがひどいから、Winx64にバックポートが必要だね。

俺も似たようなことをやってて、AIを使って「バトル・フォー・ミドルアース」(同じエンジン)を「オープンソース」にしてるよ: https://github.com/dginovker/BFME-Source-Code

いいね!!

自分もお気に入りの古いゲームで似たようなことをやってる。でも「バイト単位」って主張にはちょっと心配だな。バイナリからソースコードをデコンパイルしてそれを公開するのは問題じゃないの?「クリーンルーム」アプローチじゃないし、企業は著作権に違反してるって主張して削除させることもできるよね。

Hacker Newsで議論の続きを見る