オープンソース システムは PlayStation 2 クラシックをコンピュータ上でネイティブに実行できるように変換します

PlayStationPlayStation

PlayStation - 写真: Tom Eversley / Shutterstock.com

ran-j というペンネームでテクノロジー界で知られる開発者は、古典的なタイトルの消費方法を変革できる革新的なプロジェクトを発表しました。 PS2Recomp と呼ばれるこのツールは、オリジナルの PlayStation 2 ファイルを変換して、最新のコンピュータ上でネイティブ アプリケーションとして動作できるようにします。このシステムはエミュレータの使用を完全に排除し、ディスク上のコードを処理して、Windows や Linux などの現在のオペレーティング システムと互換性のある独立したプログラムを作成します。 2000 年に発売され、史上最も売れたゲーム機として認められたソニーのデバイスは、現在、そのライブラリが確実に生き残っていることを確認しています。

20 年以上前のハードウェアは物理的に劣化しているため、デジタル ビデオ ゲーム カタログの保存は時間との闘いに直面しています。新しい方法は、古いコンソール、使い古された光学式リーダー、製造されなくなった電子部品への依存を解決します。この直接変換により、壊れやすい物理メディアに依存することなく、電子ゲームに基づいて構築された文化遺産が将来の世代に保証されます。このプロセスにより、これまでは 1 つのゲームをデコードするだけでもボランティア チームによる何年もの作業が必要だった複雑なリバース エンジニアリングが自動化されます。

静的再コンパイルが従来のエミュレータよりも優れたパフォーマンスを発揮する仕組み

従来のエミュレーション プログラムは、ユーザーがプレイしている間に、コンソールからの命令をリアルタイムでコンピュータに変換することによって機能します。このアプローチでは、マシンに非常に高い処理能力が必要となるため、新しい視覚要素を読み込む必要があるたびに、グラフィックの不具合や画面の乱れが発生することがよくあります。 PS2Recomp は、静的再コンパイルを実行するときにまったく異なる戦略を採用し、アプリケーションが初めて起動される前にすべてのゲーム コードを変換します。

変換フェーズでは、このツールは PlayStation 2 の MIPS アーキテクチャに基づいて構築された元のバイナリ コードを分析し、C++ 言語で書き換えます。この新しい形式は、現在のコンピュータに搭載されている x86-64 プロセッサと完全な互換性があり、共通の実行可能ファイルになります。バックグラウンドで動作する中間翻訳層が必要ないため、プロセッサの負荷が大幅に軽減され、控えめな構成のマシンでもタイトルをスムーズに実行できるようになります。

このシステムを使用するには、プレーヤーは元のデータを抽出してクリーンな実行可能ファイルを生成するために、ゲームの合法的なコピーを持っている必要があります。この抽出の結果得られるコードは、当時の元のハードウェアによって課されたメモリと処理の制限を無視します。独立系開発者はゲームの内部構造に無制限にアクセスできるため、元のコンソールには技術的に適用できない大幅な変更や改善への道が開かれます。

ソニー独自プロセッサのデコードへの挑戦

PlayStation 2 の心臓部はエモーション エンジン プロセッサでした。このプロセッサは、非常に複雑でプログラムが難しい内部アーキテクチャとして業界で有名なコンポーネントです。このチップは、異常な同期で動作するカスタム ベクトル処理ユニットを使用していたため、その機能を現代のコンピューターの線形ロジックに変換する作業は、まさに技術的な悪夢でした。コンソールのコンポーネント間の厳密な同期は、システムを再構築しようとする人々にとって常に最大の障壁でしたが、新しいソフトウェアは自己実行プロファイルを生成することでこの障害を克服しました。

このツールは、ソフトウェア インテリジェンスを使用して感情エンジンの動作をマッピングし、数学的命令を現在のプログラミング標準に適合させます。開発をスピードアップするために、作成者はプロジェクトを、Web サイト decomp.me などのインターネット上の共同プラットフォームと統合しました。このプラットフォームでは、世界中のプログラマーが不明瞭なコードの断片を共有して解読しています。このシステムはユーザーから送信された解決策を分析し、ゲームのコンパイル中にエラーが見つかるたびに自動修正を適用します。

