初代『スパイロ・ザ・ドラゴン』がエミュレーターなしでPCネイティブ動作! 『OpenPete』が公開

初代『スパイロ・ザ・ドラゴン』がエミュレーターなしでPCネイティブ動作! 『OpenPete』が公開

初代PlayStationで発売された『スパイロ・ザ・ドラゴン』を、PC上でネイティブ動作させる非公式プロジェクト『OpenPete』が公開されました。8月13日に初の一般公開版となるv0.1.2がリリースされ、翌14日には不具合を修正したv0.1.3が配布されています。

●OpenPete公式サイト
https://www.openpete.com/

エミュレーターではなくゲームのプログラムをPC向けに変換

『OpenPete』の大きな特徴は、PlayStation本体のハードウェアを再現する一般的なエミュレーターではないところです。

本作では、オリジナル版のPlayStation用実行ファイルに含まれるMIPS命令を、あらかじめC言語へ変換してPC向けにコンパイルする「静的再コンパイル」と呼ばれる手法が利用されています。

PlayStation用ライブラリーへの呼び出しはPC側のランタイムが処理するため、PlayStationのハードウェアをシミュレートする必要はなく、BIOSも使用しません。

さらに、解析が完了した部分については、オリジナルと同じ機械語を生成できるようにC言語で書き直す「バイト一致デコンパイル」のコードへ順次置き換えられています。

まだ解析されていない部分を静的再コンパイルで補いながら、作業が進んだ部分を読みやすく改造しやすいソースコードに差し替えていくという、ふたつの手法を組み合わせたプロジェクトになっています。

独自のVulkanレンダラーで映像を大幅に強化

『OpenPete』では、PlayStationのGPUコマンドをそのまま再現するのではなく、ゲーム内部の状態を直接参照する独自のVulkanレンダラーが採用されています。

そのため、ポリゴンやオブジェクトを個別に認識し、オリジナル版のゲーム内容を変更することなく、現代のPCに合わせた映像表現を追加することが可能です。

主な機能は以下の通り。

・16対9、21対9、32対9などのワイドスクリーン表示
・PCの性能に応じた高フレームレート描画
・任意の解像度のPNGを利用できるHDテクスチャーパック
・遠景の低ポリゴン化を抑える描画距離の延長
・正確なパースペクティブ補正
・24ビットカラー表示
・深度バッファーを使用した描画順序の改善
・セーブステート
・巻き戻し
・runaheadによる入力遅延の軽減
・48曲のBGMをWAVファイルへ差し替える機能
・エミュレーターで使用される.mcr形式のメモリーカードとの互換性

高フレームレート表示ではゲーム自体の速度を上げるのではなく、内部処理を実機と同じ29.913Hzに固定。その間のキャラクターやカメラ、アニメーションなどを補間して追加フレームを生成する仕組みになっています。

これにより、ゲームの物理演算や敵の挙動、タイミングなどを変えることなく、滑らかな映像でプレイすることができます。

PlayStationらしい映像表現をあえて再現することも可能

映像を高品質化するだけではなく、初代PlayStation特有の見た目を再現できるところも面白いポイントです。設定を切り替えることで、頂点の揺れやテクスチャーの歪みを生むアフィンテクスチャーマッピング、15ビットカラーのディザリングなどを有効化することができます。

つまり、PC向けに映像を強化した状態だけではなく、あえてオリジナルのPlayStationらしい映像へ近付けて遊ぶことも可能です。

現在対応しているのは北米版のみ

現在公開されているのは、Windows x86-64向けのv0.1.3です。Linux版は今後配布予定で、Appleシリコン搭載Macへの対応も計画されています。ゲームのデータは含まれておらず、起動には利用者自身が用意した北米版『Spyro the Dragon』のディスクイメージが必要です。

対応しているのは、ゲームIDが「SCUS-94228」の北米版のみ。日本版や欧州版はプログラムの配置などが異なるため、現時点では使用できません。

また、Windows版にはコード署名が付けられていないため、初回起動時にSmartScreenやウイルス対策ソフトの警告が表示される場合があります。公式サイトでは、ダウンロードしたファイルを確認するためのSHA-256ハッシュも公開されています。

ソースコードについても現時点では未公開です。開発時の検証に使用しているメモリーダンプや参照用スクリーンショット、ハードウェアのトレースデータなどに著作物が含まれており、それらをソースツリーから分離してから公開する予定とのこと。

まだ初期段階ながら機能はかなり充実

現在のバージョンには、深度バッファーを使用したことでオリジナルでは見えなかった地形の問題が表面化する、ワイドスクリーン表示のイベントシーンで画面外のモデルが欠けるといった不具合が残されています。

MOD機能についても開発中で、ゲーム起動時にC言語やシェーダーで書かれたMODをコンパイルする仕組みは用意されているものの、一般向けのMOD SDKはまだ配布されていません。

とはいえ、ワイドスクリーンや高フレームレート化だけではなく、HDテクスチャー、描画距離延長、セーブステート、巻き戻しまで搭載されており、最初の一般公開版としてはかなり充実した内容です。

デコンパイルが完了するのを待たず、静的再コンパイルで不足部分を補いながらPC版を成立させた『OpenPete』。PlayStationのゲームを現代のPC環境へ移植する新しい事例として、今後の発展にも注目したいプロジェクトです。

ABOUT US
アバター画像
retrogamer