同時に開発者は、Mud のスマート コントラクト フレームワーク (Mud World) に従って、ゲームのキャラクター、アイテム、およびゲームの具体的な操作ロジックを作成します。たとえば、ヒーロー A が X から Y に移動して Y 土地に対する聖戦を開始するとき、どのような確率または状況でその土地を占領できるかなどです。
上記のアクションとゲーム状態は、グローバルなゲーム状態を担当するオンチェーン データベースであり、ゲーム状態の同期の信頼源である Mud Store に記録されます。
ヒーロー A が Y を攻撃するとき、プレーヤーは実際にフロントエンド ローカル マシン上でマウスをクリックし、チェーンにアップロードされるコマンドを送信します。コマンドは開発者のゲーム デザイン ロジックとストア内の現在のゲーム状態に基づいており、結果が生成されます。結果は新しいゲームのグローバル状態に更新され、チェーンに同期されます。
Games on Mud は、Web やモバイルなどのさまざまなフロントエンドをサポートしていますが、複雑なインデックス作成要件に直面する可能性があります。Mode は、この目的のために開発されたオフチェーン インデクサーです。
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.
チェーンゲーム全体の「状態」を同期するにはどうすればよいでしょうか?
フィオナ著、IOSG ベンチャーズ
TL;DR
*ゲーム/自律世界のフルチェーン (「FOG/AW」) は、Web 3 を取り巻く数少ない重要な物語の 1 つです。 NFT 経由でのみ Web3 に接続する Web2.5 アプリケーションと比較して、FOG/AW はゲーム ロジックをチェーン上に置きます。ブロックチェーンをゲームサーバーとして利用し、ゲームの状態に対する分散型の信頼源となります。これにより、永続性、検閲耐性、構成可能性などの利点がもたらされますが、その上に構築されるゲームの多様性と複雑さも制限されます。
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 エンジン フレームワークは、開発者がサーバーおよび信頼のソースとしてブロックチェーンを使用してゲームを構築できるようにする開発者ツール スタックです。また、現在の問題のいくつかを解決することもできます。
理解を容易にするために、このタイプのエンジンの一般に簡略化された技術プロセスは次のとおりです。開発者は、UI/UX およびゲーム コア ロジックのフロントエンド コードとバックエンド コードを作成し、ゲーム ステートのループを通じてすべての変更を同期し、最後にインデクサーによって新しいステートをフロントエンド ローカル デバイスに反映します。
!【チェーンゲーム全体の「状態」を同期するには? ](https://img-cdn.gateio.im/resize-social/moments-69a80767fe-0d85bf018e-dd1a6f-7649e1)
ブロックチェーン上で動作するゲームをスムーズに実行するために、Mud、Dojo、Curio、Argus、Paima エンジン、Lootchain は、この目的のための独自のテクノロジー スタックを開発しています。テクノロジー スタックは、チェーン、コア開発スタック、ゲーム フロントエンドの 3 つの主要な部分で構成されます。それらはすべて独自の革新性を備えており、分散化とゲームの複雑さの間でトレードオフが生じます。
以下の図は、さまざまなプロトコルがそれぞれのテクノロジー スタックをどのように設計するかを示しています。 Mud V2 を例として、その操作フローを確認します。
!【チェーンゲーム全体の「状態」を同期するには? ](https://img-cdn.gateio.im/resize-social/moments-69a80767fe-ab543b17aa-dd1a6f-7649e1)
ここで、これらのコア フレームワークの共通の設計と異なる設計について説明します。
これらのエンジンで構築されたゲームはすでにいくつかあり、Mud と Dojo はどちらも開発者にアプリケーションを構築してもらうためにハッカソンを開催しており、Curio は ETHCC で Warcraft のミニゲーム デモをリリースしたばかりです。
!【チェーンゲーム全体の「状態」を同期するには? ](https://img-cdn.gateio.im/resize-social/moments-69a80767fe-6027c24203-dd1a6f-7649e1)
FOG/AW がパブリックチェーン競争の重要なエコロジーになりつつあることは明らかですが、Lattice が提案する AW (Autonomous World) は、ゲームに限定されず、ソーシャルやファイナンスなど多くの属性を含む大きな概念です。その上に想像力豊かな仮想世界、メタバースが構築されます。ゲーム、ソーシャルネットワーキング、金融など、新しい形の統合アプリケーションが期待できます。
参照:
7。