🚀

[UEFN][Verse]「プログラマのためのUEFN/Verseディープガイドブック[1]Verse言語基本文」11月11日頒布開始です

2023/11/09に公開

以前から予告していたVerseの同人誌が、2023/11/11 (土) 〜2023/11/26(日)で開催される技術同人誌即売会「技術書典15」に合わせて、オンラインでPDF版の頒布を開始します。
 タイトルは「プログラマのためのUEFN/Verseディープガイドブック[1]Verse言語基本文」になります。B5版85ページ。

販売ページはこちら。BOOTH、あるいは技術書典オンラインでご購入ください
BOOTH
https://s-games.booth.pm/items/5326231
技術書典オンラインショップ
https://techbookfest.org/product/27yyJMiGnzDrGUbPDHdXpm

・データ形式 PDF
・判型 B5
・本文 84ページ
・頒布価格 2000円

今回はVerse言語の基本的な文法について解説しています。型システムと非同期処理については続刊での解説を予定しています。とはいえ、実際に土屋がコードを書いていて「こういう事は出来るのか? 出来ないのか?」「この記法が許されないのは何故なのか?」「これはコンパイラのバグなのではないか?」と感じる箇所を徹底的に洗い出しながら書いたので、痒いところに手が届く本になっていると思います。

ちなみにサークルページはこちら。既刊の「Unityシェーダープログラミングの教科書シリーズ(1巻~5巻)」もよろしくお願いします。
https://techbookfest.org/organization/4820945634066432

なお、Verse本1は既に誤字脱字がいくつか見つかってまして、今月末ごろにV1.0.1的なverをアップする予定です(リリース日に間に合わせたかったけど、作業スケジュール的にどうにも余裕がありませんでしたごめんなさい)。

紙版もいずれ刷るつもりでいるんですが、いつになるかはちょっとわかりません。今の所、来年のGWにやるであろう技術書典16を考えています。

以下、「目次」、「はじめに」の抜粋、「本文のサムネ」になります。

目次

はじめに

第1章 関数論理型プログラミング言語Verse
1-1 UEFN(Unreal Editor For Fortnite)
1-2 関数論理型プログラミング言語「Verse」
1-3 現時点でUEFN/Verse を使用する際の注意事項
1-4 Verse の推奨コーディングスタイル
1-5 最小限のVerse コードサンプル

第2 章 基本的な文法
2-1 式とコメント
2-2 定数と変数
2-3 失敗許容式と失敗コンテキスト
2-4 算術演算子/関係演算子/クエリ演算子
2-5 決定演算子
2-6 指定子

第3章 関数
3-1 関数定義
3-2 失敗許容関数
3-3 エフェクト指定子

第4章 型
4-1 プリミティブ型
4-2 コンテナ型

第5章 制御フロー
5-1 if 式
5-2 case 式
5-3 loop 式
5-4 for 式
5-5 defer 式

第6章 クラス
6-1 クラス(class 式)
6-2 クラスの継承
6-3 拡張メソッド
6-4 アクセス指定子
6-5 クラス指定子
6-6 コンストラクタ関数(<constructor> 指定子)
6-7 インターフェイス(interface)
6-8 構造体(struct)/列挙型(enum)
6-9 モジュール(module)

あとがき
奥付

はじめに

本書は「プログラマのためのUEFN/Verseディープガイド」シリーズの第1巻です。このシリーズでは、プログラミング経験者を主な対象に、UEFNとVerse言語について解説します。
 「UEFN(Unreal Editor For Fortnite)」は、Epic Games社が2023年3月に発表した、同社が運営している大人気オンラインゲーム「フォートナイト」専用のUGC開発環境です。ユーザーはUEFNを使ってオリジナルのフォートナイト用マップを製作し、世界中のユーザーに遊んで貰うことができます。また、プレイされた回数に応じてレベニューシェアで報酬が支払われる制度があり、世界中で日々オリジナルマップが作成されています。
 「Verse」は、こちらもEpic Games社が開発した、UEFN上で唯一動作するオリジナルのプログラミング言語です。Verse言語は、大量のオブジェクトがリアルタイムにインタラクションし合うような挙動を記述するのに向いていて、フォートナイトのようなゲームのギミックを記述するのに非常に適しています。
 シリーズ第1巻では、このVerse言語の文法の基礎を学んでいきます。Verse言語は「関数論理型プログラミング言語」という特殊なプログラミングパラダイムに属しています。「失敗コンテキスト」という他の言語に無い概念を中心に構築された文法仕様は非常に独特で、実際の挙動も独特なところがあります。そのため、既にプログラミングの素養がある人ほど、Verseの記法や振る舞いに戸惑い、習得までに時間がかかるのではないかと思います。
 そこで本書では、既になんらかのオブジェクト指向プログラミング言語を習得しているプログラマを対象に、Verse言語の独特な言語仕様について、他の言語の挙動と比較しながら解説しています。とはいえ、各項目について丁寧に解説する事を務めたので、既存のプログラミング言語に馴染みの無い方にも是非読んで頂ければと思います。
 UEFNとVerse言語はリリースされてから日が浅く、英語/日本語を問わず参照出来る資料が非常に限られているのが現状です。本書が、皆さんがフォートナイト用オリジナルマップを作成し、世界に向けて公開するする手助けになれば幸いです。

本文サムネ

お知らせ

verse言語とUEFNの記事を他にも書いているので御覧下さい。
https://zenn.dev/t_tutiya

最後まで読んで頂きありがとうございました。この記事がお役に立てたようであれば、是非LIKEとフォローをお願いします(今後の執筆のモチベーションに繋がります)。

#Verse #UEFN #Fortnite #Verselang #UnrealEngine

宣伝

「Unityシェーダープログラミングの教科書」シリーズ1~5をBOOTHで頒布中です。
https://s-games.booth.pm/

Discussion