🌅

【日本語】Arweaveの「AO」テストネットチュートリアル - クエスト2

2024/03/13に公開

【日本語】Arweaveの「AO」テストネットチュートリアル - クエスト2

前回まで

今回はクエスト2に挑戦します。ここのクエストは流れに沿ってコマンドを叩いていくだけでクリアできますが、クエスト3をやるためには何をしているのか理解する必要があります。
ゆっくり進みましょう。

Bots-and-Games

前の章で得た洞察を活用して、このセクションではaosでのボットを使用した自動化とゲームの構築について説明します。自律型エージェントを作成し、それらを使用してゲーム環境を効果的にナビゲートしたり相互作用したりする方法を学びます。 チュートリアルを参照してください。
完了したら以下のコマンドを実行して報酬をゲットしてください。

Send({Target = "Lz8WE41Ou1RbAiu5Ghm7_xLzVIylYM3iy8A7C6sJraY", Action = "Claim", Name = "Bots-and-Games" })

前の章からの洞察を活用し、このセクションではaosでのボットを使用した自動化とゲームの構築について説明します。自律型エージェントを作成し、それらを使用してゲーム環境を効果的にナビゲートしたり相互作用したりする方法を学びます。

ゲームを始める

Let's Play A Game!

あなたはチャンピオンのようにチュートリアルを進めてきました!さあ、リフレッシュして、エキサイティングなものに飛び込んでみましょう。学習の旅に楽しさを加えるゲームはいかがでしょうか?

AO-Effect


これはどんなゲームでしょうか?ao-effectは、友達や他のプレイヤーとリアルタイムで、ターミナルから世界中で競い合えるゲームです。この冒険のために、グローバルなゲームプロセスを設定しました。
ルールはシンプルです。各プレイヤーは、40x40のグリッド上体力100エネルギー0の状態でスタートします。エネルギーは時間とともに最大100まで増えます。グリッドを移動し、他のプレイヤーを見つけ、エネルギーを使って攻撃します。1人だけが残るか、割り当てられた時間が経過するまでゲームは続きます。
ゲームのメカニクスのガイドアリーナの拡張のガイドをチェックして、ゲームの理解を深めてください。

ao-effectの冒険の準備

このグローバルな冒険に参加するには、いくつかの準備が必要です。心配しないで、簡単です!

まずはゲームIDを設定します。ゲームサーバーIDを手元に用意しておきましょう:

Game = "3HSmhQ-lHaCQlOKtq5GDgbVQXQ6mWIp40uUASAG13Xk"

これだけでゲームに参加する準備が整いました。

ゲームに登録する方法

早速ゲームを始めるために、ゲームサーバーに登録します。
ao内のプロセス間通信はすべてメッセージを介して行われます。登録するには、次のメッセージをゲームサーバーに送信します:

Send({ Target = Game, Action = "Register" })

これにより、待機ロビーに入ります。場所を確保するには、少額の手数料が必要です。

場所を確保します

場所を確保するにはトークンが必要です。次のメッセージをゲームに送信してトークンを取得できます:

Send({ Target = Game, Action = "RequestTokens"})

トークンを受け取ったら、次のようにゲームの参加料金を支払って場所を確保します:

Send({ Target = Game, Action = "Transfer", Recipient = Game, Quantity = "1000"})

数秒待って、ターミナルでプレーヤーの支払いとステータスのライブアップデートが表示されます。

ゲーム開始!

少なくとも2人のプレイヤーが支払った場合、2分間の待機時間の後にゲームが始まります。
支払いを行わなかったプレイヤーは削除されます。十分なプレイヤーが支払わない場合、支払ったプレイヤーには返金されます。
プレイヤーはゲームが開始されるとランダムなグリッドポイントにスポーンします。

あなたの番です!

最初にできることは、エネルギーが必要ない移動だけです!任意の方向に1つのマスを移動できます。
上、下、左、右、または斜めに。方向とともに、プレイヤーIDも渡して、ゲームがあなたの動きを識別できるようにします。次のようにします:

Send({ Target = Game, Action = "PlayerMove", Player = ao.id, Direction = "DownRight"})

グリッド全体で利用可能な移動は次のとおりです:

Up = {x = 0, y = -1},
Down = {x = 0, y = 1},
Left = {x = -1, y = 0},
Right = {x = 1, y = 0},
UpRight = {x = 1, y = -1},
UpLeft = {x = -1, y = -1},
DownRight = {x = 1, y = 1},
DownLeft = {x = -1, y = 1}

忘れないでください:方向は大文字と小文字を区別します!
グリッドから移動すると、逆側にポップアップします。

攻撃の時間です!

ゲームが進行するにつれて、エネルギーが蓄積されます。そのエネルギーを使用して、3x3グリッド範囲内の他のプレイヤーを攻撃します。
あなたの攻撃はあなた自身には影響しませんが、範囲内の他のプレイヤーに影響します。

Send({ Target = Game, Action = "PlayerAttack", Player = ao.id, AttackEnergy = "energy_integer"})

ヘルスは100から始まり、他のプレイヤーからの攻撃で減少します。0に達すると、あなたのゲーム終了です。

終わり

1人のプレイヤーだけが残った場合、または時間切れの場合、ゲームが終了します。
勝者は報酬を受け取り、次のラウンドのためにロビーに戻ります。

ゲームは楽しかったですか?楽?さらに楽しみたい場合や、勝率を上げる方法がありますよ!次のガイドをチェックして、あなたもやってみましょう!

以下の記事は途中です

自動化によるゲームの相互作用の向上

  1. アナウンスの解釈:ゲーム内のアナウンスを解釈する
  2. ゲーム状態の取得:最新のゲーム状態を取得して処理する
  3. 戦略的な決定:次の行動を決定するために自動化を活用する
  4. 自動化された応答:攻撃応答を自動化して効率化する
  5. 統合する:スキルを組み合わせて自律型エージェントを作成する

ゲーム開発の洞察

  1. アリーナのメカニクス:ゲームのアリーナの基礎的なメカニズムを探索する
  2. アリーナの拡張:アリーナ上に独自のゲームロジックを構築する
    発見と創造の旅が待っています。冒険を始めましょう!
GitHubで編集を提案

Discussion