Gladiabots

Gladiabots

Not enough ratings
Gladiabots 日本語ガイド
By グミン
gladiabotsをプレイする上での基本的な説明+αです。
・各ボットの説明
・チーム編成例
・基本的なAIフロー
・いくつかのTIPS
   
Award
Favorite
Favorited
Unfavorite
各ボットの説明
アサルト、ショットガン、マシンガン、スナイパーの4種類がおり、4対4の場合はアサルト以外は1機までしか入れられません。
※このゲームでは全ボットの射程は同じで、その中で命中率が異なります。1ティックは1フレーム、1コマと考えてください。

【アサルト】
○足が速く、エイム時間が5ティックで素早い照準切り替えができるため、遠距離から安定して敵を削りやすい
○特に複数のアサルトと組み合わせると、非常に高い攻撃力を発揮でき、機動力があるため突破力となる
○足が速くショットガンと違い長距離でも攻撃できるため、マップ端の資源回収にも使いやすい
✕スナイパーよりはマシだが防御力が低く、集中砲火されるとあっという間に後退を余儀なくされる
✕DPS自体は一番低い。あくまで状況に合わせたターゲット切り替えと集中砲火ができて初めて光る

【ショットガン】
○足がダントツに速く、シールド容量が大きく回復も速いため防御力に大きく秀でる。敵弾の吸収役として優秀
○そのためスタート直後のマップ中央リソースの取り合いにて大きく有利になる。序盤で大きなアドバンテージ
○遠距離では命中率が0%なものの、中距離以内では高いDPSを誇り、その防御力と機動力もあり接近できれば非常に強い
○ほとんどのマップで左右のリソースも回収しなければならないが、足が速いので時間をかけすぎずに回収を見込める
✕遠距離で攻撃できないので戦闘が難しい。密集している場合は接近するほどリスクが高まるので状況判断が必要
✕チーム全体のDPSが下がる。ショットガンが敵を攻撃できる機会は少なく、敵を集中砲火する際に削りにくくなる
✕AI作成が難しい。中距離以内でしか命中しないので、狙っている最中に敵が離脱してしまうことがあるなど
✕他のボットと違い戦場を駆け回ることが多いため、様々な状況を想定してAIを作らないと容易にハマる

【マシンガン】
○シールド容量が圧倒的に高く、機体本体も頑丈で、シールド回復も速いため壁として最適
○敵にある程度以上近づいてから攻撃できれば、非常に高いダメージを与えられる。自身が頑丈で射撃を続けられるため
○リソースを運んでいる最中も足が遅くならないため、近くにリソースがあれば超優秀なリソース回収役になる
✕足があまりに遅く、試合開始時の展開が遅れるため他のボットに負担をかける
✕足があまりに遅く、敵への接近、敵からの離脱などのAIが難しい。敵味方の状況をよく判断すること
✕エイム時間が7ティックと長いため、敵に射程外へ逃げられるとDPSがとてつもなく低くなる。接近するにも足が遅い
✕そのDPSが遠距離ではアサルトより少し上の程度なので、ある程度接近できなければ攻撃面で貢献するのは難しい

【スナイパー】
○射程内であれば必中、DPSが距離によって変化せず、遠距離のアサルトの2.8機分とダントツで高いDPSを持つ
○このゲームでは95%以上の射撃が遠距離で行われることを考えれば、いかに攻撃力が高いかわかる
○敵のスナイパーを抑えるのに一番適したボット。1発当てた後にアサルトで狙えば敵スナイパーはどんどん下がる
✕エイム時間が12ティックと非常に長いため、射撃目標を適切に設定しないと撃てないことが多くなる
✕防御力が非常に低いため、集中砲火されるとあっという間に下がらざるを得なくなる
✕防御力が低いためあまり近づきたくないが、エイム時間が長いので近づかないと逃げられるというジレンマ
✕相互のスナイパーがどれだけ射撃できたかが状況を大きく左右するので、適切な状況判断が必須で難しい
チーム編成例
【全ボット1機ずつ】
全てのボットの長所を活かしたい場合に最適で、4種類分のAIが必要な上に適切な連携ができないといけないが、多くの状況に対応しやすいため良いAIができれば安定する。私もこれ。
具体的に言うと、足の遅いマシンガンがいるもののショットガンがいるので序盤の中央リソースの取り合いでさほど不利にならず、ショットガンとマシンガンがいるので十分な防御力を備えている。
しかしショットガンは接近しないと撃てず、マシンガンはエイム時間が長いために攻撃力は一番低い編成。
敵の撃破でなく、あくまで防御力を活かして前線を押し、適宜左右のリソースの回収も狙うと強い。

