
全チェーンゲーム/自律的世界(FOG/AW):ゲーム状態の同期と技術的課題の分析
TechFlow厳選深潮セレクト

全チェーンゲーム/自律的世界(FOG/AW):ゲーム状態の同期と技術的課題の分析
完全にブロックチェーン上で動作するゲームの場合、ブロックチェーンがゲームサーバーとなり、ゲームの状態に対する分散型の信頼源として機能する。
著者:Fiona, IOSG Ventures
TL;DR
-
フルオンチェーンゲーム/自律的世界("FOG/AW")は、Web3における数少ない重要なナラティブの一つである。NFTを通じてのみWeb3と接続されるWeb2.5アプリとは異なり、FOG/AWはゲームロジック自体もブロックチェーン上に置く。ブロックチェーンをゲームサーバーとして利用し、ゲーム状態の非中央集権的な信頼源となる。これにより持続性、検閲耐性、コンポーザビリティなどの利点が得られるが、一方で構築可能なゲームの多様性や複雑さには制限が伴う。
-
ゲームの複雑さやプレイアビリティの要求が高まるにつれ、エンジンアーキテクチャにはより多くの課題が生じるようになった。たとえばフレームレート遅延、乱数生成、ライフ回復、継続的なパッシブ効果、タイマーなどである。特に「時間」の概念および「Ticks」単位はブロックチェーン上では異なる。Mudは時間の経過やパッシブ回復スキルをシミュレートするための多くのアイデアを提供している。例えばプレイヤーが部屋内を移動する際、トランザクションに予め定義された設計に基づき部屋内のすべてのアイテムを移動させる処理を付随させることで、時間と状態の変化を認識できるようにする。
-
FOG/AWの技術スタックは次のように抽象化できる:開発者はUI/UXおよびゲームコアロジック向けにフロントエンドとバックエンドコードを記述し、ゲーム状態のループを通じてすべての変更を同期し、最終的にインデクサーが新しい状態をフロントエンドのローカルデバイスに反映させる。
-
RTSなどの多くのゲームタイプは高いtickrateを必要とするが、コンセンサスによって生成されるブロックチェーンはブロック時間の変化しか処理できず、tickrateはここで解決すべき大きな問題となる。CurioとArgusはこの分野のリーダーであり、チェーンレベルでのゲームtickrate増加を探っている。Mudは可能な限り完全オンチェーンを実現しようとしており、アプリケーション全体の状態をEVM内に保持している。より高いゲームtickrateを実現するために、非中央集権性を犠牲にするかオフチェーンとの統合を導入するような案は採用していない。
-
異なるチェーンの選択において、DojoはStarknet上のフルオンチェーンエコシステムを牽引している。@tarrencevaの説明によると、Starknetはoptimistic rollupsとは異なり、「入力」ではなく「実行出力」に重点を置いたState diffs(状態差分)を持っている。ゲームへの影響としてはコスト最適化が主に考えられる。例えばチェスゲームでは、3分間のゲーム中に50手が行われるかもしれない。State diffsを用いれば、単一の証明と最終状態だけで「出力」を証明できる。一方、optimistic rollupsではすべての中間状態の「入力」が必要になる。
FOG/AWの定義:ゲーム状態はどのように同期されるか
私がFOGかどうかを判断する基準は、ゲーム状態の同期方法(真実の源)にあると考えている。
Web 2.5ゲームまたは従来のマルチプレイヤーゲームでは、現在のゲーム状態を定義する中央サーバーが存在する。プレイヤーがアクションを送信すると、サーバーはこれらの入力を集約し、更新結果を各接続されたプレイヤーのデバイスに返す。サーバーはすべての入力(tick)を処理し、矛盾を解決し、定期的にプレイヤーに更新を送信して、ゲーム内のすべての要素のスナップショットを提供する。各tickごとにゲーム状態が更新される。ゲーム状態("game state or tick")とは、ゲーム世界内の各オブジェクトの属性の時間的スナップショットのことである。Tickrateとは、ゲームサーバーが毎秒計算しプレイヤーにブロードキャストする更新済みゲーム状態の回数を指す。Tickrateが高いほど、ゲーム体験はより正確で高忠実度となる。一般的にリアルタイム戦略ゲームやアクションゲームは高いtickrateを必要とするが、カードゲームなどのターン制ゲームはそうではない。

