Dark Forest は、Ethereum ブロックチェーンをベースにした分散型ストラテジーゲームであり、プレイヤーはゲーム内でリソースを収集し、基地を建設し、技術を開発し、武器を集め、他のプレイヤーと戦い、リソースを争奪することができます。
Dark Forest では、各プレイヤーが自分自身の惑星を所有し、惑星上でリソースを収集し、基地を建設し、技術を開発して戦闘能力を向上させる必要があります。プレイヤーはリソース生産施設、技術研究、武器製造施設を使用して、戦闘で優位性を得るために建物や武器を生産することができます。
プレイヤーが宇宙空間を飛行する際には、常に偵察と探索を行い、他の惑星やリソースを発見する必要があります。2 人のプレイヤーが同じ惑星を同時に発見した場合、その惑星に対して攻撃を行うか逃げるかを選択することができます。攻撃時には、プレイヤーは自身の武器を使用して相手の基地を攻撃し、相手のリソースを奪う必要があります。
Dark Forest の特徴は、ゲームが完全にブロックチェーン技術に基づいていることです。各プレイヤーの惑星とリソースはすべてブロックチェーン上に保存され、改ざんや削除はできません。さらに、Dark Forest は中央集権化されたゲームではなく、すべてのプレイヤーが共同で維持および意思決定する分散型ゲーム(DeGame)です。
Dark Forest は、戦争の迷霧システムを全チェーン分散型ゲームに初めて導入したゲームであり、V 神の承認を得ています。この記事では、このようなリアルタイムストラテジーゲームが全チェーン環境でどのように実現されるかについて詳しく解説します。@DfArchon は不定期に「Community Round」を開催しており、興味のある方はテストに参加することもできます。
ゲームの種類について話しましょう。まず、MMORPG と MMORTS ゲームを比較します。
-
MMO-RPG ゲーム:マルチプレイヤーオンラインロールプレイングゲームであり、オープンワールドであり、ゲームに終わりはありません。ゲームの楽しみは、ストーリー性とメタユニバースのゲーム世界を体験することです。例えば、World of Warcraft です。
-
MMO-RTS ゲーム:マルチプレイヤーオンラインストラテジーゲームであり、比較的小さな閉じた世界であり、ゲームはラウンドごとに始まりと終わりがあります。ゲームの楽しみは、ストーリーの背景でのマルチプレイヤー対戦であり、リソースを獲得し成長させて敵を撃破するために戦略を使うことです。代表的なものには、StarCraft や Warcraft などがあります。1 ラウンドは 20〜40 分です。
-
DF は MMORTS ゲームです。多くのプレイヤーが同時に参加できるため(最大で数千人)、ブロックチェーンの TPS に制限があるため、1 ラウンド(round)の持続時間は約 10 日間です。勝敗はランキングによって決まり、主にゲーム内で獲得したリソース(PVE の自由な獲得と PVP の略奪)によって得点が決まります。ゲームの一時停止中は、ユーザーはゲームのスマートコントラクトとのやり取りはできません。
実際の操作#
最初は公式ラウンドのみで、招待コード(キー)を使用して参加する必要がありましたが、現在はロビー機能が追加されたため、誰でも自分自身のラウンドを作成できるようになりました。したがって、いわゆるコミュニティラウンド(コミュニティが主催する競技会のようなもの)が生まれました。ホームページhttps://zkga.me/ にアクセスし、「Create Lobby」をクリックすると、以下のような Lobby 設定ページに入ります。
ゲーム設定:エネルギー / シルバーコインの回復速度や航行速度を変更することで、ゲームの速度を調整できます。
ワールドサイズ:宇宙の半径を変更することで、マップのサイズを変更できます。
スペースタイプ&バイオーム:ゲームマップを選択します。
プラネット:惑星の基本パラメータを設定します。
プレイヤースポーン:プレイヤーのパラメータ設定を生成します。
スペースジャンク:このゲームアイテムのパラメータ設定。
キャプチャゾーン:占領エリアのパラメータ設定。
アーティファクト:このゲームアイテムのパラメータ設定。
管理者権限:ホワイトリストプレイヤーをオンにするかどうかを設定します。
高度なスナーク:戦争の迷霧のパラメータ設定。
Lobby の詳細な使用方法については、次の公式の解説を参照してください:
https://blog.zkga.me/introducing-dark-forest-lobbies
Dark Forest は見た目は複雑に見えますが、基本的なゲームルールは非常にシンプルです。惑星にはエネルギー値があり、このエネルギー値は距離の伸びに伴って減衰します。惑星間のジャンプは相互攻撃であり、勝敗は減衰後のエネルギー値の大きさで判定されます。もちろん、ゲームのプレイ方法については、既に多くの記事や動画がありますので、ここでは詳細な共有はしません。
開発者ドキュメントの分析#
開発者ドキュメントでは、ゲームの開発アーキテクチャについてフレームワーク的な説明がされており、プラグイン開発者、Web クライアント開発者、ゲームコントラクト開発者、ZK 回路開発者向けにそれぞれ説明されています。
ブロックチェーンへの接続
ゲームは xDai の layer2 上で実行されており、現在の Gnosis Chain です。ゲームは実行中にコントラクトとの大量のやり取りが必要なため、内部に RPC ノードが組み込まれています。Gnosis チームはこのゲームのために専用のノードを開設しています。
プラグイン
Dark Forest では、プレイヤーがプラグインシステムを使用してデフォルトの Web クライアントをカスタマイズすることができます。プラグインは、プレイヤーが作成できるコードスニペットであり、代替ビューの生成、一般的なゲームプロセスの自動化、さらにはゲームスキンの再設計など、さまざまな方法で Web クライアントとのプログラミングインタラクションを提供します。
マイニング
Dark Forest の重要なメカニズムは、そのパスワード戦争の迷霧です。ゲームに最初に参加すると、他のプレイヤーの位置がわかりません。プレイヤーはハッシュ値を計算して宇宙の興味深いポイント(惑星や他のプレイヤーの位置など)を発見する必要があります。これらのハッシュ値はブラウザのローカルストレージに保存され、秘密データとして扱われます。デフォルトの Web クライアントでは、JavaScript マイナーを使用して宇宙を探索しますが、ハッシュレートを向上させるために CPU コアの横にあるマイニングボタンを変更するなど、さまざまな方法でハッシュレートを向上させることができます。実際のコア数よりも大きな値を設定しようとすると、マイニングパフォーマンスは安定します。
スナーキング
Dark Forest は ZK-Snark 技術によってサポートされており、ZK-Snark 技術は、関数の入力や論理を漏洩せずに関数の正当性を証明するための暗号技術です。Dark Forest では、この技術を使用してゲーム内の移動の妥当性を検証し、惑星の位置をチェーン上で覗き見ることなく行います。この技術(Zk-snark Proof Generation)は計算上非常に高価です!そのため、この ZK-Proof をブラウザの外部で計算するために、ローカルで Node.JS を実行する必要があります。もちろん、ゲームはリモートサーバーを使用してこのサービスを実行することもできます。
まとめ
革新的なフルチェーンゲームである Dark Forest の開発は遅いと思われるかもしれません。その理由の 1 つは、これがコミュニティ主導のプロジェクトであるため、分散化は保証されていますが、開発効率には影響を与えています。最後の official round は 2022 年 2 月に行われました。Web クライアントの更新は 2020 年 10 月であり、サードパーティ(コミュニティ)のプラグインの更新は多少活発であり、2022 年 7 月の nightmarket(匿名のトレードプラネット座標)や 2022 年 3 月の lobby などがあります。