【3アサルト 1スナイパー】
私がスコア1800まで使ってた編成で、攻撃力が一番高い組み合わせ。
スナイパーはエイム時間が12ティックでアサルトは5のため、7のタイミングでアサルトがスナイパーと同じ敵を狙うと全ボットが同じタイミングで撃てる。
敵からするとそれまで1ボットからだけ狙われていたのに、急に5ティック後に集中砲火されるので対応しにくく倒しやすい。
ただしこの編成の長所は攻撃力だけであり、ショットガンがいないので中央リソースの取り合いは不利、ショットガンとマシンガンがいないので防御力も低い。
敵ボットが早いタイミングで下がってしまうなどで、敵ボットを撃破できないと防御力が低いこちらのほうが辛くなっていく。
2つのAIを作るだけで組めるので初心者にも向いている。

【2アサルト 1ショットガン 1スナイパー】
3アサルトだと中央を取られるし防御力が低いということでショットガンを入れた編成。
確かに安定するが肝心のチーム全体でのDPSが下がるので敵機の撃破がほとんど見込めなくなる。

【4アサルト】
中級までで見られる、機動力と攻撃力が高い編成。全てのボットで同じ敵を狙えば高いDPSを発揮できる。
アサルトの足が速く、エイム時間がたったの5ティックなので素早い対応ができて先手をとりやすいのがミソ。
マシンガンは7ティック、スナイパーは12ティックかかるのだから、いかに射撃されるまでの待ち時間が長いかがよくわかる。
1つのAIだけで組めて、1スナイパーを加える編成との親和性も高いため初心者に一番おすすめかも。
基本的なAIフロー
ある程度ゲームをプレイすればAIの大原則はわかってきますが、ここで簡単な流れを書いておきます。

「状況判断してタグやカウンターに入力 → 危険なら後退 → 攻撃 → 索敵移動・リソース回収」

【回避】
このゲームではシールドは回復しても機体本体のヘルスは回復しないため、シールド残量が少なければ後退が第一です。
そのためにはシールド残量とこちらを狙っている敵を比べて、危険と判断したら後退します。

【攻撃】
射程内のどの敵を狙うかは本当に難しい問題です。
基本は一番シールドが低い敵を狙えばいいのですが、スナイパーなら敵スナイパーを狙っていくべきですし、エイム時間が長いマシンガンやスナイパーはそもそもある程度接近して敵が逃げられない距離になってから射撃すべきなど、いろいろ考えるものがあります。
その点、エイム時間がたった5ティックのアサルトは扱いやすいのです。
中央リソースの取り合いの中では、リソースに近づく敵やリソース運搬中の敵の優先度を上げるべきですし、戦線を単に押したいのであれば後退している敵を狙わないのも時には有効です。

【索敵移動・リソース回収】
射程内に敵がいないのであれば敵機や目標であるリソースに接近することになります。
時には敵機が射程内にいてもリソースの回収を優先したほうがいいかもしれません。
一番近い敵に接近するのが一般的ですが、必ずしもそれが最善手とは限らないこともあります。

