アンリアる! Verse入門編 ~対話形式で学ぶUEFN~
BOOTHでUEFN Verse入門書を販売していますUEFN上でVerseを使って開発するために必要となる基礎知識を一冊の本にまとめた本です。 対話形式によるわかりやすい説明を目指しました。無料の試し読みも可能ですので、ぜひ読んでみてください!
[UEFN] Verseとは・Verseでできること

Unreal Editor for Fortnite(UEFN)では、「Verse」というプログラミング言語を利用できます。
Verseは、Unreal EngineやUEFNの開発元である、Epic Gamesが開発したプログラミング言語です。
現状、VerseはUEFN上でのみ利用できます。
本記事では、現時点でVerseでできることと、今後予測されるVerseの展開について説明します。

なお、Colory Gamesでは、Verseを使う人を対象とした入門書をBOOTHで販売しています
UEFN上でVerseを使って開発するために必要となる基礎知識を一冊の本にまとめています。
対話形式で、プログラミング未経験でも理解できる構成としています。

UEFN Verse入門書 表紙 UEFN Verse入門書 サンプルページ

【商品ページ(BOOTH)】 https://colory-games.booth.pm/items/5224756

Verseでできること

Verseは、UEFN上で「仕掛け」をカスタマイズするときに利用します。
「仕掛け」とは、UEFNを用いてフォートナイト上に島を制作する際に配置できるオブジェクトで、さまざまなアクションを起こすものです。
UEFNはデフォルトでさまざまな仕掛けを提供していて、たとえば以下のものがあります。

仕掛け名 機能
ボタン プレイヤーがボタンを押したときに、ほかの仕掛けを起動する
トリガー プレイヤーの通過などを検知して、ほかの仕掛けを起動する
タイマー 一定時間経過後に、ほかの仕掛けを起動する
テレポーター プレイヤーをほかの場所に移動する
アイテムスポナー アイテムをスポーンする

UEFNでは、このような提供されている仕掛けを利用するだけではなく、独自の仕掛けを実装することも可能です。
たとえば、以下のような仕掛けです。

  • ある物体にプレイヤーが接触したときに、ほかの仕掛けを動作させる。
  • プレイヤーを監視し、プレイヤーの動きに応じて敵の動作を変化させる。
  • ある範囲内にプレイヤーが入ったときに、プレイヤーにダメージを与える。
  • 一定時間経過したら、ランダムな位置にアイテムをスポーンする。

そして、このような独自の仕掛けを実装するために、Verseを利用します
(プログラミングの用語を用いると、仕掛けはクラスであるため、クラスを実装するためにVerseを利用します。)
なお、UEFNは現時点ではベータ版であるため、今後仕掛け以外の用途に利用できるようになる可能性があります。

UEFNのVerseとUnreal EngineのBlueprint

Epic Gamesが開発したゲームエンジンに、Unreal Engine(UE5)があります。
UEFNはUnreal Engineをベースとしており、多くの機能が共通となっています。
違いを一言で説明すると、Unreal Engineは独自のゲームを作るためのツール、UEFNはフォートナイト上にゲーム(島)を作るツールです。

UEFNのVerseと類似のものを実装できる仕組みとして、Unreal EngineにはBlueprintがあります。
Blueprintを用いるとことで様々な動作を実装でき、仕掛けのような機能も実装できます。
(プログラミングの用語を用いると、いずれもクラスを実装すためのシステムです。)
Blueprintは、ビジュアルスクリプティングによりコードを記述する必要がなく、初学者にとっては扱いやすいものとなっています。
一方で、単純な処理でも画面上の多くを占める傾向にあり、処理が複雑になるほど、全体の処理が分かりにくくなるというデメリットがあります。

VerseとBlueprint

現状、UEFNではBlueprintは利用できません。また、Unreal EngineではVerseを利用できません
ただし、GDC 2023で、時期は未定ですがUnreal Engineでも利用できるようにする予定と説明されています。

【The Verse Programming Language | GDC 2023】 26:30~、39:35~、50:50~あたり

また、現状のUEFNのVerseは、Unreal EngineのBlueprintに比べると実装できることが少ないですが、まだベータ版であるため、今後拡張される可能性が高いです。

Verseの将来性

現状、VerseはUEFN上でしか利用できません。
しかし、Verseの開発元であるEpic Gamesは、Verseをさらに広い用途で利用することを考えていて、Verseをメタバース開発の共通言語となることを見越して開発しています。
フォートナイトも、プレイヤー間で交流できるなど、メタバースの要素があると言えます。
一般的にメタバースの定義は明確には決まっておらず、Epic Gamesが考えるメタバースを一言で表すと、リアルタイム3Dシミュレーションを通じた交流です。
これには、3Dオンラインゲームや3Dソーシャルアプリケーションなどが含まれています。

Epic Gamesは、現状のメタバース関連アプリケーションには、相互運用性(interoperability)がないと述べています。
相互運用性とは、多くのサービスやアプリケーションで、共通したインターフェースで利用・開発できる能力を意味します。
現在のメタバースは、サービス間で互換性がなく、開発者やユーザが複数のサービスを共通の方法で利用できず、個々のサービスで閉じてしまっている(クローズドである)と説明しています。
そこで、相互運用性を高めるためにVerseを開発し、複数のサービスで共通化する(オープンである)ことを狙っています。

より詳細は、先に紹介したGDC 2023の発表にて、Epic Gamesが考えるメタバースが説明されています。
一般的なメタバースの説明とは異なり、専門用語も交えて具体的にメタバースを定義しており、興味深い内容となっています。

【The Verse Programming Language | GDC 2023】 28:20~あたり

また、日本語での概要説明と考察をまとめたものとして、土屋つかさ様の以下の資料が参考になります。
https://zenn.dev/t_tutiya/articles/06b57c583b2ceb

以上のように、VerseはUEFNで利用するだけでなく、今後Unreal Engineで利用できるようになり、ほかにもさまざまな用途で使用される可能性を秘めている言語と言えます。

なお、UEFNのVerseのプログラミング方法に関する情報は、以下の記事にまとめています。

[UEFN] はじめてのVerseプログラミング
VerseはEpic Gamesが開発したプログラミング言語で、Fortniteクリエイターが仕掛けをカスタマイズするときに使用できます。 Fortnite用のUnreal Engine(UEFN)で独自のゲームを作成するときに使用できます。 Colory GamesのTech Blogでは、Verseプログラミングに関して一から初心者が学べるように、複数の記事を掲載しています。