PSP版『ペルソナ3』をNew 3DSへ。「P3P3DS」が実機で最初の戦闘を正しく描画、最新版では高速化も

PSP版『ペルソナ3』をNew 3DSへ。「P3P3DS」が実機で最初の戦闘を正しく描画、最新版では高速化も

PSP版『ペルソナ3 ポータブル』をNewニンテンドー3DSシリーズで動作させることを目指すプロジェクト「P3P3DS」が、実機上で最初の戦闘シーンを正しく3D描画できる段階まで進みました。

10月5日に公開されたv0.2.7では、それまで崩れていたキャラクターや背景の描画が修正され、開発者が使用する実機Newニンテンドー2DS LL上で、顔や髪、制服、屋上、空などを含む戦闘シーンが正常に表示されています。

ただし、現時点で『ペルソナ3 ポータブル』を最初から最後まで快適に遊べる状態になったわけではありません。開発者も「NOT PLAYABLE」と明記しており、まだ開発途中のプロジェクトです。

●P3P3DS GitHub
https://github.com/endercodezz/P3P3DS

●P3P3DS Builder v0.2.8
https://github.com/endercodezz/P3P3DS/releases/tag/v0.2.8

PSP版『ペルソナ3 ポータブル』をNew 3DS向けに再構築

P3P3DSは、PSPそのものをエミュレーションするのではなく、『ペルソナ3 ポータブル』のプログラムをNewニンテンドー3DSシリーズ向けに再構築し、ネイティブに近い形で動作させることを目指しているプロジェクトです。

対象となっているのは北米版『Shin Megami Tensei: Persona 3 Portable』(ULUS-10512)で、Newニンテンドー3DS/Newニンテンドー3DS LL/Newニンテンドー2DS LLがターゲットになっています。従来型のニンテンドー3DSや2DSには、現時点では対応していません。

10月4日に公開されたv0.2.6では、最初の戦闘でクラッシュする問題が解消され、キャラクターの3Dモデルを表示できるところまで進んでいました。

しかし、この段階ではキャラクターの服や顔などが大きく崩れていたほか、床や壁、背景なども正常に描画されていませんでした。

v0.2.7で最初の戦闘を正しく3D描画

続くv0.2.7では、この3D描画の問題が修正されました。

原因となっていたのは「back-face culling」と呼ばれる3D描画処理です。ポリゴンの表裏を判定する向きが逆になっていたことで、キャラクターモデルの内側が描かれ、本来画面に表示されるはずの壁や床などが除外されていました。

v0.2.7ではこの処理が修正され、キャラクターの顔や髪、制服に加えて、屋上や壁、床、空なども正しく描画されるようになっています。

実際のNewニンテンドー2DS LL上でも最初の戦闘まで到達しており、ゲームが3Dシーンを描画して動作することが確認されています。

戦闘はまだ5~7.5fps。通常シーンでは21~30fps

もっとも、パフォーマンスについてはまだ改善の余地があります。

v0.2.7時点では、最初の戦闘シーンが実機で約5~7.5fpsとなっており、本来のゲーム速度に対して約18~25%程度です。1フレームあたり大量の描画処理が発生しており、その多くをCPU側で処理していることがボトルネックになっていました。

一方で、寮などの通常シーンでは約21~30fpsで動作し、ゲーム本来の速度の約90%まで到達しています。

セーブとロードもすでに機能していますが、P3P3DS独自のセーブ形式が使用されるため、PSP実機やPPSSPPのセーブデータとは互換性がありません。

音声についてはまだ実装されておらず、オープニングムービーも動画デコーダーがないため自動的にスキップされます。

最新版v0.2.8では戦闘をさらに高速化

さらにv0.2.7の公開後、最新版となるv0.2.8も公開されました。

v0.2.8では、3DS側のレンダラーを最適化。GPUへ送る描画状態の更新回数を減らしたほか、同じ状態で連続して描画されるモデルをまとめて処理することで、CPU側の負荷を軽減しています。

開発者によれば、約200万回に相当していたゲーム側の描画処理を約5万5000回のGPU描画にまとめることができたとのことです。

New 3DSモードを利用した3DSエミュレーター「Azahar」で最初の戦闘を測定したところ、v0.2.7相当の5.8fpsからv0.2.8では9.9fpsまで向上しています。

ただし、このv0.2.8の結果は記事執筆時点では実機で測定されていません。開発者は次の目標として、戦闘をフルスピードとなる20fps以上で動作させることを挙げています。

ゲーム本体は配布されず、自分のISOからビルド

P3P3DSでは、すぐに遊べる状態の『ペルソナ3 ポータブル』本体は配布されていません。

利用する場合は、ユーザー自身が所有する北米版『ペルソナ3 ポータブル』(ULUS-10512)のISOを用意し、P3P3DS Builderを使ってPC上でNew 3DS向けの.3dsxファイルを生成する仕組みになっています。

Builder自体にはゲームデータは含まれておらず、Windows版とLinux x86-64版が公開されています。また、実機で動作させるにはカスタムファームウェアを導入したNewニンテンドー3DSシリーズとHomebrew Launcherなどの環境も必要です。

まだ音声もなく、戦闘時のフレームレートも低いため、現段階では普通にゲームを遊ぶためのものとはいえません。

それでも、PSP向けに発売された『ペルソナ3 ポータブル』がNewニンテンドー3DSシリーズの実機上で起動し、ついには最初の戦闘シーンまで正しく3D描画できるところまで進んだのは興味深いところです。開発開始から短期間で大きく進展しているだけに、今後どこまで実用的な動作速度に近づいていくのか注目したいプロジェクトです。

ABOUT US
アバター画像
retrogamer