【補足】
条件判断とタグ・カウンタ操作のノードは、AIの実行の流れが1ティック内で何度きても有効なのですが、その他の通常のアクションは1ティック内で1回しか実行判定が行えません。
条件を満たせずアクションを実行できなかったノードは、同一ティック内でまたそのノードにAIの流れが来ても、必ず実行できず無視されます。
アクションにも複雑な条件を入れてAIをスッキリしていく上でうっかりミスしやすいので気をつけましょう。
まだ試していませんが、サブAIでもその中身のノードに関しては同様でしょう。
TIPS
プレイを続ければ基本的なAIフローは完成していき、敵と大差なくなっていきます。
重要なのはTIPSをいくつ多く知っていて、各所で相手より少しずつアドバンテージを得るかなのです。

・射撃が当たるかどうかは、発射されたティックで射程内にいるかどうかです。スナイパーであれば13ティック目に発射される時に射程外であれば必ず外れ、13ティック目に射程内にいるなら例え射程外に逃げても当たります。アサルトは1射撃で3連射しますが、最初の射撃は6ティック目に3連射し、その後の4回は2ティックに分けて3連射します(射撃は5と6ティック目)。自分や敵のエイミングティックを数えれば少し無駄な挙動を減らせるかもしれません。

・スナイパーの攻撃は痛すぎるので、可能なら後退して射撃を止めたいところです。自分が狙われたらティックを数えていき、10ティック以降で後退など。

・シールドは攻撃を受けずに12ティック(3秒)経過すれば回復していきます。6ティックで射撃できるアサルトを使って次々に違う敵を狙うと、敵のシールド回復を阻止できます。もちろんこれは最善手とは限りません。

・細かいことですが、スナイパーとショットガンは同一目標を射撃し続ける場合、2発目からは必要なエイミングティックが-1されます。AIを作る際に注意しましょう。

・↓私のタグ設定です。参考にならないとは思いますが…。テンプレートはYouTubeのGladiabots - Grandmaster Level Framework - 2 Setupより拝借。(1~5は単独タグ。A~Eはチームタグ)
もうちょっと書こうと思いましたが、疲れたので一旦ここで…。Twitchでの録画があるので一応載せておきます。
https://www.twitch.tv/videos/423290518
戦略的動きのヒント集
・リソースの回収においてはとにかく距離を重視しましょう。敵や味方の有無で遠いリソースやベースへ向かうのは時間を無駄にします。過度に遠回りしないでください。それとショットガンやアサルトでリソースを拾いに行く場合は、自分からの距離と同じくらい直近の味方ベースからの距離が重要です。拾うと速度が1.2や2.0から0.5へ下がってしまうので。

・ここだけの話ですが、ショットガンは敵の塊に突っ込むよりマップ端のリソース回収に勤しむほうがよほど貢献します。その中で適度に敵弾を吸収し、あわよくば包囲もできれば理想的です。そのためのリソース選定は困難ですが…。

・敵のリソース回収の妨害を選択肢に入れるとゲームが安定します。例えばショットガンやアサルトから長距離以内に、リソースを抱えた敵機が接近している敵軍ベースがある場合、スコアで勝っているならそのベースに向かって回収を妨害すべきです。その敵機にまっすぐ向かうと曲がりながら接近してしまい距離が無駄になりますし、違う敵機に接近してしまう可能性があります。敵機が接近しているベースに向かうほうが確実です。同点、または負けている状況なら条件を追加して、リソースの回収より優先度が高いか確認が必要になります。

・敵チームを包囲できれば戦闘で有利になります。味方機は接近も後退も敵機全てに対してほぼ効果がありますが、包囲されている側は接近しても一部の敵との距離しか縮まず、後退に至っては逆に近づいてしまう可能性すらあります。包囲するにはショットガンをマップ端の回収へ向かわせたり、シールドがなくなって前に出れない間に左右方向へ広がるなどいくつか方法があります。
強いチームを作るには
誰でも最初は弱いAIしか作れません。
私も試行錯誤をずっと繰り返して少しずつマシになっていきました。
ゲーム自体が難しく奥が深いですし、非同期とはいえ対人戦なので辛い時もあります。
どういうことを気にしながらプレイしていけばいいか書いてみました。
それとこれを書いている時点でまだ190時間程度ですが、わからない点があれば気軽に聞いてもらって大丈夫です。

