原作者:Scott Sunarto (@smsunarto)
翻訳・校正:Justin(@hicaptainz)
Scott は先週 Modular Summit に参加しました。以下は Argus の現在の最新進捗報告です。面白い点は、World Engine が MUD と組み合わせて使用できることです。
皆さんこんにちは、今日のサミットに参加していただきありがとうございます。ここでお話ししたいプロジェクトは、私たちの過去 1 年間の大部分を占めてきました。しかし、すぐにわかるように、この物語のタイムラインはこの時間枠をはるかに超えています。
Argus を共同設立する前、私は Dark Forest の創設者の一人であり、これは Ethereum 上の最初の完全なオンチェーンゲームで、ZK snarks を使用しています。Dark Forest の誕生は、単純な質問から始まりました:私たちはすべてのアクションがオンチェーン取引であるゲームを作成できるでしょうか?2020 年には、これは過激な主張でした。多くの人々は、ブロックチェーン技術の速度が遅いため、完全なオンチェーンゲームの実現可能性に疑問を呈しました。このような疑念にもかかわらず、私たちの好奇心は Dark Forest の開発を推進しました。
Dark Forest は宇宙探査ゲームで、数千人のプレイヤーがオンチェーンで戦い、彼らの帝国を拡大しています。リリースの最初の週に、私たちは 10,000 人以上のプレイヤーを持ち、Ethereum テストネットで数兆のガスを消費しました。この高いレベルの活動は、最終的に私たちをテストネットからサイドチェーンに移行させることを余儀なくさせました。しかし、サイドチェーンでさえ、そのスケーラビリティのために称賛されていましたが、十分ではありませんでした。私たちはすぐにブロックスペースを埋め尽くし、ガスコストを押し上げ、サイドチェーンを実質的に使用不可能にしました。
これらの制限にもかかわらず、完全なオンチェーンゲームへの熱意は依然として高いままでした。Dark Forest の後、私たちは投資家、創業者、ビルダー、ハッカーの急増を目の当たりにしました。彼らは Dark Forest の遺産の上に構築しています。Lattice や Primordium のような企業は、より簡単なオンチェーンゲーム開発フレームワークやオンチェーンゲームを開発しました。また、Starknet 上の Dojo のような、EVM の外の他のエコシステムでの発展も見られました。
既存のブロックチェーン技術の制限は、私たちが他の人とチェーンを共有しているという事実に起因しています。Dark Forest のような別のゲームが同じチェーン上に存在する場合、そのチェーンは効果的に機能しません。これにより、私たちは完全なオンチェーンゲームの概念を放棄すべきかどうかを疑問視し始めました。しかし、私たちはより良いオンチェーンゲームを構築する方法を探求することに決めました。
私たちは、ブロックチェーンアーキテクチャを当然のものと見なすという重要な認識から旅を始めました。さまざまな L1 や L2 が存在するにもかかわらず、それらはすべて似たように見えます。彼らは皆、より良いコンセンサスメカニズム、より速い VM、より良い詐欺証明者、そしてより速い ZK 証明者を持っていると主張しています。しかし、これらの主張はしばしば支持するベンチマークが欠けています。これらのすべての努力は、別の DEX を作成したり、別の NFT を鋳造したりするためのものであり、これらは他のチェーンにデプロイできます。
私たちは、ブロックチェーンアーキテクチャを異なる視点から見ることに決めました。私たちは、ビットコインやイーサリアムを模倣しているように見える古典的なブロックチェーンアーキテクチャに疑問を呈しました。私たちは、他のブロックチェーン、L1 であろうと L2 であろうと、特定のユースケースやユーザーロールを考慮せずに、すべての人のためにブロックチェーンを構築しようとしていることに気づきました。
私たちは異なる道を選びました。特定のユーザーグループ、つまりゲーム開発者とプレイヤーのために最高のブロックチェーンを構築することに決めました。私たちは、ゲームが典型的なアプリケーションとは大きく異なることを理解しました。たとえば、Twitter のようなソーシャルメディアプラットフォームは、イベント駆動型のランタイムで動作します。ユーザーがイベントをトリガーすると、たとえばツイートを投稿すると、状態の変化が引き起こされます。
一方、ゲームはループ駆動型のランタイムで動作します。ユーザーの入力がなくても、状態の変化は続きます。火は燃え続け、水は流れ続け、作物は成長し続け、昼夜のサイクルは続きます。この基本的な違いは、ゲームのためにより良いブロックチェーンを構築する方法を再考させました。
ここで理解すべき重要な点は、ネットワークアプリケーションにおける状態の変化、たとえばスマートコントラクトは、ユーザーの入力を必要としないということです。たとえば、Uniswap では、ユーザーが Token A と Token B を取引したい場合、彼らは取引を提出し、その後取引が実行されます。このプロセスはイベント駆動型です。
しかし、私たちはすぐに、従来のブロックチェーンのイベント駆動型の性質がゲームの状態機械を実行することと互換性がないことに気づきました。したがって、私たちはゲームで使用されるループ駆動型のランタイムを探求しました。ゲームエンジンは、このループ駆動型のランタイムをサポートするために特別に構築されています。
ループ駆動型のランタイムでは、ゲームの進行は「ティック」と呼ばれ、これは時間の原子単位です。各ゲームループは 1 つのティックで実行されます。ティックレートが高いほど、ゲームはよりスムーズに感じられます。たとえば、Counter-Strike や Valorant のような現代のゲームは高いティックレートを持ち、よりスムーズに感じられます。それに対して、古いゲームはティックレートが低いため、通常は鈍く感じられます。
ブロックチェーンの文脈では、これらのティックはブロックと比較できます。ブロックは状態の変化が発生する単一の時間単位です。ティックまたはブロックが遅く感じられると、ゲーム体験に悪影響を及ぼす可能性があります。
私たちは、ゲームが本質的にループ駆動型であると考えています。なぜなら、多くのゲームの状態の変化は外部の入力によってトリガーされないからです。たとえば、ゲーム内の重力はユーザーがボタンを押すことに依存せず、ユーザーの入力に関係なく存在します。
決定論的な取引の順序付けも非常に重要です。たとえば、ユーザーにダメージを与えたい場合、ゲームはまずユーザーの健康を回復するべきか、それとも先にダメージを与えるべきか?従来の順序付けを使用すると、どの状態の変化が先に適用されるかを予測または制御することができず、ゲームループ内で問題を引き起こす可能性があります。
ループ駆動型のブロックチェーンを通じて、私たちは可組み性を維持しました。これが、私たちがブロックチェーンをゲームのランタイムとして使用したい理由です。このアプローチにより、リアルタイムゲームプレイが可能になり、ブロックチェーンと従来のゲームサーバーの境界が曖昧になります。また、以前よりも複雑なゲームの開発を可能にします。
しかし、スケーラブルなゲームサーバーブロックチェーンを構築するには、水平スケーラビリティが必要です。ゲームは 1 つのサーバー上でプレイされるのではなく、多くのサーバーに分散されています。1 つのロールアップは 1 台のコンピュータ上で実行され、物理的な計算制限を受けます。したがって、取引を制御するための新しい戦略が必要です。
従来のゲームサーバー、特にパフォーマンス集約型の大規模マルチプレイヤーオンラインゲーム(MMO)は、シャーディングの概念を使用しています。シャーディングはツールであり、ゲームを構築するための処方箋ではありません。たとえば、位置ベースのシャーディングでは、デカルト座標が 4 つのチャートに分割されます。プレイヤーが 1 つのシャードから別のシャードに移動すると、別のシャードにメッセージが送信され、プレイヤーはそこに転送されます。
もう 1 つのアプローチは、マルチシャーディングと呼ばれる概念を使用することです。これは、MMO ゲームをプレイしたことがある人には馴染みのある概念です。このようなゲームでは、プレイヤーがログインすると、選択するための複数のサーバーが提供されます。これは、異なる状態やゲーム世界が存在し、プレイヤーがどれに参加するかを選択できるという類似の構造です。
ループ駆動型のランタイムと水平スケーラビリティを通じて、私たちは優れた可組み性も実現したいと考えています。しかし、ロールアップでこれを実現することは現実的ではないように思えるかもしれません。だからこそ、私たちは World Engine を作成しました。私たちは、標準のロールアップが私たちの期待通りに機能しないことに気づき、必要なソリューションを自分たちで構築することにしました。これは 1990 年代のようなもので、3D ゲームエンジンがどこにでも存在しなかったとき、開発者は自分たちでそれらを構築しなければなりませんでした。
World Engine は 2 つの重要な部分に分かれています。第一部はコアで、2 つの重要な要素で構成されています:EVM Base Shard、シャーディングをサポートするハイブリッド実行層とソート機構、そして Game Shard、高性能のゲームエンジンと実行層です。さらに、クライアント - サーバー通信のためのトランザクション中継やネットワークコード、Dark Forest のような ZK ゲームのための ZK Cloud 証明者などの周辺コンポーネントもあります。
World Engine のコアは、私たちのソート機構を中心に設計されています。他のソート機構、たとえば共有シーケンス再構成は、原子的な可組み性を最適化していますが、私たちは特にゲームの文脈において原子的な可組み性が過大評価されていると考えています。したがって、私たちは完全に非同期であり、EVM Base Shard のランタイム下でロックが必要な要求を排除しました。
私たちは、プレイヤーがゲームと組み合わせるためにスマートコントラクトをデプロイできるグローバルな EVM チェーンを持っています。私たちはこれを Polaris の上に構築しました。Polaris は Cosmos SDK 互換の EVM モジュールであり、他のソリューションよりも大きなカスタマイズを可能にします。
EVM Base Shard のソート機構の上にあるのは Game Shard で、高性能のゲームサーバーとして設計された高性能のミニブロックチェーンです。Game Shard は、状態機械や VM に対して無感知に設計されています。私たちは、Cosmos SDK EBCI に似た抽象層を構築し、シャーディングをカスタマイズしたり、標準インターフェースのセットを実装することで独自のシャードを構築したりできます。
私たちは、例を提供するために最初のゲームシャード実装も構築しました。私たちは、ゲームエンジンで一般的な特徴である ECS エンティティコンポーネントシステムを使用し、私たちの構造はエンティティコンポーネントシステムを第一級市民として優先しています。これは、状態機械自体のすべてのオブジェクトまたは原始がエンティティとして扱われることを意味します。このシステムには、ゲームの速度をカスタマイズできる可配置のティックレートもあります。
最良の部分は、インデクサーに依存する必要がないことです。インデクサーの最終的な一貫性の欠如に対処することなく、ブロックチェーン上で迅速に読み取ることができます。さらに、Go でコードを書くことができ、制限のあるスマートコントラクト言語と戦う必要はありません。
私たちの抽象層のおかげで、シャーディングは本質的に無感知であるため、他のシャーディング構造を構築できます。たとえば、あなたの cardinal ゲームシャードを補完する堅牢なゲームシャードを構築できます。また、カスタムルールを持つ NFT ミンティングシャード、ゲームアイデンティティを表すために NFT を使用するゲームアイデンティティシャード、ゲームアイデンティティを取引できるようにすることもできます。私たちはロックを使用しないので、メインスレッドをブロックする必要がなく、ゲームシャードのランタイムをできるだけ信頼性の高いものにし、遅延を回避します。私たちはもはや暗号経済構造に依存する必要はありません。
各シャードは異なる DA バッチ処理圧縮戦略を持つことができます。ゲームの遅延を減らすために、シャードを地理的に配置できます。また、ゲームシャードを独立したゲームサーバーとして実行できるため、初日からロールアップをデプロイする心配はありません。
私たちはゲームシャードの上にさまざまなゲームを構築しました。たとえば、Agar.io のクローンで、これは従来は不可能でした。また、ハイブリッドモデルを使用して、solidity 上で既存のゲームエンジンフレームワークを使用し、それを World Engine と組み合わせることができます。未来はあなたの手の中にあります。私たちの cardinal スタックを使用することも、ハイブリッドを作成することも、独自のゲームシャードを構築することもできます。これは、完全なオンチェーンゲームの Kubernetes のようなもので、あなたのゲームのハイブリッドとマッチングのレゴです。
World Engine は現在私たちの GitHub でオープンソース化されており、新しい貢献者を歓迎します。あなたが最初の World Engine ゲームを構築することに興味があるなら、私たちは今日の後半にワークショップを開催します。明日、私たちはゲームトラッキング、パネル、そしてオンチェーンゲームに関する講義も主催します。
全体として、私たちがよりクールなロールアップを構築しましょう。私たちは今、ロールアップの復興の時期にいます。ロールアップは、ブロックチェーンを拡張し、基盤となる L1 のセキュリティを活用することを可能にします。しかし、私たちは依然として非常に EVM 中心のロールアップアーキテクチャの概念に生きています。これは出発点であり、終点ではありません。私たちの目標は、ユーザーとアプリケーション中心のロールアップ構造です。ご清聴ありがとうございました。
英文版リンク:
https://captainz.xlog.app/World-Engine-Sharded-Rollup-Framework-for-Onchain-Game