ソフトウェアが自動的に変換できないコード ブロックに遭遇すると、そのセクションを分離し、専門家による手動介入を可能にします。経験豊富なプログラマは、その特定のセクションの元のロジックを分析し、C++ でソリューションを作成します。ソリューションはプロジェクト データベースに保存され、将来の同様の状況で適用されます。集合的な知識を活用したこの継続的な機械学習により、コミュニティが新しいタイトルを処理するたびに変換の成功率が向上します。

最新のコンピューターでのグラフィックの向上と優れたパフォーマンス

コンピューター上でゲームをネイティブに実行すると、古い真空管テレビによって規定されていた解像度とフレーム レートの制約から作業が解放されます。変換が完了すると、タイトルは現代のビデオ カードの可能性を最大限に活用し始め、多くの場合、市場でリリースされた公式リマスターのパフォーマンスを上回る視覚的な結果を提供します。パフォーマンスの向上により、ユーザー エクスペリエンスが完全に変わります。

静的再コンパイルは、ゲーマーにすぐに多くの技術的利点をもたらします。

  • インターフェイスを歪めたり、元の画像を引き伸ばしたりすることなく、4K 解像度とウルトラワイド モニターをネイティブでサポートします。
  • リフレッシュ レートのロックを削除し、毎秒 60、120 フレーム以上でゲームを実行できるようにし、極度の流動性を確保します。
  • 高速 SSD ドライブに保存されたデータを直接読み取ることで、ロード時間が大幅に短縮されます。
  • 古いテクスチャをファンが作成した高解像度の 3D モデルに置き換えることが容易になり、ビジュアル面が最新化されます。
  • 最新のオペレーティング システムとの完全な統合により、ビデオおよびオーディオ プラグインの複雑な構成が不要になります。

待ち時間がなくなると、元のコンソールの限られたメモリを管理するためにロード画面に依存していたゲームのダイナミクスそのものが変わります。 SSD 上のデータに即座にアクセスできるため、シーン間の即時移行が可能になり、エミュレータでよくある視覚的な欠陥であるテクスチャのロードの遅延が解消されます。さらに、ソース コードを完全に制御できるため、最先端の最新の照明および視覚効果システムを簡単に実装できます。

初の実用化成果とデジタルレガシーの未来

PS2Recomp を通じて完全にプレイ可能なステータスを達成した最初のタイトルは、プラットフォーマー Sly Cooper and the Thievius Raccoonus でした。この選択は、複雑な 3D 環境のレンダリングにおけるツールの実行可能性を証明するためのストレス テストとして機能し、グラフィックの不具合や音声の同期の問題もなく実行されました。この最初の実験が完全に成功したことにより、プログラマーは互換性リストを急速に拡大することに重点を置くようになりました。

ユーザーコミュニティは現在、今後の変換の優先順位を決定するための投票を組織しており、クラッシュバンディクーやJak IIなどの古典的なフランチャイズがディスカッションフォーラムでのリクエストをリードしています。ソース コードは GitHub で公開されているため、プログラミング スキルがあれば誰でもお気に入りのゲームの変換を開始できます。このリポジトリは、さまざまな国の独立した貢献者によって提出されたバグ修正とパフォーマンスの最適化を含む更新を毎日受け取ります。

現在、プロジェクトのドキュメントでは、ユーザーはディスクからデータを抽出し、コンパイル ツールを操作するためのコマンド ラインに精通している必要があります。これが一般の人々を遠ざけることを承知した開発者は、操作全体を簡素化するための使いやすいグラフィカル インターフェイスの作成にすでに取り組んでいます。このグループの最終目標は、ワークフローを完全に自動化し、誰でも数回クリックするだけでゲームを保存できるようにすることです。

技術の進歩により、エンターテインメント ソフトウェアの保存に関する新たな基準が確立され、大企業の商業的決定に関係なくデジタル作品が存続することが保証されます。静的再コンパイル手法は、ビデオ ゲームの遺産の管理を分散化するために、他の古いプラットフォームでの適用がすでに研究されています。歴史を生かし続ける責任は間違いなく世界のテクノロジーコミュニティの手に渡ります。

こちらも参照