【始めて50時間くらいまで】
そもそも1つの完成したAIを作るのが難しいはずです。
上記の基本的なAIフローの項目を参考にしながら部分部分を作ってみてください。
例えマルチトップ勢でもプログラムミスや特定の場面で誤った挙動をすることがあります。
とにかくキャンペーンをプレイして挙動を観察、問題があるところの修正を繰り返し、AIの精度を高めていってください。
エリミネーションとドミネーションはプレイしたことがないですが、個人的にはコレクションがゲームを覚えるのに最適だと思います。

マルチプレイだと戦うたびに敵が変わるのでオススメしません。
同じAIの敵を相手に、自分のAIの改良をひたすら続けて完成度を上げ、キャンペーンの章をどんどん進めていきましょう。
まだこの段階では戦略やボット間の連携などを考える必要性は低いです。基本挙動の精度を上げ、真っ向っからの撃ち合いで少しでも有利になれるように設計してください。
チームは全てアサルトか、スナイパーを1つ混ぜる編成にしてください。

キャンペーンの敵チームはよく選別されており、同じ章の中で中央リソースを全力で取ろうとする敵、リソース回収を優先する敵、リソース回収など頭になくひたすら突っ込んでくる敵など、バリエーションに富んでいます。
AIの設計によって苦手な相手ができるので、勝ったり負けたり安定しなくて普通です。ですが基本設計を磨き抜くことで一定レベルまではほぼ勝てるようになるので、まずは改良をし続けてください。

【コレクション キャンペーン 第15章くらいまで】
ひたすらプレイを続けることで基本的な動きは完成し、適切な状況判断ができて奇妙な動きをすることがほとんどなくなってきます。
しかし相手やマップによってはどうしても勝てないという苦しい時が訪れます。
新しい種類のボットを導入したり、離脱のタイミングを変えたり、リソース回収の優先順位を変えたり…でもここまで到達したプレイヤーにとってそれが成果に繋がることは少ないでしょう。

基本設計が完成したプレイヤーに必要なのは、戦略面も考慮すること、特定の場面で有利になれるようにAIを作り込むことの2点です。
まず戦略に関してですが、基本はマップ中央に最も近いリソースをどちらがとるかが鍵になるでしょう。それを取れれば、残りは味方陣営側のリソースを取れば過半数となるからです。
ですがそれは敵もわかっており、中央での戦いは熾烈を極めます。キャンペーンが進みお互いのAIの完成度が上がっていくと戦いが硬直化していきます。

そこで違ったアプローチをしてみましょう。
本当に中央のリソースをとらなくてはいけないのか。中央を2~3機で牽制しつつ相手側の左右を狙ったり、手前からリソースを全力で取ったり、中央で戦いつつ機を見て他のリソース獲得に移行したり。
このゲームにおいて戦略はかなり重要です。AIの基本挙動に大きな差があることは稀です。それより戦略面で先手を取るほうが賢明です。
簡単には思いつかないでしょうが、敵チームの動きを観察すると様々なヒントを得られます。ショットガンはどういった位置のリソースを狙うのか、敵のスナイパーの動き、敵がどういうタイミングでこちらに前進してくるのかなど。

それと特定の場面でのAIですが、場面場面で小さなアドバンテージを重ねることで戦局を少しずつ良くしていくことができます。
例えばスナイパーが最も重要なボットですから、スナイパーで敵スナイパーを一撃したら、アサルトやマシンガンですぐに狙って下げさせて、さらに接近して追い込んでいく。
もちろん他の敵が黙っていませんから、こちらのスナイパーは動かず他の敵機を狙ったりなど状況を考えて。

