これらのページでは、Verse プログラミング言語とその 構文 について説明します。時間をかけてこの言語を理解した後は、これらのページを参考資料としてご活用ください。
今回初めて Verse を使用する場合、または初めてプログラミングを学習する場合は、スタートを切るのに役立つ「Verse を使用したプログラミング」を必ず確認するようにしてください。また、役に立つ オンボーディング ガイド もご覧ください。
Verse とは
Verse は、フォートナイト クリエイティブ の仕掛けをカスタマイズするなど、フォートナイト用 Unreal Editor で独自のゲームプレイを作成するときに使用できる、Epic Games が開発したプログラミング言語です。
Verse の 主な 設計目標は次のとおりです。
- シンプル:プログラミング初心者でも習得できる。
- 汎用的:どのような種類のコードやデータも記述できる。
- 高い生産性:チーム作業におけるプロジェクトのビルド、イテレート、シッピング、およびコードとコンテンツの統合。
- 静的に検証:コンパイル時にできるだけ多くの種類のランタイムの問題を見つけられるようにする。
- 高いパフォーマンス:リアルタイム、オープン ワールド、およびマルチプレイヤー ゲームの作成。
- 完全:言語のすべての機能でプログラマーによるその機能の抽象化をサポート。
- 長期的に使用可能:他の言語の過去のアーティファクトに根差すことなく、現在のニーズと近い将来のニーズに対応する設計。
上記の設計目標から生まれた Verse プログラミング言語の主な特性としては、次のようなものがあります。
- 強い型付け。開発または展開時にエラーが特定されない事態を最小限に抑えるとともに、静的チェック をサポートします。
- マルチパラダイム。可能な限り 決定論的 になるようにするなど、関数型プログラミング、オブジェクト指向プログラミング、および 命令型プログラミング の長所を活かします。その例としては、データがデフォルトで 不変 となっており、コードとデータが同じであれば、結果は常にまったく同じになるといったことが挙げられます。
- 文 と 式 の区別がない。Verse では すべてが式 であるため、すべてで 結果 が得られます。
- 失敗は制御フロー。Verse では、(判定ポイントなどで) プログラムの フローを変更する ために true/false 値を使用するのではなく、成功した場合に値を生成し、失敗した場合には値を生成しない 失敗する可能性がある式 を使用します。失敗する可能性がある式は、
if
式 などの 失敗コンテキスト でのみ実行できます。 - 失敗コンテキスト 内での 投機的実行 が可能。アクションを コミット することなく試行できます。式が成功すると、その式のエフェクトは コミット されますが、式が失敗した場合、その式のエフェクトは式が評価されなかったかのように ロールバック されます。このようにして、次々と変更が加えられる一連のアクションを 実行 できますが、失敗コンテキストで失敗が起きると、そうしたアクションは元に戻されます。
- 言語レベルでの 並列処理**。アクションを同時に実行するために複数のプロセッサのシステムレベルの スレッド に頼る必要がありません。言語で組み込みの並列処理式を使用することにより、制御フロー と同じようにタイムフローを作成できます。
Epic Games は、今後も Verse プログラミング言語の開発を継続して機能を追加していきます。現在記述している Verse コードに関しては、Verse によって下位互換性が確保され、今後言語が更新されても使用できると見込まれます。
言語の詳細情報
Verse プログラミング言語の参考資料として次の各ページをご活用ください。