土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

フォートナイト&メタバース記述プログラミング言語「Verse」の設計思想を読み解く記事をzennで書いています

 フォートナイト&メタバース記述プログラミング言語「Verse」の設計思想を読み解く記事をzennで書いています。

 こちらです。よろしければどうぞ。まだ暫く続く予定。
zenn.dev

どうしてVerse言語の記事を書き始めたのか

dev.epicgames.com

さきに言っておくとUnityから乗り換える予定は全くないです。

長年「関数型言語パラダイム」がさっぱり理解出来ない事にコンプレックスを感じていまして、今年こそはちゃんと向き合おうと年の頭からちょっとずつHaskellの勉強をしていました。

そんな折、Epic Gamesからゲーム開発(ひいてはメタバース開発)に最適化されたプログラミング言語「Verse」が発表され、しかもその言語の開発にはHaskellの主要開発者が加わってると知りました。実際、サンプルコードを見てみると如何にも関数型言語っぽい見た目になっています。リリース即日からドキュメントの大半が日本語化されていた事もあり、せっかくなのでちょっと眺めてみようと思いました。

ところが、驚くべきことに(?)ドキュメントを読んでもVerse言語の仕様がさっぱり理解出来なかったのです。「失敗コンテキスト」という概念を中心に構築された言語仕様は、土屋が今まで触ってきたどの言語とも違っていて、ドキュメントに書いてあることがさっぱり理解出来なかったのです。

でまあちょっと悔しくて何度もドキュメントを読み返しているうちに、Verseが非常に興味深いメカニズムを持っている事がわかり「確かにこれはゲームプログラミングアーキテクチャが抱える諸問題を解決出来るポテンシャルがある」と思えてきました。また、意外だったのは、Haskellの主要開発者が主導してはいるものの、Verse言語自体は関数型言語では無かったという事した(マルチパラダイム言語であり関数型言語言語の要素もあるけども)。実は、Verse言語自体はティム・スィーニー(Epic Games社長であり、Unreal Engineの作者)が10年以上前から構想していた物なのだそうです。

そんな感じで、Verse言語には土屋の琴線に触れる要素が多数あったのでした。なので、理解を深める意味でも記事に纏めることにしたのでした。はてなブログはUnityの事で固めたいと思い、Verseについてはzennで書くことにしました。今後も環境やジャンルに応じて掲載サイトを変えようと思っています(ちなみにAIについてはQiitaで始める予定です)。

宣伝

同人誌「Unityシェーダープログラミングの教科書」シリーズ1~5巻の電子書籍版がBoothで頒布中です。こちらもどうぞよろしく。
s-games.booth.pm