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 公式ドキュメント

関連記事

Unity Technologies、プログラマー向けデザインガイドの電子書籍をアップデート。ストラテジーなど4種のパターンが追加され、Unity 6対応に
2024.07.26
UE5で揺れ物を「かわいく」揺らすプラグイン「Kawaii Physics」が更新。髪が風になびく複雑な動きもパラメータ設定で手軽に制御
2024.07.25
Unreal Engine向けゲーム制作コンテスト「第22回UE5ぷちコン」開始!テーマは「ゆうえんち」。応募締切は9/8(日)
2024.07.22
Unreal Engine 5.4.3がリリース。Mac向けにパッケージ化する際に起こるエラーの修正や、BaseDeviceProfiles.iniの2024年発売のiPadへの対応など
2024.07.17
50代からゲーム開発を始めた第21回UE5ぷちコン最優秀賞作『ヘコむス』開発者インタビュー。約40年前の「床をヘコませてボールを転がす」アイデアをUEで実現!
2024.07.16
エピック ゲームズ ジャパンによる講演も行われた「第2回 Unreal Engine KYUSHU LT会 in 鹿児島」、アーカイブ動画および一部のスライド資料が公開
2024.07.11

注目記事ランキング

2024.07.20 - 2024.07.27
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

フォグ(Fog)
フォグ 「霧」を意味する英単語。3DCGにおいて、現実の霧による見た目をシミュレーションする画面効果やエフェクトを指す。代表的なものとして、カメラから遠くにあるオブジェクトの色調を変化させることで遠近感を出す手法がある。
VIEW MORE

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