OSS ライブラリ Generals-Mac-iOS-iPad を公開──Command & Conquer Generals を Apple Silicon でネイティブ動作
EA の GPL v3 ソースコードと DXVK/MoltenVK を活用し、エミュレーションなしで macOS・iOS・iPadOS に RTS を移植した。
リリース: 2026-07-04 · 読了 3 分記事の要約
1. 核心(What)
- 2003 年発売の RTS ゲーム『Command & Conquer Generals: Zero Hour』のネイティブ移植版を GitHub に公開。
- ARM64 アーキテクチャに最適化し、Apple Silicon 搭載の Mac、iPhone、iPad で動作を実現。
- DXVK、MoltenVK、Metal を経由した DirectX 8 から Vulkan への変換レイヤーを採用。
- Claude Code (Fable モデル) を活用したエンジニアリングにより、タッチ操作や RTS 特有の UI 操作を実装。
2. 影響(Why)
- レガシーゲームの移植手法: エミュレータを通さずネイティブコンパイルすることで、モバイル端末でも CPU/GPU リソースを直接活用し、高いフレームレートでのプレイが可能になった。
- 国内開発者への影響: 国内のゲーム開発スタジオや個人開発者が、古い DirectX 資産を Vulkan/Metal 経由で現代の Apple デバイスへ移植する際、エンジニアリングの構成例として参考になる。
3. 根拠・詳細(How)
- レンダリングパイプライン: DirectX 8 の描画命令を DXVK で Vulkan に変換し、MoltenVK を介して Metal API を叩くことで Apple Silicon 上での描画を実現している。
- ビルド環境と依存関係: CMake および vcpkg を使用したビルドシステムを採用し、fbraz3/GeneralsX のソースコードをベースに iOS 向けのパッチと MoltenVK.framework を統合して構築。
4. 展望・課題(Next)
- メモリ管理の課題: iPad 上での長時間プレイ時に発生するメモリ不足によるアプリ終了問題について、現在ログ解析とメモリ管理の最適化を調査中。