完全にブロックチェーン上で動作するゲームの場合、ブロックチェーン自体がゲームサーバーとなり、ゲーム状態の非中央集権的な信頼源となる。この場合、NFTやトークンだけでなく、プレイヤーの行動(ticks)やゲームロジックまでもがチェーン上にある。これが真の所有権、持続性、検閲耐性、コンポーザビリティなどを実現できる理由である。理想的には、プレイヤーの各アクションがブロックチェーンに提出され、コンセンサスを得た後にゲーム状態が更新され、ローカルデバイスに反映される。そのため、必然的にtickrateが少ないゲームタイプの方が、完全オンチェーンに適している。
ゲームの遅延、時間に関する課題の解決
ゲームの複雑さやプレイアビリティの要件が高まるにつれ、エンジンアーキテクチャにはさらなる課題が生じる:フレームレート遅延、乱数生成、ライフ回復、継続的なパッシブ効果、タイマーなどである。
フレームレート遅延はWeb2の世界でも非常に一般的であり、クライアント側のレンダリングやユーザー操作の遅延に由来する。特にFPSのような高tickrateゲームでは、遅延が発生するとプレイヤー体験が大きく損なわれる。Web2における対策の一つに、lockstep state updateがあり、すべてのプレイヤーの同期を最も遅延の大きいプレイヤーに合わせることで公平性を保つ。ブロックチェーンを導入し、トランザクションの確定を待つ必要がある場合、この遅延はさらに深刻になる可能性がある。このため、Mudはゲーム内でよく使われるoptimistic rendering(楽観的レンダリング)メカニズムを導入しており、ユーザー操作が成功したと仮定し、サーバーの承認前(または本例ではトランザクション確定前)にクライアント側でそれを描画する。
オンチェーン乱数生成は頻繁に議論されるテーマだが、Mudではユーザーの行動を乱数結果の入力として、インタラクション後に生成することを提案している。
時間の概念およびTicksという単位はブロックチェーン上では異なる。@SebastienGllmtは、fraud proof方式のチェーン(例:Op)ではタイマーを使うのが難しいと指摘しており、エラーが発生した場合ロールバックが必要になり、ゲーム体験が著しく低下すると述べている。Mudは時間の経過やパッシブ回復スキルをシミュレートする多くの手法を提供している。例えば、時間経過とともにコインが増える仕組みでは、プレイヤーがコインを必要とする操作を行う際に、直前のコイン数、最後の更新時刻、更新レートに基づいて現在のコイン数を計算する。また、プレイヤーが部屋を移動する際、トランザクションに予め定義されたルールに従って部屋内のすべてのアイテムを移動させる処理を含めることで、時間と状態の変化を感知できるようにする。
スクリプトによる「チート」は問題ではないかもしれない。@BriefKandleは、ゲームシステム内のMEVをチートとは見なしておらず、簡単なMEVを防ぐことはゲームチームが考慮すべき事項だと述べている。Web2のゲーム開発者の思考の転換が必要であり、優れたMEV botはゲーム内のNPCとして機能しうる。
一部の機能は最近登場したオンチェーンゲームですでに実装されており、Rhascauではタイマーや継続的なパッシブ効果を使用している。基本的にブロック時間自体を目盛りとして利用している(現行L2では、ブロック時間=tickrate)。
FOG/AW 技術スタック
FOG/AWエンジンフレームワークは、開発者がブロックチェーンをサーバーおよび信頼源としてゲームを構築できるようにする開発者ツールスタックである。さらに、以下の現在の課題を解決できる:
-
標準的・既製のフレームワークがないため、オンチェーンFOG/AWの構築効率が低い;
-
モジュール性やコード再利用性の欠如;
-
コンポーザビリティの不足。FOG/AWエンジンの発展に伴い、オンチェーンゲームはより面白く想像力豊かなものになる。
理解を容易にするために、このようなエンジンの簡略化された技術プロセスは次の通り:開発者はUI/UXおよびゲームコアロジック向けにフロントエンドとバックエンドコードを記述し、ゲーム状態のループを通じてすべての変更を同期し、最終的にインデクサーが新しい状態をフロントエンドのローカルデバイスに反映させる。

