AI殺し


AIでは回避・防御などの対処がし難い攻撃がしばしばこう呼ばれる。
様々な種類があるが、どれもMUGENの記述の隙を突いた攻撃を指す事が多い。
AI作者の努力により、Name指定やHelperを駆使する事で殆どのAI殺しと呼ばれた攻撃への対処が可能となっているが、
そういった専用対策記述を用いていないAIには非常に有効である。
超反応するAIに対しそれを逆手に取る行動も十分なAI殺しと言えよう。



AI殺しと言われるもの

色々あるが、主に以下のように分類される。

ガード関連

AI殺しが最も顕著に現れるのはこれ。
HitDefには攻撃の属性などを記述した各種パラメータがあるが、何故かGuardFlagを参照するトリガーが無いため、AIはガード可能か否かを判別できない。
そのため他の各種トリガーを用いて擬似的に判断しているわけだが、どうしてもいくつか無理なものが存在する。

  • 空中ガード不能技
相手の攻撃が空中ガード不能かを判断するトリガーが無いため、迂闊に飛び込んで空中ガード不能技を喰らってしまうケース。
対処法は喰らわないジャンプの仕方ぐらいだろうか。
空中ガード不能技は殆どのキャラに付いている可能性があるので最も身近なAI殺しと言えるだろう。
……とはいえ、ゲームによっては地上攻撃が軒並み空中ガード不能(というか、空中ガード自体非搭載)というゲームは決して珍しくないので、
そういう場合も見越して相手が地上攻撃している時はガードしないようにすればある程度は回避可能。

  • (立ちまたはしゃがみ)中段と(立ちまたは空中)下段、または中下段飛び道具
上記のようにAIにはGuardFlagを参照できないため、中段攻撃をしゃがみガードしたり下段攻撃を立ちガードしてしまうというAI殺し。
一般的なAIのガード方法は相手がしゃがみなら屈ガード、それ以外なら立ガード優先にするか、
相手が地上にいれば屈ガード、空中なら立ガードというしゃがみガード優先の2パターンに分けられる。
しかしこの方法だと当然ながら前者は「立ち状態からの下段」、後者は「立ち状態からの中段」に対処ができない。
また、どちらの場合も「しゃがみ状態からの中段」や「空中からの下段」には対処不可。
尤も、しゃがみ中段と空中下段は数が限られているためわからん殺しになりやすく、AI戦に限らず対人でも見切るのが難しかったりする。
ちなみに空中下段は学習システムP2Nameを使用していないAIではまず対処不可能。
中下段飛び道具も同様に学習システムかP2Nameで対応する事になるが、本体の攻撃の重ね方によっては対処できない。
ちなみに、中下段の飛び道具を同時に撃てる場合、AI側はP2NameやP2statenoトリガーに加えて変数やHelperを使い、
そこに手の込んだ記述を加えてやっと対処できるかどうかという程度である。
「立ち状態からの下段」は発生が早い小技が多いのに対し、「立ち状態からの中段」はリュウの鎖骨割りのように出の遅い技が殆どで、
下段をガードして中段を切り返す方が安定するため、現在ではしゃがみガード優先のAIが多い。

  • ガード不能系
これは最初からガード不能なのにInguarddistが反応する場合や、特殊な避け方をしないと避けられない技の場合に起きる。
先述の通りAIはガード不能技を認識できないため、通常の攻撃と同様にガードしてしまう。
AttackDist=0に設定されていた場合はAIの切り返し部分が発動して潰す場合があるが、
ガード不能飛び道具を遠くから撃たれると殆どの場合そのまま喰らってしまう。
投げ技は原則ガードできないので、EnemyNear,HitDefAttr=,ATをトリガーにして投げ無敵のある行動(ジャンプやバクステ等)をさせれば良いが、
対空投げなど空中の相手にも成立する投げの場合ジャンプでは回避できず、移動投げの場合バクステしても移動先で捕まったりする。
また投げ限定の対策であるため打撃属性のガード不能攻撃には対応不可能。
最も対処が難しいのはガード不能飛び道具で、これを避ける方法は「ジャンプや無敵技で抜ける」「攻撃当てれば消える」等あるにはあるのだが、
弾が動く以上バクステでは抜けにくく(下がっても大概結局当たる)、ジャンプや無敵技はタイミングが早くても遅くても喰らってしまう、
もう一つの「攻撃当てれば消える」は有効なように思えて、実際はP2Nameで対応しないと実行させるのは難しい。
しかしガード不能なのにInguarddist状態なのはバグとも取れる(後ろに歩けないため)場合もあるため
ガード不能技はAttackDist=0になっている場合も多い。
ただし初代リュウの波動拳のように、ガード可能だが削りでも大ダメージを受ける飛び道具だとそう言った対処法を取るわけにもいかず、
残り体力が少ない時にAIが波動拳をガード→削りでKOとなる展開がしばしばある。

