自動戦闘するロボットのAIを書き換えて戦わせ合うフリーゲーム「Bot Land」を遊んでみた
「Bot Land」はロボット(Bot)のAIをプログラミングのように書き換えて、書き換えたAIによって自動戦闘するBOTを戦わせ合うゲームです。「AIをこういう風に書き換えれば、ロボットはこういう風に動くはず!」という試行錯誤が堪能できる奥深い奥深いシステムが特徴とのことで、実際にプレイしてみました。
Bot Land
https://bot.land/
公式ページにアクセスするとこんな感じ。Bot LandはiOS版、Android版、PC(Steam、itch.io)版、ブラウザ版が公開されていて、それぞれ無料プレイが可能です。今回は「Play in browser now!」をクリックして、ブラウザ版をプレイしてみます。
「Guest Account」として個人情報を入力せずにサクッとプレイすることも可能ですが、一部機能に制限がかかるので、今回はアカウントを作成します。メールアドレスとパスワードを入力して、「Sign Up」をクリック。
赤枠部分に「ユーザー名」と「確認用パスワード」を入力して、「I have read and agree to the EULA and privacy policy(ソフトウェア利用許諾契約とプライバシーポリシーに同意する)」にチェックを入れ、「Creat account」をクリックするとアカウント作成が完了。そのままゲームがスタートします。
まずはチュートリアルが始まります。このゲームの目的は、画面中央赤枠部分の物体「敵のCPU」を破壊すること。「Next」をクリックして読み進めます。
3機ある自分のBotから、1機をクリックして選択。今回は「Sir Punchalot」を選びました。
「Place two bots on the left side of the Arena(2機のBotをアリーナの左側に設置してください)」と表示されるので、「Got it」をクリックして、実際にSir Punchalotを2機、アリーナの左側に設置。
右下のロケットボタンをクリックするとBOTによる自動戦闘が開始します。
Botが戦闘している様子はこんな感じ。それぞれのBotは「全自動」で行動するのがこのゲームの最大の特徴です。
自動戦闘するロボットのAIを自分で設定できる「Bot Land」の戦闘はこんな感じ - YouTube
戦闘後もチュートリアルは続きます。次のステージでは、敵が強化されているとのこと。敵をクリックして能力の詳細を見ると、今度の敵はミサイルを装備していることが判明。
所有しているBotの中では、戦艦型Bot「Botty McBotface」はミサイルを反射できる防御スキルを有しています。
というわけで、敵のミサイルを反射してくれることを期待して、Botty McBotfaceを3機設置。
期待に応えてBotty McBotfaceがミサイルをじゃんじゃか反射しまくる様子が以下。
自分でロボットのAIを自由に作成できる「Bot Land」で、自機が相手のミサイルをガンガン跳ね返す様子 - YouTube
ステージ3では、今の自機では太刀打ちできない敵が登場。そんなときは、自機BOTのレンチアイコンをクリック。
すると、Botの装備画面に移行できます。今回は「RocketBotboa」に、射程距離に優れる「Ωmegacorp Artillery」を装備させます。
武装を装備欄へドラッグアンドドロップすれば装備完了。このとき「Ⅰ」「Ⅱ」「Ⅲ」と表示されますが、この数字は「スロットを割り当てる数」。RocketBotboaは7つの攻撃スロットを有していますが、そのうち3つまでをΩmegacorp Artilleryに割り当てられるということです。スロットを割り当てた数が多いほど、Ωmegacorp Artilleryの能力が強化されます。
相手の特徴に合わせて自機の武器を変更すると、攻略が楽になります。
また、「自動で攻撃・行動するBotのAIを自分で設定できる」というのがこのゲームの大きな特徴の1つ。「>」アイコンをクリックして、「Edit script」を開きます。
すると、BotのAI編集画面へ。今回のBotには、最初からAIを有していました。
細かく見ると、上側の緑色のカードは注意事項が書かれた「comment(コメント)」。真ん中の紫色のカードはスクリプトの基本的な設定を示す部分で、「最も短い距離の敵BOTを『closestEnemyBot』として定義する」と書かれています。
青色のカードが、BotのAI部分。「もし『closestEnemyBot』が存在しない場合、『figure it out for me』を実行する」というもの。言い換えると、「もし近くに敵Botが見当たらない場合は、勝手に行動する」という感じ。
もっと複雑な動作を設定したい場合は、左側のバーからスクリプトを持ってくることが可能。「lay mine」を選択して、表示されたスクリプトをドラッグ。
そのままキャンバス部分にドロップすると、スクリプトを自由な位置に持ってこれます。もともと存在していたスクリプトの間に挿入することも可能。
条件文の部分だけを入れ替えることもできます。
不要になったスクリプトは、右下のゴミ箱アイコンに突っ込むだけで削除完了。
今回は、「足元に地雷を設置するスキル『lay mine』を行った後、左に1マス移動する」という設定を追加しました。
するとBotはこんな感じに行動してくれます。
「Bot Land」で上手に設定するとBOTは賢く敵を倒してくれる - YouTube
プリセットからスクリプトを持ってくることも可能ですが、それだけでは「ある程度動く」というレベル止まりで、「優秀なAI」とはいえません。自分の思い描く作戦を実行させるためには、スクリプトを突き詰める必要があります。
そうして改造した自分のBotで、他のプレイヤーに挑むことが可能。
算出された戦闘力によって、相手が自動で決定され、攻め込むことができるようになります。
逆に自分が他のプレイヤーに攻め込まれてもいいように、「Defense」で防衛用のBotを配置することも可能です。Defenseによって設定した防衛用BOTは、自分がオフラインのときも敵の相手をしてくれます。
他のプレイヤーに勝ったり、チュートリアルやキャンペーンを進めたりすると、ゲーム内通貨の「Botcoin」を入手。このBotcoinで武器や防具、スキルなどが購入可能です。
実際にプレイしてみると、相手のBotの能力を見てから自由に戦略を決定できるので、「こうすれば勝てる…… いやこのほうが強いか……?」と試行錯誤が好きな人にはたまらないシステム。チュートリアルはプログラミングについて詳しくない人でもプレイについて理解できるように丁寧に作られているので、このゲームを通してプログラミングの仕組み自体を学ぶこともできそうでした。
・関連記事
ルールの「言葉」を改造しまくって謎を解くNintendo Switchのオブジェクト指向型パズル「Baba Is You」を遊んでみた - GIGAZINE
Nintendo Switchでプログラミングそのものがパズルと化す「ヒューマン・リソース・マシーン」日本語版でデスマーチ回避にトライしてみた - GIGAZINE
Nintendo Switchのパズル感覚でプログラミングを楽しめる「セブン・ビリオン・ヒューマンズ」で70億の社員を優しくこき使ってみた - GIGAZINE
Nintendo Switchでシンプルながらも病みつきになるパズルRPG「Puzzle Quest:The Legend Returns」をプレイしてみた - GIGAZINE
Googleが無料で3Dゲームを簡単に作れるゲーム「Game Builder」を発表 - GIGAZINE
無料でプログラミングを知らなくてもゲームボーイ向けのゲームを開発できる「GB Studio」が公開中 - GIGAZINE
Nintendo Switchで誰でも簡単にプログラミングが可能でオリジナルのゲームも作れる「FUZE for Nintendo Switch」 - GIGAZINE
・関連コンテンツ