また敵スナイパーがこちらのスナイパーを狙っているのに、こちらは他の敵を狙っているとスナイパー戦で負けてしまいます。
状況を見る必要はありますが、その時は敵スナイパーに攻撃し直したほうがいいでしょう。

【そこから先】
はっきり言って第16章くらいから敵チームが本当に強くなっていき、どうやったら勝てるのかさっぱりわからなくなってきます。
ちょっとやそっとのことでは勝率はほとんど変わらず、下手にいじると弱体化することもあります。
行き詰まったら、そろそろマルチプレイにも挑戦してみましょう。

すると様々な敵が現れて、今まで見えてこなかった問題が見えたりします。
あれほど作り込んだのに、意外なほどに間の抜けた動きをしたり。
キャンペーンと違い、特徴ある敵が増えるためにその動きは大いに参考になるでしょう。
プレイを続け、勝率が60%を切って難しくなるくらいまで改良を続けましょう。
そうしたらキャンペーンとマルチを行ったり来たりします。

ただここから上に上がるのは容易ではありません。
とにかく負けたマッチの敵の動きをよく観察し、ヒントを探してください。
このゲームにはランダム要素はないので、ある意味答えは全てそこにあります。
基本挙動は完成しているでしょうから、相手がどう考えてリソースを押さえようとしているかを重点的に見てください。
付録
ボットのDPS
マシンガン1機を何秒で破壊できるか、その時間でDPSを算出。
バージョンアップで乱数が変わって多少数値が異なる可能性あり。

種類
遠距離
中距離
近距離
ショットガン
0
722
2167
アサルト
220
765
1444
マシンガン
255
1181
2167
スナイパー
619
619
619

■長距離
AS 220/秒 59秒 49バースト (265/バースト)
MG 255/秒 51秒 6バースト (2167/バースト)
SN 619/秒 21秒 7発 (1857/発)

■中距離
SG 722/秒 18秒 18発 (722/発)
AS 765/秒 17秒 14バースト (929/バースト)
MG 1181/秒 11秒 2バースト (6500/バースト)
SN 619/秒 21秒 7発 (1857/発)

■近距離
SG 2167/秒 6秒 6発 (2167/発)
AS 1444/秒 9秒 8バースト (1625/バースト)
MG 2167/秒 6秒 1バースト
SN 619/秒 21秒 7発 (1857/発)
18 Comments
グミン  [author] Apr 2, 2020 @ 4:29am 
頑張ってください。またなにかあればどうぞ。
AyanoGoumou Apr 2, 2020 @ 3:17am 
ありがとうございます。
組み立てる事はできました。
強さはまだまだのようです。
このゲームを始めてまだ1週間程度ですので、また試行錯誤してみます。
グミン  [author] Apr 1, 2020 @ 4:52am 
アサルトのローカルタグで射撃目標を固定は単純な話で、
・射程内のAを撃つ
・射程内のBを撃つ
・それ以外を撃つ
のAIなら、Bを撃ってる時にAが射程内ならそちらへ目移りしてしまいます。
そのための固定です。
AもしくはBを撃っていないという条件を追加すれば固定は必要ないしローカルタグも使わずに済むので、読みやすさやノード数でシンプルな方法を使えるといいですね。
AyanoGoumou Apr 1, 2020 @ 4:42am 
なるほど、確かにスナイパーが狙っている敵にグループタグをつければ解決ですね。
その場合はスナイパーは自機タグ(例1と2)で自機認識すれば個別にグループAまたはBが充てられますね。

アサルトが自機にローカルタグですか。うーん。
単純に「Aが射程範囲内なら撃つ」では別の攻撃パターンが当てはまった場合は目移りしてしまうという解釈でしょうか。