MUGENでは仕様の関係で、キャラの後方にキーを入れてさえあれば、
どちらから攻撃されてもガード可能なのでめくれない…のはプレイヤー操作時。
AI操作の場合にはAttackDistの発動条件にP2Dist Xが関係し、攻撃側のキャラより防御側が後ろに居るとInGuardDistが発動せず、めくり攻撃などにAIは対応できない。
なおこの問題は飛び道具(Projectile型とHelper型とを問わず)に対しても起こり、
しゃがんで避けられる飛び道具がキャラの頭上にさしかかったところで無防備に立ち上がり喰らってしまうのはこのためである。
下記のHelperによるガード補助で対策が可能。
このAI殺しにならないよう、飛び道具のエフェクトをわざと前に出してInGuardDistをエフェクトの後ろから出すキャラもいる。

  • AttackDist(GuardDist)未設定の技
主にガードに使うInGuardDistは相手のAttackDistの値と相手との距離で決めるのだが、
ステート内で設定されていない技では([data]未変更の場合)Proj形式の場合90、本体およびHelperの攻撃の場合は160となっており、
それ以上攻撃側の軸位置から離れるとInGuardDistが全く作動せず、上記の数値以上の攻撃判定を出してしまうと、攻撃を喰らってしまうというAI殺し。
対策をせずキャラクター自身のInguarddistのみを参照してガード体勢に入るAIの場合、この技だけでハメ倒されてしまう。
ちなみにこのAI殺しを暗転0Fで当たる技にすると人操作すらガードができない事態になる(暗転中はガードステートにいないとガード不可)。

飛び道具の速度にもよるが基本的にAttackDistの値が少ない飛び道具がAI殺しと呼ばれる。
ここで注意しておきたいのは、Projectileのgurad.dist、飛び道具Helperのattackdistだけでなくキャラ本体のattackdistの調整も必要という点。
基本的には「飛び道具の軸位置から当たり判定の先端までの距離+飛び道具のX軸方向の速度×10~20」程度に設定しておくのが目安だろうか。
ビームのように速度がなくてもairファイル上で攻撃判定を伸ばす攻撃では、飛び道具の攻撃判定の伸びを考慮に入れて大きな値を設定する事になる。
ただし上記の式はあくまで目安であり、例えば超必殺技など当たるとダメージが大きい攻撃なら若干長めにしてもいいだろうし、
飛び道具の速度が極端に遅い場合も一考の余地がある。
P2Name等でも対処できるがこの対処法自体なんとも言えない状況なので、飛び道具を搭載する際には気をつけよう。
また他にもHelperを並べて対処する方法もある。この手法については後述する。

上記とは逆に、飛び道具が動かないのでAttackDistが多いと過剰にガードする事になり、設置物が出ている間AIがずっと固まってしまうケース。
逆にAttackDistが少なすぎると、ダッシュ等で設置物に突っ込む事もある。
上記の通り飛び道具の位置は基本的にはAIは判別できず、無敵移動技で逃げても移動先に設置物があるかもしれないので、
AIは特殊な事を行わない限り完璧に対処する術が存在しない(移動技に1Fも隙が無く、即ガードや再移動ができるなら別だが)。
しかしこの固まった状態でも最初から無敵の付いている技は容赦無く撃ってくるため。
これだけではAIの脅威にならない場合がある。タイムアップまでずっと固まってもらうぐらいだろうか。

  • 暗転0Fの攻撃技
MUGENでの超必殺技等の暗転はSuperPauseが使われるが、このSuperPause中の動作が通常と違う特殊な仕様になっており、
このSuperPause中にガードステート(state 120 130 131 132 140 150 151 152 153 154 155)にいる事に加えて、
Command="holdback"が発動していないとガードができない。
これは暗転中にレバーを後ろに入れてもガードが間に合わない仕様を再現するものだが、
Command="holdback"というAIでは制御できない部分があるので殆どの場合ガードステートにいようと喰らってしまう。
このAI殺しは対処法が殆ど無く、無敵技等で避けるか、MUGEN内でのAIのCommandのランダム選択で偶然Command="holdback"を選ぶ事を祈るしかない。

ガード関係については、MUGEN豆知識により詳しい解説がある。

無敵技&当身技&判定の強弱など

相手の無敵状態や当身状態を判断するトリガーが無いため、無敵or当身で無効化されてしまい攻撃を喰らってしまうというもの。
また判定の強弱や詳細な形状も参照できないので、AIは相手の技に後出しで勝てる技を持っていても、
発生保証の付く技でない限り振らないようになっている場合が大半である。
完全な対策をするにはName指定しか方法が無いとも言われる。学習システムを付ければ場合によってはなんとかなる。

アーマー

攻撃を受けても喰らいモーションに移行せず、そのまま動作が続くアーマー状態の相手に上手く対応できないAIに度々起こる。
自分の攻撃のヒット後、相手が喰らいもしくはガードモーション中である事が前提のAIの場合、
その後の反撃をほぼ100%貰う羽目になってしまい、手も足も出ないまま体力を一方的に削られる。
またコンボの始動技を当ててもコンボに行けず、安い始動技を延々振る→殴られるを繰り返すハメになる事もある。
ハイパーアーマー持ちのキャラは投げ無効である事も多く、投げようとして空振りモーションに反撃される場合も多々ある。

