チェーンゲーム全体の「状態」を同期するにはどうすればよいでしょうか?

フィオナ著、IOSG ベンチャーズ

TL;DR

*ゲーム/自律世界のフルチェーン (「FOG/AW」) は、Web 3 を取り巻く数少ない重要な物語の 1 つです。 NFT 経由でのみ Web3 に接続する Web2.5 アプリケーションと比較して、FOG/AW はゲーム ロジックをチェーン上に置きます。ブロックチェーンをゲームサーバーとして利用し、ゲームの状態に対する分散型の信頼源となります。これにより、永続性、検閲耐性、構成可能性などの利点がもたらされますが、その上に構築されるゲームの多様性と複雑さも制限されます。

  • ゲームの複雑さとプレイアビリティの要件が高まるにつれ、フレーム遅延、乱数、体力回復、継続的なパッシブ効果、タイマーなど、エンジン アーキテクチャに対してより多くの課題が提起されています。ブロックチェーンでは、時間とティック単位の概念が異なります。 Mud は、時間の経過とパッシブ回復スキルをシミュレートするためのアイデアをたくさん提供します。たとえば、プレーヤーが部屋内を移動するとき、事前定義された設計に従って部屋内のすべてのアイテムを移動するトランザクションが伴います。これを使用して、時間と状態の変化を認識します。
  • FOG/AW テクノロジー スタックは次のように抽象化できます。開発者は ui/ux およびゲーム コア ロジックのフロントエンド コードとバックエンド コードを記述し、その後ゲーム ステート ループを通じてすべての変更を同期し、最後にインデクサーによって新しいステートをフロントエンド ローカル デバイスに反映します。
  • RTS などの多くのゲーム タイプは高いティックレートを必要とし、コンセンサスによって作成されたブロックチェーンはブロック時間の変更しか処理できないため、ティックレートはここで解決すべき大きな問題です。 Curio と Argus はこの点でリーダーであり、ファンブル チェーン レベルでゲームのティックレートを向上させています。 Mud はチェーン全体を最大化しようとしており、アプリケーションの状態全体が EVM に保存されます。ゲームのティックレートを高めるためにオフチェーン統合を導入する計画はありません。
  • さまざまなチェーンの選択に関して、Dojo は Starknet のチェーン エコロジー全体を主導しています。 @tarrenceva の説明によると、Starknet には State diff 状態の違いがあり、これは楽観的なロールアップとは異なり、入力ではなく実行出力に重点を置いています。ゲームへの影響は主にコストの最適化である可能性が高く、たとえばチェスのゲームでは、3 分間のゲームで 50 手が発生する可能性があります。状態の違いを通じて、単一の証明と最終状態が「出力」を証明できます。一方、楽観的なロールアップでは、すべての中間状態からの「入力」が必要です。

FOG/AW の定義: ゲーム状態の同期方法

FOGかどうかを判断するには、ゲームの状態がどのように同期されているかが基準になると思います(真実の源)。

Web 2.5 ゲームまたは従来のマルチプレイヤー ゲームの場合、現在のゲーム状態を定義する集中サーバーがあり、プレイヤーがアクションを送信すると、サーバーはこれらの入力をコンパイルし、接続されている各プレイヤーのデバイスに更新された結果を返します。サーバーはすべての入力 (ティック) を処理し、不一致を解決し、更新を定期的にプレーヤーに送信して、ゲーム内のすべての要素のスナップショットを提供し、ティックごとにゲームの状態を更新します。 **ゲーム状態 (「ゲーム状態またはティック」) は、ゲーム世界内のすべてのオブジェクトのプロパティのスナップショットです。 Tickrate は、ゲームサーバーが更新されたゲーム状態を計算してプレイヤーにブロードキャストする 1 秒あたりの回数です。 Tickrate が高いほど、ゲーム体験はより正確かつ忠実になります。一般に、リアルタイム ストラテジー ゲームやアクション ゲームでは高い要求が行われます。カードゲームなどのターンベースのゲームはそうではありません。