取り急ぎ試してみます。
グミン  [author] Apr 1, 2020 @ 2:28am 
【スナイパー2機の場合】
私はコレクションしかプレイしてないので推測なのをご了承ください。
スナイパー内のAIで、自機のエイミングティックが8以上の時に、狙っている敵機にグループタグA、もしくはBを付けましょう。

アサルトはグループタグAやBがついた敵機が射程内の場合に、その敵機を射撃します。
その時に、自機にローカルタグを付けて射撃状態をロックし、狙っている敵機が射程外へ逃げるまでは他の敵機へ射撃対象を変えないようにしましょう。
当然、AIフローでは回避行動が先になるはずなので、前のティックで射撃していなければこのローカルタグは外して、射撃対象の選定をやり直すようにします。
こちらも同様、味方スナイパーとの距離を判定する必要はありません。
グミン  [author] Apr 1, 2020 @ 2:28am 
拝見しましたが、非常にスマートで美しいAIだと思います。
エイミングティックに関しては完璧ですね。
あとは射撃に関して補足です。

【スナイパー1機の場合】
スナイパーが狙っている敵機にグループタグを付けましょう。
アサルトはスナイパーのエイミングティックが8以上でグループタグがついた敵機が射程内の場合のみ、その敵機を射撃します。
味方スナイパーとの距離を判定する必要はありません。
AyanoGoumou Mar 31, 2020 @ 6:35am 
gumin様、早速のご返信ありがとうございます。
大変参考になります。

先日は混乱していたので頭を冷やして組みなおしてみました。
試行錯誤してスマートにはなったかなと思います。
また、エリミネーションの場合等はスナイパー2体も考えられる為、作成してみました。

https://imgur.com/a/TfvVYad
添削をお願いできればと存じます。
グミン  [author] Mar 30, 2020 @ 11:38pm 
スナイパーが移動したり回避した場合は当然射撃をやめるので、忘れずにカウンターをリセットしましょう。
・前のティックで自機が射撃していなかったらカウンターに0
・移動や回避、1射撃終了した時にカウンター 0
といった感じです。


【画像から推測するに…】
まずエイミングティックを数える方法が間違っているので、グループカウンターを使ってスナイパーのティックを数えましょう。
それとA=100が同時射撃のフラグのようですが、単純にスナイパーのグループカウンターを使えば解決します。

あとはAIは左の配置の機体からAIの処理が始まるので、スナイパーは一番左か右で固定しておいてくださいね。
これでうまくいかなかったらまた見せてください。
グミン  [author] Mar 30, 2020 @ 11:35pm 
【エイミングティックを数える】
・前のティックで自機が射撃していたらカウンターに+1
・射撃ノードの前にカウンターに+1
のどちらかで敵機を狙っているティックを数えます。
どちらの方法かで1ティックずれますが、アサルトなら5か6、スナイパーなら12か13を数えた時に撃つはずです。
以降もティックがズレてる可能性がありますがご了承ください。

今回はスナイパーにアサルトを合わせるので、スナイパーの射撃継続ティックをグループカウンターにしておき、8以上の時にアサルトもグループタグがついた敵機を射撃し始めればいいわけです。
アサルトの射撃ティックを数える必要はありませんが、例えば4ティック以上狙っていたら現在の敵機への射撃を優先するなども可能です。
グミン  [author] Mar 30, 2020 @ 11:34pm 
解釈してみたんですが合ってますか?
https://imgur.com/a/QCrLCAH

同時射撃をするために必要なことは
・敵機の選定(恐らくスナイパーのAIで)
・エイミングティックを数える


【敵機の選定】
・スナイパーから中距離以内
・スナイパーから遠距離以内の敵スナイパー
・スナイパーから遠距離以内でシールドが一定以下で最もシールドが低い敵機
・スナイパーから遠距離以内で最も近い敵機
などのような順番でスナイパーは敵機を選ぶでしょう。
ここは非常に難しいところです。