UE6にはフォートナイト用の言語「Verse」が導入される?GDC 2024のVerse講演から見るアンリアルエンジンの今後

2024.04.22
注目記事アンリアルエンジンプログラム
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

2024年3月18日~2024年3月22日(現地時間)に、世界最大級のゲーム開発者向けカンファレンス「Game Developers Conference 2024(GDC 2024)」が開催されました。

本記事では、Epic Gamesが行った講演のひとつ「Verse Update」にフォーカス。同社が開発するプログラミング言語「Verse」の今後から、アンリアルエンジン、ひいてはUnreal Engine 6に関係するトピックをピックアップして紹介します。

目次

『Verse Update | GDC 2024』

Epic Gamesが開発したプログラミング言語「Verse」

Verseとは、『フォートナイト』上で動作するゲームを制作するツール『Unreal Editor for Fortnite(以下、UEFN)』で用いられるプログラミング言語です。

2023年3月にUEFNのリリースと同時に開始された「クリエイターエコノミー2.0」では、Epic Gamesがフォートナイトで得た収入の40%をフォートナイト上にゲームを公開しているクリエイターに分配します。Epic Gamesは、年間の配当が合計10万ドル以上になるクリエイターは200を超えると試算しています(2023年5月31日時点)。

関連記事
Epic Games、200を超えるフォートナイトの島クリエイターが年間10万ドル以上の配当金を得られると発表。島の「プレイ時間」が影響
2023.06.05

今後、フォートナイトの開発がアンリアルエンジンに代わりUEFNで行われることが発表されているほか、VerseがUnreal Engine 6へ導入されることが示唆されています。

Verseの特徴は、強い静的型付け・関数型やオブジェクト指向を取り入れたマルチパラダイム・直感的な非同期処理の記述。その中でも、関数が「失敗」した場合に処理がロールバックする仕様を大きな特徴としています。

if (Element := MyArray[Index]):
    Log(Element)

例えば、MyArrayIndex番目の要素が存在していない場合はMyArray[Index]は失敗する。MyArray[Index]は実行されなかったことになり、if式の中身も実行されない(コードは公式ドキュメントより引用)

ここからは、講演内容の一部をピックアップして紹介します。

Incremental Garbage CollectionがUE5.4で導入

Incremental Garbage Collectio(Incremental GC)」とは、複数フレームにまたがってガベージコレクションを行う機能です。

従来よりアンリアルエンジンに搭載されているガベージコレクションは1フレーム内で実行されるため、大量のオブジェクトを破棄する場合は1フレームに負荷が集中します。

UE5.4でIncremental GCが導入されることにより、多くのオブジェクトを破棄する際にもヒッチが起きにくくなります。

(画像は『Verse Update | GDC 2024』より引用)

C++にトランザクショナルメモリの概念を導入する独自コンパイラ「AutoRTFM」を開発

Verseは、すべての処理がロールバックできることを目標に掲げています。

Verseが持つ「処理がロールバック可能である」特徴を実現するために、Epic Gamesは変更を伴う一連の処理を「トランザクション」として切り分ける仕組み「トランザクショナルメモリ(※)」を活用しています。トランザクションの実行中には変更は反映されず、トランザクションの完了時にはじめて結果が反映されます。

トランザクショナルメモリを導入することで、処理を並列実行しやすくなるほか、トランザクションが失敗したときは実行結果が破棄されるためランタイムエラーによる被害を抑えられます

これにあわせて、Epic Gamesは、C++にトランザクショナルメモリの概念を導入するClangベースのコンパイラ「AutoRTFM」を開発しました。AutoRTFMはC++コードのコンパイル時、各関数に対してロールバック用のハンドラを自動で生成します。

(画像は『Verse Update | GDC 2024』より引用)

なお、トランザクショナルメモリとAutoRTFMについては、解説記事が公式ブログにて公開されています。

「Verse のトランザクショナル メモリ セマンティクスを C++ に導入する」アンリアルエンジン公式ブログ

単体で動作可能なVerseが今年終盤にリリース

スタンドアローンで動作するVerseが、今年終盤にオープンソースでリリースされることが明らかとなりました。

開発内部では、講演時点でフォートナイトに搭載されているVerse言語を「BetaVerse」、独立して実行できるVerse言語を「MaxVerse」と呼んで区別しているそうです。

MaxVerseは、Haskellベースの言語として開発中。リリース時には講演時点より10倍のパフォーマンス向上を実現し、Webブラウザ上で実行できる状態を予定しているとのこと。

(画像は『Verse Update | GDC 2024』より引用)

ブループリントやC++との相互運用が可能に

講演では、VerseがアンリアルエンジンのブループリントC++との相互運用性を持つようになることが明かされました。

従来のC++コードをブループリントに公開するのと同様の手法を用いて、C++コードをVerseに公開できるとしています。

(画像は『Verse Update | GDC 2024』より引用)

新たなオブジェクト構成システム「Scene Graph」が導入予定

従来のActor/Actor Componentと同様に、オブジェクトをいくつかのパーツから構成する新たなシステム「Scene Graph」の導入が予定されています。

Scene Graphは、単一の機能を含む「Component」Componentのコンテナとなる「Entity」でひとつのオブジェクトを構成します。

Actorにはトランスフォームやレプリケーション、タグなど、複数の機能がまとめて搭載されています。一方でEntityはわずかな機能のみを持ち、トランスフォームなどの要素はComponentとして追加する点で異なります。

複数のEntity、Componentをまとめて「Prefab」を定義することも可能(画像は『Inside UEFN Scene Graph | GDC 2024』より引用)

Scene Graphは、2024年の第二四半期に実験的機能としてUEFNに導入される予定です。

GDC 2024では、Scene Graphについてより詳しく紹介するセッション『Inside UEFN Scene Graph』も行われました。

『Inside UEFN Scene Graph | GDC 2024』

セッションの詳細は、アーカイブ動画をご覧ください。

Verse Update | GDC 2024Verse 公式ドキュメント

関連記事

Unreal Engine 5.5.1がリリース。コンソールでLumenを可視化した際にクラッシュする不具合や、Motion Matchingに関する不具合などが修正
2024.12.11
UE5.5の実験的機能「Editor Performance Tool」について、Epic Gamesが紹介。エディタの処理落ちやPCスペックの不足を検出・通知してくれるパフォーマンス計測ツール
2024.12.10
現実世界のライティング環境をそのままキャプチャする「TrueHDRI」の研究で、UE5.5にライティング環境を導入する無料プラグインが登場。新たに雪景色などのアセットも3種追加
2024.12.10
4,000人以上が共同開発したUEのオープンワールドプロジェクト「Project Titan」、サンプルプロジェクトが無料公開。Epic Gamesより提供
2024.12.06
UE5.5の新機能「Mutable」向け公式サンプル『Mutable Sample』、Fabで無料公開。キャラクターの見た目をリアルタイムで変更できる機能について学べる
2024.11.28
C++の最新動向と展望をチェック。C++の日本語リファレンスサイト「cpprefjp」メンバーの講演を、ゲームエンジン開発者がレポート&補足してみた【CEDEC2024】
2024.11.27

注目記事ランキング

2024.12.05 - 2024.12.12
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

ブレンド(Blend)
ブレンド 2つ以上のものを混ぜ合わせることを意味する英単語。 ゲーム制作においても、2つ以上の要素を特定の割合によって合成することを示す。
VIEW MORE

Xで最新情報をチェック!