!【チェーンゲーム全体の「状態」を同期するには? ](https://img-cdn.gateio.im/resize-social/moments-69a80767fe-3248052385-dd1a6f-7649e1)

ソース:

完全にオンチェーンで実行されるゲームの場合、ブロックチェーンはゲームサーバーであり、ゲーム状態の信頼の分散ソースとして機能します。この場合、NFT やトークンが実際の所有権を持つだけでなく、プレーヤーのティックやゲーム ロジックさえもオンチェーンになります。これが、真の所有権、永続性、検閲耐性、構成可能性などが可能となる理由です。理想的には、プレイヤーのすべてのアクションがブロックチェーンに送信され、合意に達した後、ゲームの状態が更新されてローカル デバイスに返される必要があります。したがって、当然のことながら、ティックレートが低いゲームタイプは、完全にオンチェーンでプレイするのに適しています。

** ゲームの遅延、時間などの課題を解決します。 **

ゲームの複雑さとプレイアビリティ要件の増加に伴い、エンジン アーキテクチャには、フレーム遅延、乱数、ライフ回復、継続的なパッシブ効果、タイマーなど、より多くの課題が提起されています。

フレーム番号の遅延 実際、クライアントのレンダリングやユーザー操作の遅延など、Web2 の世界でも非常に一般的です。特に FPS などの高ティックレート ゲームでは、一度遅延が発生すると、プレイヤー エクスペリエンスが非常に低下します。Web2 の解決策の 1 つはロックステップ状態更新であり、これにより、プレイヤーの公平なエクスペリエンスを解決するために、プレイヤー間で最も高い遅延基準に従ってすべてのプレイヤーを同期できるようになります。ブロックチェーンが導入され、トランザクションを確認する必要がある場合、この遅延はさらに悪化する可能性があります。この目的のために、Mud はゲームで一般的に使用される楽観的なレンダリング メカニズムも追加しており、ユーザーの操作が成功したと仮定し、サーバーが同意する前 (この場合はトランザクションが確認される前) にクライアントでレンダリングします。

チェーン上での乱数の生成 はよく議論されるトピックですが、Mud は、ユーザーの行動をランダムな結果の入力として使用し、インタラクションが発生した後に生成できると考えています。

時間とティック の概念は、ブロックチェーン上では異なります。 @SebastienGllmt は、不正防止の概念を使用するチェーン (Op など) でタイマーを使用するのは難しいと考えています。 Mud は、時間の経過とパッシブ回復スキルをシミュレートするためのアイデアをたくさん提供します。たとえば、時間の経過とともにゴールド コインを増やし、プレイヤーがゴールド コインを必要とする操作を実行するたびに、プレイヤーの以前のゴールド コインの数、最新のリフレッシュ カウント、およびリフレッシュ レートに基づいてプレイヤーのゴールド コインの量を計算します。別の例として、プレーヤーが部屋内を移動するとき、事前定義された設計に従って部屋内のすべてのアイテムを移動するトランザクションが伴います。これを使用して、時間と状態の変化を認識します。

** 「チート」するためのスクリプトを作成することは問題にならない場合があります。 **@BriefKandle は、ゲーム システムの MEV が不正行為であるとは考えていません。単純なスクリプトで MEV を防ぐことは、ゲーム チームが考慮する必要があることです。Web2 ゲーム開発は考え方を変える必要があります。優れた MEV ボットは、ゲーム内の NPC です。

この機能の一部は、Rhascau など、最近リリースされた一部のオンチェーン ゲームに実装されており、タイマーや継続的なパッシブ エフェクトが使用されます。基本的にブロック時間をティックとして使用します。 (現在の L2 では、ブロック時間 = ティックレート)。

FOG/AW テクノロジー スタック

FOG/AW エンジン フレームワークは、開発者がサーバーおよび信頼のソースとしてブロックチェーンを使用してゲームを構築できるようにする開発者ツール スタックです。また、現在の問題のいくつかを解決することもできます。

  • 標準/既製のフレームワークがないため、FOG/AW オンチェーンを構築する際の非効率性。
  • モジュール性とコードの再利用が欠如している。
  • 構成可能性の欠如。 FOG/AW エンジンの開発により、オンチェーン ゲームはより面白く、想像力豊かなものになります。

理解を容易にするために、このタイプのエンジンの一般に簡略化された技術プロセスは次のとおりです。開発者は、UI/UX およびゲーム コア ロジックのフロントエンド コードとバックエンド コードを作成し、ゲーム ステートのループを通じてすべての変更を同期し、最後にインデクサーによって新しいステートをフロントエンド ローカル デバイスに反映します。

!【チェーンゲーム全体の「状態」を同期するには? ](https://img-cdn.gateio.im/resize-social/moments-69a80767fe-0d85bf018e-dd1a6f-7649e1)

ブロックチェーン上で動作するゲームをスムーズに実行するために、Mud、Dojo、Curio、Argus、Paima エンジン、Lootchain は、この目的のための独自のテクノロジー スタックを開発しています。テクノロジー スタックは、チェーン、コア開発スタック、ゲーム フロントエンドの 3 つの主要な部分で構成されます。それらはすべて独自の革新性を備えており、分散化とゲームの複雑さの間でトレードオフが生じます。

  • ゲーム フロントエンド: Unity、Unreal などの従来のエンジンに加え、React/Threejs やその他の言語、およびゲームのプレイアビリティとエクスペリエンスを向上させるために不可欠なレンダリングやその他の機能を提供する強力なツールが含まれています。上記のプロジェクトは基本的に、開発者が使用できる関連 SDK を提供できます。
  • コア開発スタック: ゲーム ロジックをブロックチェーン上で実行し、時間どおりにフロントエンドに同期できるようにする一連のソリューションを設計します。主要なコンポーネントには、適切なデータベース構造 (ゲームの動作とロジックの定義)、およびゲーム状態の同期と復帰が含まれます。
  • チェーン: ほとんどの企業はイーサリアム、オプティミズム、スタークネット上に構築することを選択しています。

以下の図は、さまざまなプロトコルがそれぞれのテクノロジー スタックをどのように設計するかを示しています。 Mud V2 を例として、その操作フローを確認します。

  1. 開発者は、Mud でいくつかの Web2 フロントエンド ツールを呼び出してコードを作成し、レンダリングなどの強力な機能を使用してゲームをより視覚的に、より楽しくします。
  2. 同時に開発者は、Mud のスマート コントラクト フレームワーク (Mud World) に従って、ゲームのキャラクター、アイテム、およびゲームの具体的な操作ロジックを作成します。たとえば、ヒーロー A が X から Y に移動して Y 土地に対する聖戦を開始するとき、どのような確率または状況でその土地を占領できるかなどです。
  3. 上記のアクションとゲーム状態は、グローバルなゲーム状態を担当するオンチェーン データベースであり、ゲーム状態の同期の信頼源である Mud Store に記録されます。
  4. ヒーロー A が Y を攻撃するとき、プレーヤーは実際にフロントエンド ローカル マシン上でマウスをクリックし、チェーンにアップロードされるコマンドを送信します。コマンドは開発者のゲーム デザイン ロジックとストア内の現在のゲーム状態に基づいており、結果が生成されます。結果は新しいゲームのグローバル状態に更新され、チェーンに同期されます。
  5. Games on Mud は、Web やモバイルなどのさまざまなフロントエンドをサポートしていますが、複雑なインデックス作成要件に直面する可能性があります。Mode は、この目的のために開発されたオフチェーン インデクサーです。

!【チェーンゲーム全体の「状態」を同期するには? ](https://img-cdn.gateio.im/resize-social/moments-69a80767fe-ab543b17aa-dd1a6f-7649e1)

ここで、これらのコア フレームワークの共通の設計と異なる設計について説明します。

  • それらのほとんどは Mud v1 設計に従っており、ゲーム開発用のデータ構造として ECS を利用しています。これが、ゲーム ロジックの記述方法と表示方法です。 Mud V2 ではそれが改良されており、データは Table と で定義されているため、他のデータ標準が許可され (V1 のような ECS データ モデリング標準に準拠する必要はありません)、開発者により多くの選択肢が与えられ、より包括的なものになります。
  • ブロックチェーンは当然ゲームの状態とデータベースの信頼の源であるため、ほとんどは分散型データベースを使用します。 Mud はチェーン全体を最大化しようとしており、アプリケーションの状態全体が EVM に保存されます。ゲームのより高いティックレートを達成するために、分散化やオフチェーン統合スキームの導入を犠牲にすることはありません。
  • FPS などの多くのゲーム タイプは高いティックレートを必要とし、コンセンサスによって作成されたブロックチェーンはブロック時間の変更しか処理できないため、ティックレートはここで解決すべき大きな問題です。 Curio と Argus は、革新的なデザインで、チェーン レベルでのティックレートの増加を最初に望んでいます。
  • 異なるチェーンの選択については、Curio と Loot の両方が Caldera を使用して Op スタック チェーンを構築しており、さらに、Dojo は Starknet のチェーン エコロジー全体を主導しています。 @tarrenceva の説明によると、Starknet には State diff 状態の違いがあり、これは楽観的なロールアップとは異なり、入力ではなく実行出力に重点を置いています。ゲームへの影響は主にコストの最適化である可能性が高く、たとえばチェスのゲームでは、3 分間のゲームで 50 手が発生する可能性があります。状態の違いを通じて、単一の証明と最終状態が「出力」を証明できます。一方、楽観的なロールアップでは、すべての中間状態からの「入力」が必要です。

これらのエンジンで構築されたゲームはすでにいくつかあり、Mud と Dojo はどちらも開発者にアプリケーションを構築してもらうためにハッカソンを開催しており、Curio は ETHCC で Warcraft のミニゲーム デモをリリースしたばかりです。

!【チェーンゲーム全体の「状態」を同期するには? ](https://img-cdn.gateio.im/resize-social/moments-69a80767fe-6027c24203-dd1a6f-7649e1)

FOG/AW がパブリックチェーン競争の重要なエコロジーになりつつあることは明らかですが、Lattice が提案する AW (Autonomous World) は、ゲームに限定されず、ソーシャルやファイナンスなど多くの属性を含む大きな概念です。その上に想像力豊かな仮想世界、メタバースが構築されます。ゲーム、ソーシャルネットワーキング、金融など、新しい形の統合アプリケーションが期待できます。

参照

7。

原文表示
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • 報酬
  • コメント
  • 共有
コメント
0/400
コメントなし
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)