ブロックチェーン上で動作するゲームもこのループを円滑に実行できるようにするため、Mud、Dojo、Curio、Argus、Paima Engine、Lootchainなどがそれぞれの技術スタックを開発している。技術スタックは3つの主要部分から構成される:チェーン、コア開発スタック、ゲームフロントエンド。これらはそれぞれ独自の革新を持っており、非中央集権性とゲームの複雑さの間にトレードオフを設けている。
-
ゲームフロントエンド:UnityやUnrealなどの従来のエンジン、React/Three.jsなどの言語および強力なツールがレンダリング機能を提供し、ゲームの遊びやすさや体験を高める上で不可欠な要素。上記プロジェクトはほぼすべて、開発者が利用可能なSDKを提供している。
-
コア開発スタック:ゲームロジックをブロックチェーン上で実行可能にし、フロントエンドへ適切に同期できる設計を提供。主な構成要素には、ゲームの挙動やロジックを定義する適切なデータベース構造、およびゲーム状態の同期と返却がある。
-
チェーン:多くはEthereum、Optimism、Starknet上での構築を選んでいる。
下図は、異なるプロトコルがどのようにそれぞれの技術スタックを設計しているかを示している。Mud V2の動作フローを見てみよう:
-
開発者はMud上でWeb2のフロントエンドツールを呼び出してコードを記述し、レンダリングなどの強力な機能を利用してゲームを視覚的に魅力的かつ遊びやすくする;
-
同時に、開発者はMudのスマートコントラクトフレームワーク(Mud World)を用いて、キャラクターやアイテム、具体的な実行ロジックなどを記述する。例えば、ヒーローAがX地点からY地点へ移動し、Y地域の征伐を開始するとき、どの程度の確率または条件下でその地域を占領できるかを定義する;
-
上記のアクションおよびゲーム状態はMud Storeに記録される。これはオンチェーンデータベースであり、グローバルなゲーム状態を管理し、ゲーム状態同期の信頼源となる;
-
ヒーローAがY地域を征伐するのは、実際にはプレイヤーがフロントエンドのローカル端末でクリックして命令を送信し、それがチェーンに提出されることに相当する。この命令は、開発者が設計したゲームロジックおよびStore内の現在のゲーム状態に基づいて結果を生み出し、その結果が新たなグローバルゲーム状態として更新され、チェーン上に同期される;
-
Mud上のゲームはWeb、Mobileなどさまざまなフロントエンドをサポートしているが、複雑なインデックス需要に直面する可能性がある。Modeはまさにそのために開発されたオフチェーンインデクサーである。

次に、これらのコアフレームワークの共通点と相違点について考察しよう。
-
多くはMud v1の設計に従い、ECSをゲーム開発のデータ構造として利用している。これはゲームロジックの記述と表現方法である。Mud V2はこれを改良し、データをTablesとSystemsで定義することで、他のデータ標準(V1のようにECSデータモデリング基準を厳密に遵守する必要なし)を許容し、開発者により多くの選択肢を与え、より包括的になっている。
-
大多数は非中央集権的なデータベースを使用している。なぜなら、ブロックチェーン自体が自然にゲーム状態とデータベースの信頼源となるからである。Mudは可能な限り完全オンチェーンを追求しており、アプリケーション全体の状態をEVM内に保存している。より高いゲームtickrateを実現するために非中央集権性を犠牲にしたり、オフチェーンとの統合を導入したりはしていない。
-
FPSのような多くのゲームタイプは高いtickrateを必要とするが、コンセンサスによって生成されるブロックチェーンはブロック時間の変化しか処理できないため、tickrateはここでの大きな課題である。CurioとArgusは独自の革新設計の中で、チェーンレベルでのtickrate向上を最初に目指している。
-
異なるチェーンの選択に関して、CurioとLootはCalderaを用いてOp stack chainを構築している。それ以外に、DojoはStarknetのフルオンチェーンエコシステムを牽引している。@tarrencevaの説明によると、Starknetはoptimistic rollupsとは異なり、State diffs(状態差分)を持ち、「入力」ではなく「実行出力」に重点を置いている。ゲームへの影響としてはコスト最適化が主に考えられる。例えばチェスゲームでは、3分間のゲーム中に50手が行われるかもしれない。State diffsを用いれば、単一の証明と最終状態だけで「出力」を証明できる。一方、optimistic rollupsではすべての中間状態の「入力」が必要になる。
すでにいくつかのゲームがこれらのエンジン上に構築されており、MudとDojoはハッカソンを開催して開発者を惹きつけアプリ構築を促進している。CurioはETHCCで『ワールクラフト』のミニゲームデモを発表したばかりである。

明らかに、FOG/AWはパブリックチェーンが争う重要なエコシステムになりつつある。Latticeが提唱するAW(自律的世界)はゲームに限定されず、ソーシャル、金融など多くの属性を含む大きな概念である。したがって、その上に構築されるのは想像力豊かなバーチャルワールド、すなわちメタバースである。新たな形態のゲーム、ソーシャル、金融などが融合したアプリケーションの登場が期待される。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News












