堕落街道まっしぐら。

現在のゲームプレイ状況: アリスギア = ウマ娘 > DMMブラゲ > Crossout >> それ以外

MUGEN+/共存という選択肢

イメージ 1

せっかくなので女レン(AIlv3)と学者(同じ)を戦わせてみた。
相性差が出るかなーと思ったら案外拮抗しました。
女レン側は飛び道具に強いためMMやEMMを高確率で処理できる。
学者側は置き攻めガ不連を持ち、飛び道具に合わせて当身ワープができたり優秀な掴み技を所持。
自分のペースに持っていけた方が勝つ感じ。

このあと女レンが3タテしちゃったけど。

~ ~ ~

ツインガンブレードを作る上で考えなくてはいけないのが、
ステ番やアニメ番は勿論、コマンド割り当てをどうするかってのがあるんですね。

原作とMUGENの大きな違いのひとつにボタン配置があります。
これは私の場合ですが、原作ではジャンプ・通常攻撃・スキル攻撃1・スキル攻撃2の4つに対し、
MUGENでは弱攻撃・中攻撃・強攻撃・ゲージ消費攻撃・特殊動作・バックステップの6つになります。
これが何を意味するかっていうと、ボタンが増えた分だけ原作ではできないことが可能になるんですね。

分かりやすく言うと「覚醒スキル適用中なのに他のスキルも使用できる」ということが可能になるわけです。
これにより、行動の幅が大きく広がったりする場合も出るわけですね。良いトコどりってやつです。
例えば原作ではトップスピンがサマーソルトキックに変化するためこの2つは共存できませんが、
MUGENだと別々のコマンドを割り当てることで共存はおろか、スピン→サマソなんていう
キャンセルルートが実現できたりもします。

悩みどころは、実際にそれを可能にするのか、どこまで共有するのかということ。
常時覚醒モードとか考える際にも、どこまでやれば見栄えやバランスがいいかにも関わりますね。
原作のままだとパターンに乏しかったりガードを崩す手段が乏しかったりするし、
共存しすぎるとあまり立ち回りの変わらない覚醒になりかねなかったり。

~ ~ ~

+追記
せっかくなので、AIの行動について少し書いてみようかね。

・近距離
原作知ってる人は分かると思いますが、女レンの打撃攻撃はほぼ全部クールタイムが存在します。
そのため、連続して打撃を振り回すと「近接攻撃ができない時間」が発生するんですね。
おまけに掴み技も無いので、その空いた時間に当身動作をとることで行動の空白を埋めています。
近接の手数が少ない分だけ当身動作が増えてる、という具合です。
・・・まぁやりすぎな気もしてますが。後々頻度調整はするかも。

・対飛び道具
付属テキストにも書い・・・てないな。飛び道具に対する行動は
「相手との距離が相手の攻撃間合いより広いときにInGuardDistに入ったら使用」
するようにしています。内部的な話をすると、後ろキーを入力した時にガード体制に
移るという条件を満たしたら飛び道具当身を試みます。
つまり、ガード認識距離が長い飛び道具ほど当身動作をとるのが速くなるわけですね。
言い換えると、InGuardDistが長く弾速の遅い飛び道具に対しては実行が早すぎて
当身受付時間が切れた後に被弾してしまうというケースも少なからず存在します。
また、遠距離攻撃の本体以外の攻撃属性までは把握できない子なので、
飛び道具がヘルパー打撃だったりした場合も当身の条件外なのでくらってしまいます。
こればかりは相手飛び道具の速度や正確な位置、(ヘルパー打撃だった場合などの)攻撃属性の
認識ができないAI記述なのでしかたありません。
また、ガード認識に入ると同時に攻撃が到達するビーム系の攻撃には反応が追いつかない場合が
ありますが、まぁ人間でも予備動作が大きくない限り反応できないので特に問題はないですね。
動画ではDIOの空裂眼に対応できていませんでしたが、某ドラゴンのブレスや某オリジナル竜さんの
やられ発動ビームとかはガンガードが間に合ったりもします。
間に暗転でも挟んであれば、暗転直後の当身カウンターフラグが入るので対応するんですけどね。


その暗転発生フラグですが、地味に苦労してたりします。
というのも「時間停止中はVarSet/VarAddが実行されない」らしいんですね。
-3ステートに置いてもダメだし、movetimeを設定したヘルパーにカウントさせても止まったままでした。
-2ステは試してないな・・・まぁ今更感が漂ってますが。

「別にゲージ消費したらONにすればいいじゃん」って意見がある人もいるかもしれませんが、
ゲージを消費した瞬間にONというのは「暗転前の予備動作中にゲージを消費」したものや
暗転しないゲージ消費行動(ガーキャンやロマキャンなど)もONと認識してしまうんですね。
これでは「暗転時のみON」という条件を満たせなくなってしまいます。
暗転のないガードキャンセル攻撃に反応できるプレイヤーは数少ないでしょうからね。
時間停止を経由した攻撃にのみ反応する記述じゃなくては人間操作らしくないわけです。

じゃあどうするかって考えた時に
「ヘルパーは変数の増減・設定は時間停止中に実行されないけど、移動やアニメの変更は実行できる」
っていうのに思い当たったんですね。
直接的に変数がカウントできないなら、間接的に変数としてカウントすればいいってことですね。
つまりゲージ消費フラグが立ったら、本来の消費フラグONによる経過時間カウントと、
フラグONの間のみ移動を行うヘルパーを同時に実行させます。
こうすると、予備動作中は時間停止は発生していないので両方とも同じペースでカウントされるため、
に双方に差は出ませんが、時間停止が発生すると
「本来のVarAddでカウントしてるほうは実行されないけど、移動を行っている方は変わらず移動を続ける」
という結果が出ます。
あとは時間停止明けに再カウントされた変数と時間停止中も移動を行った座標の差額は
一定以上開いているので、この差額が生じた時=暗転による時間停止が発生した時ってことになります。
これで時間停止を経由した時のみONになるフラグが作成できるわけですね。


・・・なんて長々と書いたけど、-2ステで1発解決したら見事に骨折り損だなぁ。