こんばんは。夜中たわしです。
今回は『マリオネットAI』というインディーズゲームを紹介します。
本作はAI(人工知能)を構築し、チェスや将棋風のフィールドでユニットを戦わせるゲームです。対人戦も可能です。
カルネージハートやFF12の戦闘(ガンビット)が楽しめた方には無条件でおすすめできます。
提供されているのはPC版とAndroid版があり、PC版についてはつい先程Steamでも配信開始されました。
このゲームは開発者の方が偶然当ブログのゲームレビュー記事(ヒューマン・リソース・マシーン)を見つけて、似たテイストのゲームなので私の好みに会うのでは? とレビューの依頼をかけてくださいました。
お目が高い。遊んでみたところ、めちゃめちゃハマりました。
これはブログを書いてなかったらおそらく出会えていないです。
ありがたや。ありがたや。
ゲームシステム
こちらが戦闘中の画面です。
チェス盤を模したフィールドで、キング、ナイト、クイーンなど、これまたチェスの駒の名前を持つユニット達が戦います。左の赤いユニットが味方で、右の青いユニットが敵になります。
勝利条件は相手キングの撃破、もしくはキング以外のユニットを6体倒すこと。キングは移動できません。
なおキングは撃破されると終わりですが、その他のユニットは撃破されても一定時間で復帰します。
自動戦闘とAI構築
本作の戦闘は完全に自動で行われます。なのでプレイヤーが戦闘中にできることは何もありません。
せいぜい早送りボタンを押せる程度です。ひたすら祈りながら見守りましょう。
ならプレイヤーに何ができるかというと、戦闘前の準備です。
この画面をご覧いただければ、人によってはピンとくるでしょう。
そう、ユニットごとに戦闘中の状況に応じた行動をプランとして設定できるのです。
上記のように設定すると、4マス以内の距離にいる敵がいれば最小HPの相手に進撃(近づいて攻撃)し、対象の敵が存在しない場合は敵キングに近づく、といった動作を行います。判定は上から順に行われます。
5種類の命令しか定義できないため大したAIが組めそうにないと感じるかもしれませんが、
このプランは計6種類定義することができ、戦況に応じて切り替える事が可能です。まるで状態遷移図(ソフトウェアの設計時にしばしば使う図)じゃないですか。よもやゲーム内で状態遷移図を見る日が来るとは。いいじゃん。
このプラン変更設定という概念によって、戦略の幅が大幅に広がります。
たとえば自分のHPが少なくなりすぎると逃げのプランに変更したり、時間切れが迫ってきてかつ負けてれば敵キングに特攻するなど、発想次第で色々できそうです。
敵の残数がいくつで……味方が近くに何人いて……さらに残り時間が50秒以下なら……てな感じで、かなり高度なAIも作成可能なのです!!(私にはまだ無理です)
文章と画像で頑張って説明してきましたが、紹介動画を見たほうがイメージがつかめると思います。少しでも興味を持った方は御覧ください。
AI道場(1人用モード)
ここからは各種モードの紹介です。
CPUのAIと戦う、いわゆる1人用のモードがあります。
ステージは現状で16ステージ。同一AIでのステージクリア数に応じて使用可能なユニットが開放されていきます。
まずはこれらのステージすべてをクリアするのが1つの目標になるでしょう。
進め方としては、とりあえず挑んでみてクリアできなければAIを調整してリトライ、というのを繰り返す形になります。戦闘の内容から敗因を推測し、それをカバーするAIに作り変えましょう。トライ&エラーです。
適当に攻め込んで袋叩きに合ったなら、敵が攻めてくるのを待って返り討ちにするか……それとも攻撃補助をかけて一気に畳み掛けるか……いやいや、特定のユニットがやられやすいから、そいつに防御補助をかけておくか……?
このように仮設を立て、試行錯誤しながらのAI構築。そしてその作戦が実り勝利した時の気持ちよさ! これが本作の一番の醍醐味です。
ちなみに特定のステージでの勝利だけを考えてAIを組むと、別のクリアできていたステージで負けるようになってしまう、といったことが往々にしてあります。
既存ステージがクリアできるAIを残したまま、別のステージにも対応できるように構築する……。それが腕の見せ所です。
超高速連続処理
通常はステージを選択すると戦闘画面に移行し、戦闘を眺めることになるのですが、何度もAIを調整しているとクリア済みのステージに再度挑戦するのは面倒なもの。
そんな時は「超高速連続処理」を使いましょう。
こちらにチェックを入れると、選択したステージ以降を自動でプレイしてくれます。しかも、戦闘画面への移行なしで。なので16ステージ全部を流す場合でも一瞬で終わります。
めちゃくちゃありがたい!
この際特定のステージで負ける、あるいは引き分けの場合はそのステージで処理が停止します。そうなった場合、その負けたステージでどう負けたのかを今度は普通に見て、対策を考える……といった流れになるでしょう。
これは完全にプログラミングで言うところのデバッグ……というか「テスト駆動開発」ってジャンルだと思います。
※テスト駆動開発:まずテストを用意し、そのテストを通過する実装を行う……を何度も繰り返すプログラミング手法
これ、延々と楽しめます。
実際の仕事だといつデバッグが終わるんだと責め立てられそうなものですが、これはゲーム。文句を言う上司はいません。心ゆくまで納得の行くアルゴリズムを追求することができます。
おかげさまで、追求していたら朝の3時になっていました。
対人戦
さて1人用に慣れてきたら、次に挑むのは対人戦です。
対人戦と言っても構える必要はありません。リアルタイムでプレイヤー同士がログインしていないとダメ、なんてことはなく、他人の作ったAIが自動でアップロードされているのでそれと勝手に戦うだけです。
基本はAI道場と同じで、負けたらそれを上回るAIを構築することで高みを目指すというもの。
勝ち負けに応じてレートが変動するので、勝ち続ければより強い相手と戦えます。
ただ今回はCPUではなく対人戦。一筋縄ではいきません。見たことのない戦術を次々と目のあたりにすることでしょう。
たとえば驚いたのは、敵が味方同士で殴り合っているのを目撃した時です。
本作のAI構築は結構何でもありで、攻撃の対象に味方を指定すれば、普通に味方を殴れます。構築ミスで味方を殴り始めた時は焦りました。「この機能、何のために存在してるんだ!」と思いましたね。
そういう経験があったのでこの時も「敵側の構築ミスかな?」と思いましたが、違いました。
ユニットによっては「攻撃を繰り返すと自身の能力が上がる」という特殊能力を持っているやつがいます。普通は敵を攻撃して能力を上げるところですが、別に味方を殴っても能力は上がるので、殴り合いにより最速で能力を高めてしまう、という戦略だったのです(通称:「投資」)。
衝撃的でした。もちろんボッコボコに負けました。
このように、対人戦ではしばしば目を疑う戦術に出会い、「その手があったかー! やられた!!」となります。
こういう技は積極的に盗んでみるのもいいんですが、私は味方同士で殴り合うのは痛そうで見てられないのでやめておきました。
毎月の大会
毎月、大会が開催されています。
対人戦でのレートの上位者がエントリーされて戦う形式になっています。大会と言っても、構築AIを送信しておけば勝手に戦わせてくれるので、こちらとしては見てるだけ(実況動画が配信されます)。ラクチンです。
優勝者のAIは1人用モードのAI道場に登録され、いつでも戦えるようになります。これは嬉しい!
ということで「何かの間違いでいきなり優勝しないかな」と私は大会への出場を決意しました。
問題は、プレイし始めてから3日後に大会が迫っているという事実。締め切り直前に半日ほど潰して対人戦を続け、それなりのAIを作りました。
ですがやはり戦いの世界は厳しいもの。普通に1回戦で負けました。
対戦内容はなかなか壮絶で、
防御力を限界近くまで上げたほぼ無敵のユニットが完成し、一方的にキングを攻撃できるようになったため「もう勝ったな」と思ったんですが、これまた攻撃力をものすごく上げた敵ユニットに殴られてしまい、ダメージが「1」だけ入ってやられたことが原因で敗退しました。
HPの最大値は100もあるのに、残りHP1だったんかお前……。
興味があれば大会動画を御覧ください(私の試合は8:50くらいからです)。
大会で勝つには
1回戦で敗退しといて勝つ方法を語るなんて滑稽なんですが、少し大会を戦うコツについて。
AI同士には戦略の相性があり、最強のAIというものは存在しないようです。どんなAIにも何らかの付け入るスキはあります。
ということはその時流行っている戦略を推測し、できるだけ多くのプレイヤーに対し相性のいいAIを構築すれば優勝に近づくことでしょう。
大会ではそのような予測力や、運も求められます。
それを踏まえて……次回はとりあえず1勝したいです。
コミュニティ
本作にはSlackというチャットツールでコミュニティが作られており、開発者の方や他プレイヤーの方と気軽にやり取りが可能です。
開発者の方はかなりフットワークが軽く、ここで提案した内容がゲームに採用されることもよくあるそうです。
達成した実績に応じてトロフィーを獲得できる機能がありますが、これも提案により採用された機能だそう。
まだまだバージョンアップが続いているので、今後が非常に楽しみなゲームです。
マリオネット初心者あるある
最後に、マリオネットでありがちなこと(私に起こった悲劇)を紹介して終わります。
主にプレイ経験のある方向けなので、未プレイの方はムードだけ感じてください。
- 適当にAI構築したら、何もせず突っ立っているユニット続出
- 構築ミスにより敵に対し補助をかけまくる味方
- クイーンのAIを流用してルークを作ったら、ルークがダメージを受けた味方を狙って遠距離攻撃をし始めた(固有能力がクイーンの場合は回復、ルークの場合は遠距離攻撃のため)
- キングは移動できないからAIは組めないのかな? とそのまま対戦したら無抵抗で殴られっぱなしに(もちろんAIを組まないと攻撃しない)
- それならとキングを最小HPの敵を攻撃するよう設定したら、またもや無抵抗で殴られっぱなしに(最小HPの敵が遠くて攻撃できない上、キングなので移動もできない)
- 負ける度にAI構築で例外的な動作を追加してたら、AIがスパゲッティ化して自分でも理解不能に
※これ以上どう編集していいかわからなくなった例
おわりに
さてお気づきかと思いますが、かなり人を選ぶゲームです。
レベルのような概念はなく、プレイし続ければ攻略しやすくなるなんてことはありませんし、戦闘にランダム性も全くありません。AIを変更しない限り戦闘の結果は必ず同じになります。
めちゃくちゃ頭をつかいます。しかしそれこそが本作の魅力。その一端を少しでも感じた方は、ぜひ遊んでみてください。やみつきになります。
今ならPCで遊ぶ場合はSteam版をご購入ください。
Android版を遊ぶならこちらから。
https://play.google.com/store/apps/details?id=com.FromAlgorithm.MarionettePro
最後に公式サイトはこちらです。
https://fromalgorithm.jimdo.com
現時点ではまだプレイヤーが少ないので、大会に参加すること自体は難しくありません。
私は次回大会ももちろん参加するので、ぜひ戦いましょう!
※追記:iOS版も追加されました(オンライン未対応)
関連記事
プログラミング系パズルゲーム『ヒューマン・リソース・マシーン』がすごい!(クリア後感想) - 夜中に前へ
【感想】オープンワールド型パズルゲーム『The Witness』に衝撃を受けた(PS4/Steam/スマホ) - 夜中に前へ