この記事の3行まとめ
Epic Gamesは、『Nightingale』を開発中の企業『Inflexion Games』の開発チームの記事を、Unreal Engine(以下、UE)公式ブログにて公開しました。
『Nightingale』は2024年2月23日(金)にリリース予定の、オープンワールドサバイバルゲームです。
本記事では、Inflexion Games テクニカルディレクターのJacques Lebrun氏と環境ディレクターのNoel Lukasewich氏が、本作の開発をUE4からUE5に移行した方法などを語っています。
UE4からUE5に移行するきっかけは、LumenとNaniteによるビジュアルの向上にあったといいます。他にもオープン ワールド システムやアセット管理など、ワークフローを大幅に改善できる見込みがあった点も、移行理由として挙げられています。
ブループリントを使ったプロジェクトであれば、UE5へのアップデートは、新しいバージョンでロードして、表示されるアセットのエラーを確認・修正するだけで済みます。
しかし、エンジンをコードでカスタマイズしていた場合は、移行する作業が複雑になります。今回の記事では、中程度のカスタマイズを施していた本作における、移行の際に行った管理や作業について解説しています。
エンジンからの乖離を管理する
エンジンへの変更をマークアップして追跡することで、エンジンをアップデートした際にコードの競合をマージしやすくします。本作では、エンジンへのすべての変更を承認者グループでレビューしたり、すべてのコードの変更をタグ付け、プロジェクト管理ツールJiraで管理したりしたといいます。
統合プロセス
通常のエンジンアップデートではGitHubを介して取得し、「Engine」フォルダの内容をすべて置き換えることで行います。しかし、エンジンのコードに変更を加えていると、一気に管理が難しくなります。
本作ではPerforceのストリームを活用して、変更を加えていないUE4・UE5のリリースのストリーム、実際に作業する開発ストリーム、エンジンのアップデートをマージするストリームに分けて管理しています。段階を踏んでアップデートをマージし、エラーを修正していきます。
オートメーション
統合プロセスの一部を自動化することで、アップグレードのプロセスが簡素化され、多くの問題の検出に役立ちます。
なお、同記事ではUE5にアップグレードしたことによるメリットについても語っています。Lumen、Nanite、仮想シャドウ マップを組み合わせることで、非常に印象的なビジュアルを実現できたそう。他にも、レベル インスタンスとPacked Level アクタの導入が、開発に大きく役立ったといいます。
記事の全文は、こちらをご確認ください。
Nightingale の飛躍的向上を実現:Inflexion Games が開発途中で UE4 から UE5 にアップグレードした方法