ただアーマーを持つキャラは人操作の場合でもわからん殺しが起こりやすく対策必須なので、一概にAI殺しとも言えない部分も多い。
またハイパーアーマー持ちはその特性上巨大ボスや動きの遅いキャラが多く、逃げ回りながら飛び道具をばら撒かれると好き放題削られたり、
通常なら1ヒットで済む技が多段ヒットして大ダメージを受けたりと不利な点もあるため、それだけでAI殺しかと言われると微妙なところではある。

特殊な食らい判定

巨体キャラなどの中でも身体の一部分しか食らい判定がないようなキャラが相手の場合、それを認識できずに攻撃が当たらない場合がある。
胴体が常時ガード状態で、上部のソーサラーを狙わなければならないレオパルドンなどがその代表例。
Name指定を行わない限り、AIはどこを攻撃すれば良いのかを判断できないため、胴体へ無駄な攻撃を繰り返してしまう。

相手側の操作が可能な技

AIは直接ChangeStateを作動させる事で動いているためコマンド入力ができない
(正確にはCMDに定義されているコマンドをランダムで実行しているに過ぎない)。
そのため一部の技を食らった際に特殊な操作が行えるものに対応できない。
割と多くの格闘ゲームにあるにも拘らず気絶ガードクラッシュ時のレバガチャや投げ抜けがこのタイプに入ってしまう。
他にもジャギの「俺の名を言ってみろ!」や世紀末霊夢の「EX南斗獄屠拳」、
超武闘伝再現系ドラゴンボールキャラの超必版エネルギー波系の技のガード・弾き・かき消しの選択などがこれに当てはまる。


AI殺しの対処法

ブロッキング(HitOverride)を利用する

HitOverride等を使うブロッキングは攻撃を受けた瞬間に発動するためInGuardDistに関係なく防御が可能。
HitOverrideの仕様上ガード不能の打撃or飛び道具も防御可能なのでガード不能関連のAI殺しも封殺できる。
ただしAI殺し技に気づかぬまま牽制技を振ってしまってそのまま食らう事もあるので注意。
ブロッキングするキャラのAIには多め。
ただしHitOverrideの仕様上、P2StateNoの付いた攻撃(アクセル=ロウの羅鐘旋など)をブロッキングしようとすると、
無敵状態のようにすり抜けてしまうバグがある。
このバグは殆ど諦められている場合が多い。

  • Helperでのガード補助
Helperを前方に出しHelper(),InGuardDistとすることでAttackDistが少なすぎる攻撃にも対処できる。
背後にHelperを設置すればめくりにも対処可能。
また技の振りのTriggerに入れ込む事により迂闊に技を振らないようにできる。
Helperを1個だけ出して、それを移動させて使うAIもある。

  • ガードステートのまま行動
statenoの130と131と132の状態を通常の状態にするというもの(Animも)。
ガードの状態で立ったり歩いたりする事で、どんな不意打ちの攻撃でもガード不能以外ならならガードできる。
AttackDist=0の攻撃でもガードできるならガード可能になり、ブロッキング系の防御を持たないキャラでの最大のAI殺し対策となる。
これで設置技にも堂々と歩いてガードして設置技を消す事が安定してできるので飛び道具に対して柔軟な対応が可能。
しかし導入には手間を要し、ガードステート内(130と131と132)を大幅に変更しなければならない。
また中段=state130 下段=state131それぞれにガード記述を設定する必要があり、途中で攻撃のタイプが変わってもいいようにする必要もある。
しかもステート変更後もChangeStateを間違うと不手際が起こりやすい。
この方法はプレイヤー操作時にも攻撃が当たる寸前までガードモーションを取らない仕様を利用して、
ガードを仕込みつつ後退するのを再現できるため⑨氏のメルブラキャラなどでも使用されている。
他にも㍻㌢氏のシン聖騎士団ソルのAIパッチ(Lv10以上)に搭載している(Config設定可)が、
AIだけしか利用できないとCPU専用特権と大差ない事になりかねないので注意。


*1
Helperを絡めた処理の飛び道具なら、Helperに割り振られるPlayerIDを使えば飛び道具の位置や速度などの情報を把握できる場合がある。
Projectileであっても、P2Nameトリガーを使えばRandomなど参照不可能な値を
速度の規定などに用いていない限り正確に把握できる(これはHelperでも同じ事が言える)。
また無敵や当身、攻撃判定の強さもP2NameとStateNoなどのトリガーで相手を判別する事で対処は可能。
こうする事により、飛び道具を姿勢の低い技で避ける、位置を把握して道が空いたら一気に詰め寄る、
当身で無効化されない技(投げ等)を出す、相手の通常技よりも攻撃判定の強い技を当てるといった、人操作みたいな柔軟な戦術が可能となる。


最終更新:2023年07月13日 09:59