『イースX -ノーディクス-』PC版移植担当スタジオ、最適化についてやたら詳細に解説。「パフォーマンス超改善」の理由とは


PH3 Gamesは10月15日、『イースX -ノーディクス-』のPC向け移植・最適化について、本作Steamストアページを通じて工程を紹介した。移植作業の実際の様子がうかがえる内容となっている。

『イースX -ノーディクス-』は、日本ファルコムが開発を手がけるアクションRPG『イース』シリーズのナンバリング最新作。開発は『イースVIII』や『イースIX』を手がけたチームが担当する。若かりし頃の冒険家アドル・クリスティンを主人公とし、北の海オベリア湾を舞台とした冒険が描かれる。

また、本作ではバトルシステムが大幅に一新。相棒との連携の仕方を切り替えられるクロスアクションシステムや、派手な演出とともにボスに強力な一撃を加えるハイライトアタックが実装。さらに、本作ではプレイヤーが実際に帆船を操作し、広大な海原を探索することも可能となっている。本作は昨年9月28日にNintendo Switch/PS4/PS5向けに発売されており、今年10月25日には、PC(Steam/Epic Gamesストア)版のリリースを控えている(Steam版は時差の関係で10月26日発売と表記)。

このたび、本作のPC版移植を手がけたPH3 GamesのCTO・Peter Thoman氏が、いかに『イースX -ノーディクス-』のPC移植・最適化がなされたかを明かしている。Thoman氏はもともとPC移植ゲームの最適化Mod開発などで知られていた人物(関連記事)。PH3 Gamesの母体となるPH3は、同氏が仲間とともに立ち上げた会社であり、近年では『英雄伝説 創の軌跡』含む『軌跡』シリーズのPC向け移植など、日本ファルコム作品の移植を多数手がけている。今回のThoman氏による投稿では、そうしたPC移植の名手の手法が明かされているわけだ。

Thoman氏いわく、『イースX -ノーディクス-』のようなテンポの速いアクションRPGでは、安定動作は特に重要な要素だ。今回はフレームレート(fps)の向上と安定性の確保のため、特にCPU向けの最適化に的を絞った開発工程が紹介されている。

Image Credit: PH3 Games on Steam




スタート地点から問題発生

開発中には、上述の画像のようなプロセスで最適化がなされていったとのこと。特定地点・設定での計測fpsでは、v0.1からv0.2でfpsは106から181へと、約1.7倍に向上。v0.2からv0.8でも181から231へと、50fps(約1.27倍)の飛躍的な改善が見られている。時系列として、v0.1は7月末・v0.2はその数日後、v0.8に至ったのは9月中旬とのこと。なお、fps計測テストはThoman氏いわく「CPU性能にとって最悪の条件」であるバルタ島でおこなわれたそうだ。

まず、開発中ベータ版がv0.1となる以前、最適化作業を開始した当初には、NVIDIA・AMD・Intel各社のハードウェアでのテストが実施されたという。すると、AMDのGPUを搭載したハードウェアでは、性能は十分にもかかわらず特定のシーンにおいてフレームレートが5fps未満に落ち込んだという。こうした現象への対処には、数週間かかることもあるとのこと。

しかし幸いにも、移植チームは『英雄伝説 黎の軌跡』の移植で類似の現象を経験していたため、素早く解決できたようだ。WindowsのDirectX 11における特定のメモリ使用法が原因だったとのことで、問題を回避する実装ができたそうだ。




徐々に難しくなっていく最適化

そしてv0.1からv0.2における数日間での劇的な改善は、「低難度な改善」による結果とのこと。具体的には、プログラムの実行速度を監視・記録するツール(プロファイラ)の結果を見て、時間がかかりすぎている部分を改善していく作業だ。こうした工程は、CPUパフォーマンス最適化における基本的なやり方とのこと。

最適化の初期段階では、影響の大きい部分に取り組むことで迅速かつ大幅に改善できることがあるそうだ。しかし、最適化が進めば進むほど、パフォーマンスの改善は難しくなっていくという。数日間で劇的に改善したv0.2に対して、v0.8での改善まで数週間かかっているのは、そうした事情があるとのこと。大きな問題解決から小さな調整まで、多大な積み重ねの結果としてパフォーマンスの改善があるのだろう。




さらなる“エキサイティング”な技術的挑戦へ

そして、さらに本作PC版のパフォーマンス向上に寄与したのが「追加の並列化」とのこと。ゲームプログラムは基本的に、複数の処理の流れ(スレッド)によって実行されている。Thoman氏らの調査により、そのうちパフォーマンスの足を引っ張っているのが「メインの更新スレッド」だと判明したそうだ。

問題となるスレッドでは、シーン内におけるキャラクター・モンスター・アイテムなどあらゆる要素(アクター)が個別に更新処理されていたという。そこで、Thoman氏らはこの処理を「並列化」することを考えたそうだ。これはゲームの動作の根幹にかかわる変更であり、一筋縄ではいかない。しかし、移植チームはこの実装を成功させたとのこと。

並列化によって新たに生じた問題のデバッグにも時間が必要となったものの、効果は大きかったようだ。特に多くのアクターが存在する処理が重いエリアでのパフォーマンス改善が顕著だったといい、前述のグラフでは231fpsから293fpsへと、大幅な改善が見られた。Thoman氏は、この実装ステップを「最もエキサイティング」と表現している。こうした技術的挑戦も、同氏らの好むところなのだろう。

ほかの最適化工程としては、GPUとCPUの連携における最適化といった実装にも触れられている。さらなる詳細を知りたい方は、今回のSteamニュースページを参照してほしい。

また、Thoman氏は今後も本作の設定や機能に関する詳細を紹介してくれるとのこと。先日には、本作PC版向けに実装予定の「ローカル協力プレイ機能」についての詳細がThoman氏により解説されている。この機能は、同氏が「予算ゼロ」で個人的かつ実験的・非公式に開発した機能であり、大胆な手法を使って実装されているという。こうした同氏の“Mod開発者魂”のような精神が、最適化にも活かされているのだろう。今後も、PC向け移植にあたっての技術的な裏側が明かされるかもしれない。

『イースX -NORDICS-』はNintendo Switch/PS4/PS5向けに現在発売中。PC(Steam/Epic Gamesストア)版は10月25日発売予定だ。 なお、Steam版は時差の関係で10月26日の発売と表記されている。