PS2 Web Recomp
対応ゲーム・ローカル導入ガイド
PS2 Web Recomp は、静的再コンパイルで PS2 ゲームをブラウザ上で動かす実験的プロジェクトです。
動作が報告されたゲームと、ローカルでの導入方法を紹介します。
GOOD TIMES
AGAIN!▟▙
▜▛
OVER.
25¢
NEW
RULES.★ HY8BIT ★
PS2 Web Recomp とは?
PS2 Web Recomp は、ゲームの Emotion Engine コードを事前に C++ へ変換し、WebAssembly にコンパイルします。その他の本体機能はランタイムが実装し、WebGPU で描画します。すべての PS2 ゲームに対応するエミュレーターや、そのまま遊べるゲーム集ではなく、タイトルごとのビルドを伴う実験的な移植手法です。
HY8BIT はプロジェクトの進展と導入方法を紹介し、レトロゲームファンと Web 技術の探求者をつなぎます。
プロジェクトの要点
作者の報告に基づく情報です。HY8BIT による実機検証ではありません。
| 項目 | 確認内容 | 出典 |
|---|---|---|
| 動作報告 | Gran Turismo 4 はレース、God of War II は戦闘までの動作を作者が報告しています。 | 開発元の README ↗ |
| ゲームデータ | ゲームデータの配布はありません。所有するゲームのディスクイメージを用意し、ローカルでビルドします。 | 開発元の README ↗ |
| 実行技術 | メイン CPU は WebAssembly へ静的再コンパイルし、描画には WebGPU を使います。 | 開発元の README ↗ |
PS2 コードから WebAssembly へ
ビルドツールが実行前にゲームの実行ファイルを変換します。変換したコードは WebAssembly で動き、ランタイムがゲームに必要な本体機能を処理します。対応ブラウザと、そのタイトルで動作するビルドが必要です。
PS2 ゲームの動作状況
PS2 Web Recomp の作者は、Gran Turismo 4 がレース、God of War II が戦闘まで動作すると報告しています。これは全タイトルへの対応を意味しません。実際の動作は機器、ゲームのバージョン、ビルドに依存し、HY8BIT は独自に検証していません。
Gran Turismo 4
グランツーリスモ4
● レース動作を報告God of War II
ゴッド・オブ・ウォーII
● 戦闘動作を報告該当するゲームがありません。別のキーワードをお試しください。
PS2 Web Recomp の導入方法
所有するゲームのディスクイメージと、公式ガイドに記載されたビルド環境を準備し、最新の移植手順に従ってください。ブラウザで遊ぶには動作するビルドが必要です。このページではゲームデータやオンラインプレイヤーを提供していません。
ゲームと環境を準備
WebGPU 対応と公式のビルド要件を確認してください。ゲームイメージと生成ファイルは自分の環境で管理します。
プロジェクトを取得
git clone https://github.com/snuri00/ps2-web-recomp.gitPS2 Web Recomp の環境準備
ゲームを変換する前にビルド環境を確認します。上流の必要条件には Git、CMake、Ninja、C++20 コンパイラー、Python 3 が含まれ、圧縮形式によっては展開ツールも必要です。別のパソコンでの成功例だけを根拠にせず、最新の公式手順で自分の環境を確認してください。
リポジトリ、ゲームイメージ、生成物を区別できる場所に置き、コマンドで使う識別名を決めます。開始時のツールのバージョンを記録し、比較の途中でコンパイラーやブラウザを同時に変更しないようにすると、問題の原因を絞り込みやすくなります。
ローカルでのビルド手順とコマンド
リポジトリを取得したら、そのディレクトリで以下の例を実行します。引用符内のファイル名は自分のゲームイメージに置き換えてください。mygame は説明用の識別名で、配布ゲーム名ではありません。サーバー起動時にも同じ識別名を使い、生成物の場所を一致させます。
cd ps2-web-recomp
scripts/port.sh mygame "My Game.iso"
python3 scripts/serve.py build/web-mygame games/mygame/disc.isoビルド時とブラウザ実行時の問題は分けて調べます。コンパイルに失敗した場合は、ブラウザを開く前に最初の有用なエラーを保存してください。成功後はツールが案内するローカルサーバーとアドレスを使い、HTML の直接起動や異なる実行回のファイルの混在を避けます。
既存の Emscripten を使う場合、ビルドを実行する端末で環境設定が有効か確認します。別の端末には同じ PATH が引き継がれないことがあります。SDK とプロジェクトのリビジョンを記録し、ソース変更とツール変更の影響を区別してください。
ブラウザ実行で止まったときの確認
実際にゲームを動かす端末で機能を確認します。WebGPU の利用可否はブラウザだけでなく、OS、GPU、ドライバー構成にも左右されます。ブラウザ名だけで対応を判断せず、グラフィックス診断とページのエラーを調べ、アダプターを利用できるか確認します。
SharedArrayBuffer やスレッド関連のエラーでは、開発者コンソールの crossOriginIsolated を確認します。クロスオリジン分離にはレスポンスヘッダーなどの条件があり、HTTPS に置くだけでは有効になりません。公式の配信手順に従い、サーバー設定とコンパイルの問題を切り分けてください。
ページが開いてから停止した場合は、最初のコンソールエラーと対応する通信を保存します。要求されたパスにファイルが存在するか、返されたものが HTML のエラーページではないかを確認し、一度に一つずつ条件を変えます。ファイル不足、GPU の問題、未対応のゲーム機能は別々に調べる必要があります。
ブラウザのセーブと生成ファイルを分ける
上流のプレイヤーにはメモリーカードの読み込みと書き出しがあります。サイトデータの削除、ブラウザのプロファイル変更、別のローカルアドレスでの実験の前にバックアップを取ってください。カードは日付付きの場所へ保存し、ビルド生成物とは分けます。Web ファイルのコピーだけで進行状況も移るとは限りません。
どのゲームとアドレスで作成したセーブかを記録し、復元は複製したカードで試してください。唯一のバックアップを上書きせずに確認すると、保存処理の問題か、ゲーム自体がまだ動作段階に達していないのかを判断しやすくなります。
再現できる動作報告の書き方
タイトル画面が出ることと、ゲーム全体が遊べることは別です。起動、メニュー、操作可能な場面、音声、画面遷移、セーブやロードについて、実際に確認できた段階を記録します。未確認の項目は不明とし、短い成功例だけで完全対応と判断しないでください。
ゲームの版と地域、プロジェクトのリビジョン、OS、ブラウザのバージョン、GPU、ビルドコマンド、再現手順を添えます。性能を測った場合は場面、解像度、測定方法も記録し、同じ条件で比較してから差を判断します。具体的な記録があると、他の読者も検証しやすくなります。
HY8BIT の現時点のゲーム情報は作者の報告をまとめたものです。ここで示すチェックリストは個人検証のための編集上の提案で、HY8BIT がこれらのテストを実施したという意味ではありません。個人の結果と上流の報告を分け、共有時には該当する issue やリビジョンを示してください。
ビルド前によくある質問
このページで PS2 Web Recomp のゲームを遊べますか?+
このページは紹介とビルドガイドへの入口です。ゲームやオンライン実行環境は提供していません。公式ガイドに従い、ローカルでビルドしてください。
どの PS2 ゲームに対応していますか?+
作者は Gran Turismo 4 のレースと God of War II の戦闘までの動作を報告しています。他のタイトルには個別のビルドと検証が必要で、すべてのゲームへの対応を保証するものではありません。
エミュレーターのダウンロードは必要ですか?+
ビルドした成果物は対応ブラウザで実行できます。メイン CPU には静的再コンパイルを用い、その他のハードウェア機能はランタイムが実装します。
HY8BIT は公式プロジェクトですか?+
HY8BIT は独立したゲーム・技術ガイドです。Sony や元プロジェクトとの公式な関係はありません。貢献方法とライセンスは元のリポジトリをご確認ください。