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.4.1がリリース。新機能「Modular Control Rig」の改善、MSVCの不正利用時にエラーが検出されない不具合などが修正
2024.05.02
UE5.4の実験的機能「Motion Design」の公式チュートリアル記事が公開。モーショングラフィックスの作り方を学べる
2024.05.01
Epic Games、NaniteとGPU駆動のマテリアルパイプラインの関連を解説した「GDC 2024」の講演資料を公開。ノート付スライド資料は無料
2024.04.30
トイロジック、UE4のRPC関数をベースにしたプレイヤー同期処理を解説。大規模オンラインゲーム『FOAMSTARS』に導入した管理の仕組み
2024.04.26
Unreal Engine 5.4がリリース。アニメーション関連の新機能「Modular Control Rig」の追加、「Motion Matching」の正式リリースなど
2024.04.24
オーディオミドルウェア「Wwise」のサウンドをUnreal Engineで再生。「書かれた通りに設定すれば必ず動作する」ガイド、Audiokineticが公開
2024.04.18

注目記事ランキング

2024.04.27 - 2024.05.04
1
【2022年5月版】今から始めるフォートナイトの「クリエイティブ」モードープレイ開始から基本的な操作方法まで解説
2
フォートナイト クリエイティブとUEFNで使える仕掛け一覧
3
『フォートナイト』で動く本格的なゲームが作れるツール「UEFN」とは?従来のクリエイティブモードから進化したポイントを一挙紹介!
4
【CHALLENGE1】「クリエイター ポータル」を使って、UEFNで作成した島を世界中に公開する
5
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.1「アイテム系」
6
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.5「島の設定」
7
まるで『マイクラ』?ボクセル地形を生み出す無料アセット「VoxelPlugin Free」で”地形を掘ったり積み重ねたり”して遊んでみよう
8
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.7「NPC系」Part1
9
UEFNで使えるプログラミング言語「Verse」のノウハウが集結。『UEFN.Tokyo 勉強会 03 Verse Night』レポート
10
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.2「ユーティリティ系」
11
フォートナイトとUEFNがv29.30にアップデート。すでに公開した島をプレイできないようにする機能が導入される
12
【CHALLENGE3】UEFNの機能「ランドスケープ」を使ってオリジナルの地形を作る
13
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.8「ゾーン系」
14
【STEP2】UEFNの基本的な使い方を覚えよう
15
フルカラー書籍「UEFN(Unreal Editor For Fortnite)でゲームづくりを始めよう!」、ついに本日発売!全国書店で好評発売中!
16
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.10「UI系」Part1
17
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.3「プレイヤー系」
18
【STEP4-1】コース外に出たらデスする仕組みを作る
19
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.6「チーム・対戦系」Part1
20
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.6「チーム・対戦系」Part2
21
【STEP5-1】スタート時のカウントダウンを作る
22
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.4「ゲームシステム系」
23
「UEFN」って実際どうなの? 編集部が3時間で「みんなで遊べるアクションゲーム(?)」を作ってみた
24
【STEP5-2】ゴールの仕組みを作る
25
『フォートナイト』で建築ビジュアライゼーション!?UEFNでオリジナルの世界観をどう作り上げたか、その手法を解説【UNREAL FEST 2023 TOKYO】
26
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.7「NPC系」Part2
27
【STEP6-1】「オリジナルキャラクターを登場させよう」――Fabでアセットをダウンロードしよう
28
【STEP3】オリジナルのアスレチックコースを作ろう
29
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.9「建築物系」Part1
30
【STEP6-3】「オリジナルキャラクターを登場させよう」――キーボーとムラスケのメッシュをインポート
VIEW MORE

イベントカレンダー

VIEW MORE

今日の用語

ローパスフィルター(Low-Path Filter)
ローパスフィルター
  1. 電気信号のうち、指定した周波数(カットオフ周波数)以下の信号を通し、それより上を大きく低減させるフィルター。
  2. ゲーム開発において、基本的にはサウンド用語として用いられる。例として、特定のセリフをローパスフィルターによってくぐもった音に加工することで、隣の部屋や遮蔽物の後ろで話しているかのような表現を行うことができる。
VIEW MORE

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