# Xbox 360ゲームをPCへ移植する

> 権利のあるXbox 360のゲームをSummer Engineで作り直し、デスクトップのビルドを書き出す。コントローラはすでに一致する。レンダラーと設定は一致しない。

- URL: https://www.summerengine.com/ja/port-xbox-360-game-to-pc
- Keyword: Xbox 360ゲームをPCへ移植する
- Related: https://www.summerengine.com/ja/porting

Xbox 360ゲームのPCへの移植とは、権利のあるゲームをSummer Engineで作り直し、Windows、macOS、Linuxのビルドを書き出すことだ。これはこのクラスターで現代のPCゲームに最も近い出発点だ。360はDirectX時代の機械で、そのコントローラはのちにPCゲームの標準になった。

コントローラは直接一致する。アナログスティック二本、十字キー、フェイスボタン四つ、バンパー二つ、アナログトリガー二つ、スティックの押し込みは、まさに現代のゲームパッドが提供するもので、現代のPCのボタン表示も今なおその配置を既定にしている。

作業は別のところだ。DirectX 9世代のパイプライン向けに書かれたシェーダー、720pの出力目標、30フレーム毎秒のロジック、プラットフォームの実績とセーブのコンテナ、ディスクのストリーミングの前提。どれにも明確なPCの置き換えがある。

## DirectX 9世代のレンダラーを現代のハードウェアで

360時代の描画は、フォワードのライティング、焼き込んだ影、低解像度のシャドウマップ、そして厳しいメモリ予算と固定のGPUを前提にしたポストプロセスを使っていた。現代のレンダラーで作り直せば、ジオメトリに触れずにリアルタイムの影、物理ベースのマテリアル、良いフィルタ、高解像度のエフェクトが手に入る。判断が要るのはどこまでやるかだ。現代のライティングは、焼き込みを前提に作られたアートを不自然に見せうるので、見た目をまるごと入れ替えるのではなく、元の意図に合わせて精度を上げる。

## 720pと30フレーム毎秒から

360のゲームの多くは1280x720を狙い、しばしば1080pへ拡大し、多くは30フレーム毎秒に固定されていた。解像度を上げるのは素直だ。フレームレートを上げるのはそうではない。360時代のコードは時間をフレームで数えることが多かったからだ。アニメーションの長さ、クールダウン、無敵時間、入力の先行受付、物理のステップを点検し、時間基準の値に変換し、固定の物理ステップを使い、シミュレーションと描画を分離する。その上で60、高リフレッシュでの上限なし、弱いハードウェアでの30で検証する。

## 実績、セーブのコンテナ、プラットフォームのサービス

ゲーマースコアを伴うXbox 360の実績は、独自の定義とアイコンが要るSteamの実績へ対応するか、それに対応しないストアの外で出すなら何にも対応しない。セーブのコンテナと保存先の機器を選ぶ仕組みは、各OSのユーザーごとのデータディレクトリの普通のファイルになる。プラットフォームのサインイン、フレンド、プレゼンス、Xbox LiveのマルチプレイのサービスにはそれぞれPCの置き換えが要り、マルチプレイは一覧で最大の項目なので他の何よりも先に範囲を決めるべきだ。

## キーボード、マウス、PCの設定を足す

ゲームパッド対応はほぼ無料なので、キーボードとマウスに投資する。既定の割り当て、完全な割り当て変更、感度と反転を伴うマウス視点、マウスで動かすメニューだ。コンソールに要らなかった設定を足す。解像度、ウィンドウとボーダーレスと全画面、垂直同期、フレームの上限、品質のプリセット、音量スライダー、UIの拡大。ソファの距離のテレビ向けのUIを作り直し、ウルトラワイドの比率も扱う。元の16:9の枠取りが視界の外に置いていたシーンの端が見えるからだ。

## ディスクのストリーミングと導入の前提

360のゲームは遅い光学ドライブと小さなメモリの領域を軸に作られ、ロードのための通路、エレベーターの移動、区切られたレベル、積極的なアセットの解放を生んだ。SSDと何ギガバイトものRAMを持つPCではその制約がない。境界が設計ではなく技術上のものだった区画は統合し、ストリーミングしていたものは先読みし、プレイヤーがもう必要としない待ちを消す。テンポに寄与していたものは残す。すべての通路がロードの小細工だったわけではない。

## FAQ

### Xbox 360ゲームをPCへ移植できるか

ゲームの権利があるかライセンスを持つならできる。現代のエンジンで作り直し、デスクトップのビルドを書き出す。Summer Engineは原版の説明から遊べるシーンを生成し、C++、GDScript、C#での編集を可能にし、Windows、macOS、Linux向けに書き出す。

### Xbox 360の移植が他の据え置き機の移植より楽なのはなぜか

ハードウェアの世代がPCに近かったからだ。360のコントローラの配置は現代のPCのゲームパッドが使うものであり、PCのボタン表示が前提にするものでもある。描画の方法も独自のコンソールのパイプラインではなくDirectX時代のものだった。残る作業はレンダラー、フレームレート、プラットフォームのサービス、PCの設定だ。

### 30フレーム毎秒の360のゲームを60へ上げられるか

点検の後ならたいてい上げられる。360時代のコードは時間をフレームで数えることが多かったので、アニメーションの長さ、クールダウン、無敵時間、入力の先行受付、物理のステップを、固定の物理ステップを伴う時間基準の値へ変換する必要がある。その上で60、上限なし、遅いハードウェアでの30で検証する。

### Xbox 360の実績とセーブのコンテナは何に置き換わるか

実績は独自の定義とアイコンを持つSteamの実績へ対応するか、それに対応しないストアの外で出すなら何にもならない。セーブのコンテナと保存先の機器の選択は、各OSのユーザーごとのデータディレクトリの普通のファイルになる。

### ロードのための通路は消すべきか

ストリーミングのためにあったものは消すべきだ。遅い光学メディアと小さなメモリ予算が、SSDでは不要になるロードの通路、エレベーターの移動、区切られたレベルを生んでいた。テンポや緊張に寄与していたものは残す。すべての通路が技術上の回避策だったわけではない。

[PCへの移植を始める](https://www.summerengine.com/ja/download)

---

## Machine-readable resources

- Site index for agents: https://www.summerengine.com/llms.txt
- Full inlined content: https://www.summerengine.com/llms-full.txt
- Porting catalog: https://www.summerengine.com/llms-porting.txt
- Structured catalog: https://www.summerengine.com/agent-catalog.json
- Sitemap: https://www.summerengine.com/sitemap.xml
- Developer resources: https://www.summerengine.com/docs
- Summer API (assets from any agent or code; public per-call model prices): https://docs.summerengine.com/api