Slide 1

Slide 1 text

Verse言語とメタバースとの関係 メタバース指向プログラミング言語Verseと Epic Gamesが目指すメタバース社会との関係を読み解く 2023/8/11 土屋つかさ

Slide 2

Slide 2 text

Verse言語とメタバースとの関係 • Verseについて調べているとちょ こちょこメタバースが出てくる • そもそも”Verse”という名称もメ タバースから来ている(筈) • Verseとメタバースとの関係につ いて、公式資料を元に考える。 • UEFNではソロのイマーシブコン テンツを作っていきます→ ※注意※ 筆者の推測や独自研究を多く含み ます。予めご了承下さい。

Slide 3

Slide 3 text

自己紹介:土屋つかさ 職業:シナリオライター兼エンジニア • シナリオライター • 放課後の魔術師(ライトノベル) • サマーウォーズスピンオフ小説 • シュタインズゲート・ゼロ(ADV) • シンス・メモリーズ(ADV) • エンジニア • Unity(C#) • シェーダープログラミング(HLSL) • 同人誌「Unityシェーダープログラ ミングの教科書」シリーズ1~5巻 がBOOTHで頒布中 • Verse言語に興味を持ちUEFNで の開発を開始。 • ブログでVerseの記事を連載中 https://zenn.dev/t_tutiya/

Slide 4

Slide 4 text

• 2023年3月のGDC2023でEpic Gamesが発表した新しいプログラミング言語 • プラグラミングパラダイムとしては「関数型論理プログラミング言語(fanctional logic programming language)」の流れを汲んでいる。 • 「失敗コンテキスト」と「並行処理」を言語機能として持つ事が特徴。 • 現在はFortniteの島クリエイト開発環境UEFN(Unreal Engine for FortNite)上でのみビ ルド/実行が可能。 • 将来的にオープンソース化し、メタバース開発用のプログラミング言語になることを目指し ている。 メタバース指向プログラミング言語 VERSE

Slide 5

Slide 5 text

Epic Games. "「Unreal Editor for Fortniteがパブリックベータ版でご利用いただけるようになりました!」". UNREAL ENGINEブログ. 2023-03. https://www.unrealengine.com/ja/blog/unreal-editor-for-fortnite-is-now-available-in-beta . メタバース指向プログラミング言語 VERSE(2/2)

Slide 6

Slide 6 text

先に結論: EPIC GAMESの考える「メタバース」とは 現在のWWWの2Dベースのビューが、「リアルタ イム3Dシミュレーション」に置き換わった世界 • ブラウザ経由で様々なwebサービスに接続できるのと同じように、様々なメタバースサー ビスに接続できる世界 • その世界で、現在のJavaScriptに相当するポジションの獲得を目指しているのがVerse。

Slide 7

Slide 7 text

VERSE言語に対するEPICの本気っぷり(1/2) • Epic Games CEOのTim Sweeneyが20年前から求めていた、オンラインゲーム(≒リアルタイム 3Dシミュレーション)開発に最適化された言語 • 純粋関数型言語Haskellの主要開発者Simon Peyton Jonesが中心に開発している • 大規模チームにより継続的な開発が進められている。 • 島クリエイト用の簡易スクリプト言語ではない。今後メジャーになり得る最新のプログラミング言語 Epic Games. "The Verse Programming Language | GDC 2023". YouTube. 2023-04. https://www.youtube.com/watch?v=5prkKOIilJg .

Slide 8

Slide 8 text

VERSE言語に対するEPICの本気っぷり(2/2) TIM SWEENEYの過去発言 2000/1/25 コラム「プログラミング言語への批判的考察」から抜粋 「ほとんどのプログラマーはC++やJavaの致命的な欠陥に気づいていな い。 」「C++やJavaが、フレームワーク、パラメトリック・ポリモーフィズム、バ イナリー・ポータビリティを実現するには不十分な言語であることは、ほとん どの人にとって明らかではない。」 Tim Sweeney. "A Critical Look at Programming Languages." . Game Spy. 2000-01. https://web.archive.org/web/20010210172245/http://www.gamespy.com/legacy/articles/devweek_f.shtm . Tim Sweeney, Epic Games. "The Next Mainstream Programming Language: A Game Developer’s Perspective.". ACM Digital Library. 2006-01. https://dl.acm.org/doi/10.1145/1111320.1111061 . 2005 「ゲーム開発者視点からの次の主流プログラミング言語」梗概から抜粋 「その結果、ゲームはこれらの分野の学術的進歩を応用するための肥沃な土 地となっています。そして、私たちの業界が今ほどそのような進歩を必要として いるときはありません!ゲーム開発の規模と範囲は、過去10年間で10倍以上 に拡大しましたが、主流のC/C++/Java/C#言語ファミリーの根本的な限界 は、ほとんど解決されていません。 」

Slide 9

Slide 9 text

EPICが考える「メタバース」の構成要件 Simon Peyton Jones. "Beyond Functional Programming: The Verse Programming Language". YouTube. 2022-12. https://www.youtube.com/watch?v=832JF1o7Ck8 .

Slide 10

Slide 10 text

リアルタイム3Dシミュレーションによるソーシャル空間 (要約)Verse:メタバースの為の言語 ティムが目指しているメタバース 特定の企業が支配していない開かれた経済圏 囲い込みの無い創作プラットフォーム コンテンツ(メタバース)同士が相互運用性を持つ。 メタバース全体を停止させる事無く、個々のコンテンツをライブアップデートできる。 Unreal Engineに限らず、任意のゲーム/シミュレーションエンジンで構築できる。 Simon Peyton Jones. "Beyond Functional Programming: The Verse Programming Language". YouTube. 2022-12. https://www.youtube.com/watch?v=832JF1o7Ck8 .

Slide 11

Slide 11 text

メタバースの構成要件ではない要素 • リアルタイム3Dシミュレーション→VRゴーグルは必須ではない • 自由な経済圏→特定の暗号通貨やNFTに支配されない • 囲い込みの無い→単一の企業が独占するインフラではない • コンテンツ(メタバース)同士の相互運用性→メタバースは1個ではない • オープン標準→Unreal Engineによる世界支配を狙っているわけではない 更に想像の羽根を広げると • 現実空間の代替としての「メタバース空間」を必ずしも指向しているわけではない。 • メタバース同士のシームレスな接続を必ずしも指向しているわけではない。

Slide 12

Slide 12 text

フォートナイト(≒UEFN)で考える • ソーシャル空間? • →リアルタイム3D空間をユーザが共有する • 開かれた経済圏? • →経済圏はあるが開かれてはいない • 創作プラットフォーム? • →UEFN/Verse • 停止しない? • →それぞれの島は独立してビルド/実行出来る • →フォートナイトサーバー全体が止まる事はある • 相互運用性がある? • →フォートナイトのサーバー外にはアクセス不可 • オープンな標準で開発出来る? • →UEFNのみ メタバースの要件を一部満たしているが全部ではない

Slide 13

Slide 13 text

相互運用性(INTEROPERABILITY)って何?(1/2) • ここでは、データ形式を標準化し、複数のサービスで同じデー タを使用できるようにする事 • 現在のweb社会は、相互運用性の元に成立している • 例: • ニコニコ動画とYouTubeに同じ動画データをアップする事ができるのは、動画データのフォー マットが標準化されているから。 • WordPressの記事にYouTube動画を埋め込めるのは、HTMLやブラウザの仕様が標準化さ れているから(後述) • ニコニコ動画/YouTubeは各企業が経済圏を支配しているが、(相互運用性があるの で)ユーザーは好きな方に動画をアップ出来るし、好きな方を閲覧できる。 • また、参加する企業が増えるほど、企業あたりの支配率は下がっていく。

Slide 14

Slide 14 text

相互運用性(INTEROPERABILITY)って何?(2/2) ユーザー ①ブラウザ閲覧 ③動画データ ④広告データ ②動画埋め込み 各種コンテンツが標準 フォーマットで作られて いるので、それらを組 み合わせて新しいコン テンツが作れる。 ↓ メタバース社会の実現 には、これのリアルタ イム3Dシミュレーショ ン版が必要になる。

Slide 15

Slide 15 text

メタバースに必要なアーキテクチャ • 既存のwwwのアーキテクチャをベースに、メタバースに必要なアーキテクチャを考える。 Epic Games. "The Verse Programming Language | GDC 2023.". YouTube. 2023-04. https://www.youtube.com/watch?v=5prkKOIilJg .

Slide 16

Slide 16 text

ウェブアプリケーション World Wide Web ブラウザAPI (WebKit、 Chormeなど) 共通 ブラウザAPI コミュニティ主導 API(React、 JQueryなど) 提案中の規格 (QUIC、VVC) 標準規格 (HTTP3、HTML、DOM、 JavaScript、CSSなど) JavaScriptVM (JavaScriptCore、V8、 SpiderMonkeyなど) ブラウザレンダリングエ ンジン(WebKit、Blink、 Geckoなど) ハードウェア(PC、スマホ、ゲーム機など) ゲーム&シミュレーション メタバース カスタムシミュ レーションAPI 共通 シミュレーション API コミュニティ主導 API 提案中の規格 (Verse) 標準規格 (シーン、3Dモデルなど) Verse VM リアルタイム3Dシミュレー ションエンジン(Unreal、 Unity、Godotなど) クライアント& クラウドコンピューティングハードウェア アーキテクチャ・レイヤー層(大意) OpenUSD glTF Epic Games. "The Verse Programming Language | GDC 2023.". YouTube. 2023-4. https://www.youtube.com/watch?v=5prkKOIilJg .

Slide 17

Slide 17 text

WWWのHTML/DOMに相当する メタバース記述言語「●●●●」が規格として不足? (意訳) 現在の標準化作業は、ほとんどが低レイヤ(glTF、 OpenAuth、WebRTC、および類似の標準)や中レ イヤ(Pixar USD)に関する物です。 より高レイヤの各要素についてはまだブレインストー ミングの段階で、それらの上でどのように実用的なク リエイター経済圏を構築するかもわかっていません。 Tim Sweeney. Twitter. 2023-04. https://twitter.com/TimSweeneyEpic/status/1650887547743096832 . (意訳) 最終的にどこでも閲覧出来て自由に参加できる、標 準に従ったオープンなブラウザが必要になります。 ルールは場所ごとに、その場所の作者によって策 定・管理されるのが望ましいです。何故なら、ディズ ニーの環境に相応しいルールは、GTAのそれとは 異なるからです。 Tim Sweeney. Twitter. 2023-04. https://twitter.com/TimSweeneyEpic/status/1652062527637839875 . これもVerseが担うのか、それとも別のイノベーションが必要なのかは現時点では不明

Slide 18

Slide 18 text

メタバースの現在と未来(1/2) 現在:各企業ごとに独自フォーマット下でメタバースコ ンテンツを開発・提供している。 →メタバース間の相互運用性が低い

Slide 19

Slide 19 text

未来:メタバースを標準化する事で相互運用性が高ま り、ユーザーはシームレスに接続可能になる。 →独自性を保ったまま、開かれたコンテンツに出来る メタバースの現在と未来(2/2)

Slide 20

Slide 20 text

(参考)現在のVERSEと未来のVERSE • Ship Verse(Min Verse) • 2023年3月にUEFN用としてリリースされたVerse(現在β運用) • Fortnite島クリエイトに使う機能のみが実装されたサブセット • コンパイルされたバイナリはUEのBlueprint VM上で動作している(らしい) • シングルスレッドマルチタスク • Max Verse • 予定されている全ての言語機能が搭載されたVerse。現時点では存在しない。 • メタバース開発用プログラミング言語として使用される予定 • オープンソースのVerse VMで動作する予定 • 並行・並列処理がどうなるのかは不明 • (補足) Core Verse • Verseのコア仕様(中間言語のような物)。 • 概念実証の為の仕様であり、実装は存在しない(多分)。 • Ship VerseとMax Verseの言語仕様上の互換性を保証する仕組み(多分)

Slide 21

Slide 21 text

まとめ • Verseは、Tim Sweeneyが20年間構想し、著名なプログラミング言語開発者を中心に開 発された、最新のプログラミング言語である。 • 将来的にオープンソース化し、メタバース開発用プログラミング言語として使用されること を指向している。 • Epic Gamesが目指す「メタバース」は、現在のWWWのUIをリアルタイム3Dシミュレー ションに置き換えた物と考えられる。 • その実現にはWWWアーキテクチャの多くを別の技術で置き換える必要があり、Verseは その新しいアーキテクチャにおけるJavaScriptのポジションを狙っている。 • 本当にそんなメタバース社会が来るのか? いつ来るのか? その時本当にVerseが基 幹言語になるのか?→わからない。 • わからないが、ベットする価値はあると思われる。Verseの言語仕様には、その可能性を 感じている。

Slide 22

Slide 22 text

最後に:とはいえVERSEは難しい • Verse言語は、一見意味不明な文法仕様に 見えますが、一つずつ紐解くと合理的な設計 に基づいているとわかります。 • 機能もドキュメントも不足していますがチャレ ンジし甲斐のある言語です。 • ZennでVerse言語について解説する記事を 連載しています(中上級者向き)→ Xwitter Zenn https://zenn.dev/t_tutiya/ https://twitter.com/t_tutiya/

Slide 23

Slide 23 text

ありがとうございました Xwitter Zenn https://zenn.dev/t_tutiya/ https://twitter.com/t_tutiya/ • 追伸:#Verselang タグを流行らせましょう。 • “Verse”がXwitter上でSEO効率悪すぎるの で、是非 #Verselang タグを付けて下さい。