今後の展望
まもなく、Keystone には、ロビーやセッションのあるゲームに役立つ、ゲームの水平スケーリングを可能にするデプロイメント サービスなどの追加のツール スイートが含まれるようになります。
Keystone は、オンチェーン ゲーム構築の複雑さを抽象化して、開発者が優れたコンテンツとゲーム デザインに集中できるようにします。社内では、Keystone を使用して主力ゲームを開発しています。当社のゲーム スタジオは、miHoYo (Genshin Impact)、Lillith Games (Rise of Kingdoms)、Funplus (King of Avalon) などから集まった世界クラスのチームによって運営されています。ゲームの最新情報をすぐにお知らせできることを非常に楽しみにしています。
実行
システムに編成されたゲーム ロジックは、Solidity ではなく Go で記述されているため、開発者は既存のライブラリとサード パーティのサービスを最大限に活用しながら、パフォーマンスを大幅に向上できます。Keystone の心臓部は、ペースの速いゲーム ティックです。各ティックで、最後のティックから送信されたトランザクションがシステムを介して処理されます。トランザクションはスマート コントラクトと同様にアトミックに実行され、Keystone は 1 秒あたり数百ティックで 1 秒あたり数万件のトランザクションを快適に処理できます。
データの改ざんを防げる
ブロックチェーンは、取引データの改ざんを防げます。一般的な中央集権型のシステム管理と異なり、1つのサーバーにデータを格納することなく、複数のコンピュータで同じデータを管理しているためです。
また、ブロックチェーンの各ブロックを格納する際に、ハッシュ値によって暗号化されています。各ブロックを改ざんしようとすると、正しいハッシュ値を算出するために、過去のブロックも変更しなければなりません。このように、改ざんが難しい状況を作り出せるのが、ブロックチェーンのメリットです。
システムがダウンしにくい
ブロックチェーンでは、複数のコンピュータが相互に通信するP2Pネットワークを採用していることから、システムの安定性に優れています。従来の中央集権型のシステムと異なり、一部のコンピュータがシステムダウンしても、サービスが止まることなく動き続けられます。
さらに、参加者であるノードからデータが消えてしまっても、ほかのノードがデータを記録しているため、情報の公明性にも利点があります。
ランニングコストが安い
ブロックチェーンは、ランニングコストの削減にも期待できます。従来のサーバークライアント方式では、一箇所のサーバーにデータを記録していたことから、高スペックのサーバーを用意する必要があるほか、保守・点検にコストが発生していました。
一方、ブロックチェーンでは、取引に参加しているノードが処理を受け持つため、運営者側での負担を軽減します。また、運営全体に費用をかけずに済み、参加者にとっても低価格で利用しやすくなるのがメリットです。
オンチェーン ゲームには、より高性能なシステムが必要でした。単一の EVM ブロックチェーン上に構築されたゲームは、多数の同時ユーザーを処理することはできず、数百万人に拡張することはなおさら不可能です。単一のブロックチェーン上に大規模なアプリケーションを展開すると、1 つのゲーム インスタンスが別のインスタンスのパフォーマンスを大幅に低下させます。基本的に、EVM は、ストレージ構造からトランザクションの処理方法まで、ゲーム固有のニーズに合わせて最適化されていません。
ブロックチェーンには、ゲーム構築に不可欠な機能が欠けています。従来のゲーム サーバーはティック駆動型で、高性能なゲーム ループで実行され、プレイヤーのリクエストを自動的に処理できます。ただし、ブロックチェーンの性質上、これらのシステムを便利に構築することはできません。開発者は、同様の効果を得るために遅延更新値に頼り、開発者のエクスペリエンスを妨げています。
孤立した開発者エクスペリエンス。EVMツールはかなり成熟していますが、スマート コントラクト言語は、便利なライブラリからサードパーティ サービス (リーダーボード、ID サービス、マッチメイキング) まで、ゲーム用の既存の成熟したツールチェーンとエコシステムを最終的に活用することはできません。
さらに、Keystone はトランザクションの再生をサポートしています。ユーザー トランザクションを決定論的に再生することで、開発者はゲームの状態を任意の時点に瞬時に巻き戻すことができます。これは、デバッグや分析の収集などに便利なツールです。
Читать полностью…国家管理
Keystone は、ECS にヒントを得たテーブルベースの状態管理システムを使用します。各エンティティは、Go で完全な型サポートを備えたスキーマ構造体に関連付けられています。JavaScript または Unity のクライアントは、追加のコードなしで状態を自動的に同期するようにサブスクライブできます。また、インデクサーの必要性を完全に排除し、レイテンシを大幅に削減しました。Keystone から直接データ ストリームをクエリおよびサブスクライブします。