MvsC2における
バグから見たシステム考察

[画面について]

●ザンギの投げアシバグ●


やあ、ろひかただよ。なんでか久々に唐突に書くよ。

●キャラクターの状態について●
まずは、後で混ぜるのは面倒なのでキャラクターの状態について簡単に説明する。
キャラクターには、存在判定というものがあり、その位置に当たり判定や
投げられ判定
がつき、大まかには下図のような感じになっている。




投げられ判定とあたり判定が別々にあるというのは、
屈シルバー侍を通常投げしようとすると、困るというのが有名でわかりやすい。
小足は普通に当たるのに、投げようとすると投げられ判定がグッと後ろにいって
しまっているため、投げられたもんじゃないことになる。

存在判定は、基本的にいついかなるときもある。
控えにまわって画面から見えないときも、生交代ボタン成立後、
全身完全無敵になっているときも、存在判定が消えることは基本的に無い。
つまりキャラクターが見える場所、そこには必ず存在判定があると考えて良いということになる。
この存在判定は、キャラクターの向きなどにも大きく影響してくる。

つまり簡単にいうと全身無敵の状態では、存在判定しかないと言う事となる。
この相手を攻撃できる手段は、基本的に通常の状態では存在しない。


●ザンギ投げバグ●
ザンギの投げバグは、いわゆる「相手キャラクターの状態変化によるN状態への移行」が使われている。
この現象は、特定条件下で相手キャラクターが、「メインで場に出ている権利」を失った時に発生するバグで、
他にもこの現象が使われたバグはある。

例えば、プバクが当たった後なら、次のキャラクターが出てくる瞬間などにこの状態が発生する。
相手のメインキャラクターの権利が次に出てくるキャラクターに完全に受け渡される瞬間だ。
この瞬間に起こりうる異変は、正直まだまだ隠れていると思うので、まだ私が知らないものもあると思う。

さて次、これがザンギの投げバグにも当てはまる、ちなみにザンギの空中投げアシでも同じく可能だ。
ディレイドによって自分のキャラクターがかわったことで、相手から見て相手のメインで場に出ている権利が受け渡されたことになる。
よって、ザンギ投げアシヒット>ディレイド、で投げが解除されN状態になる。

ここまではこのバグの元となる原理の話であって、じゃあ次はザンギ投げバグそのものだ。
ザンギの投げアシは2段階にわかれている、以後投げアシについては地上投げアシの方だけで話を進めていく。


●投げアシ&投げそのものの基礎システム●
ザンギ投げアシは、
発生>掴む>飛ぶ>叩きつける>着地する>挑発後帰る
となっている。

さて、ここで問題なのが掴んだ瞬間、基本的に投げアシの終了までが約束される点である。
もし、掴みが外れた場合技が終了するなら、このバグは成立しないのであるが、
大概の掴む技は、掴みが確定すると技が終了するまでのその後は、相手キャラがのけぞり状態を解除される事が無いように出来ている。
そのため、「掴み>離すまでのけぞる」が確定する。

投げのシステムを見るなら、例えば
・アイアン、ウォーマシンのJ投げ
・ストームのK投げ
・コレダーのP投げ(ジェネティー)
等は以前動画でも出たが、掴んで相手を自分の近くに一定時間のけぞり状態で置き、
攻撃判定を出現させて相手にダメージを与え吹っ飛ばせる
、という原始的な動きだ。
そのため、アシストキャラも巻き込んでダメージを与えることもできる。
これらの種類の投げが恐らく、一番ザンギ投げが段階別になっていることを想像するときに、わかりやすいのではないだろうか。

ここで、ザンギ投げアシを見て見ると、
掴む>相手がザンギにくっつき移動>地面と衝突したとき吹っ飛ぶ叩きつけが発生
となっている、要するに掴んだ瞬間のけぞりが確定し、地面に到達すると吹き飛ばす。
この間、両キャラクターには当たり判定が消えるため、遮るものは何一つ無いはずである。

だが、ここで掴みが無力化されてしまうのが、一番最初に説明した
「相手メインキャラクター権の移動によるN状態への移行」を利用したザンギの投げバグである。
さて、すると数フレーム後に叩きつけが確定技として発生する、相手の状態は基本的におかまいなしだ。
そのため、中断され得ないはずの技が中断されそうになる、そこでバグるのである。

当然進行としては中断したいところなのだが、普通は中断できないわざというものがある。
確定系の必殺技、つまり初段が当たれば最後までが約束される類の技はそれである。

基本的に打撃系全般はその部類に入らない、投げや特定のHCがそれであることは多いであろう。
正にザンギの投げアシそのものがそうであるように、ヒット後中断出来ない技をここに置いてみる。
すると、中断出来ない状態を無理やり中断しろという命令が入る、相手を吹き飛ばせという命令だ。


●FABを例に挙げてのザンギ投げアシバグ説明●
ここからは、ザンギの投げアシヒット後のディレイドではFABを出し、相手を掴んだ場合を例にとって話を進める。
FABを例に挙げる理由は、投げなので当然確定系であり、様々な状態を移行しつつ持続時間が長いからだ。

さて、FABがディレイドでヒットしたなら、FAB中の相手が先ほどのザンギ投げアシによる
叩きつけたら相手を吹っ飛ばす命令により吹き飛んでしまう、
だが相手が吹き飛んで外れたからといって、FABをやめるという選択肢は元から無いのである。
つまり、この場合もFABはそのまま進行される、ザンギが一人でFABを進行するという通常はありえない状態である。

だが、MvsC2のFABは、「最後の一番ダメージの高い投げ部分」への流れとして、
相手を真上に放り投げる>相手の存在判定が自分と重なるか、自分より少しでも下にきた瞬間に掴む>地面に接触したら相手を吹っ飛ばす
となっている。
重なった瞬間だけでなく、自分より下に相手が居る場合も投げる理由というのは、
相手が超高速で落下してきて、自分が超高速で上昇してしまった場合、
万が一掴み損ねるような事が無くなる、なぜなら自分より下にきたときも
無条件で投げてしまうからだ、といういわば安全策といった意味合いが強いだろう。
掴み損ねた時にフリーズする技がMvsC2には多数あるが、それよりは随分ましである
 (オメガレッドの空中HCの最後のコイルが、本体に当たらない場合の掴み損ねなどは、
  故意にではなくとも起こってしまうし、極力そのようなバグ発生という事態は避けたいわけである)。

だがFABヒット時は「一番最初」に相手を掴んでいるため、このとき相手は通常100%のけぞり状態のはずである。
つまり、ザンギが真上に放り投げる振りの部分は、相手を掴んだ状態であるかどうか関係無しに起こるただの演出であり、
ザンギが真上に投げるモーションと同時に、相手がザンギから離れ真上に判定を飛ばされるだけである。
ここでやっとザンギ本体と相手が分離される。

ちなみに、「この真上に飛ばす」部分は、「最初に掴んだ相手」を掴んだ状態が持続されているときにしか実行されないという、
かなり優先順位の低い行動であるため、ザンギ投げアシでFABが外れている場合は、この「真上投げ飛ばし」は実行されない
N状態や普通に行える範囲の行動が、優先された形になってしまうのである。

さて次だが、「相手が自分より下」になったら掴む、つまり放り投げた相手と
Y軸がすれ違ったときに投げるわけである、これで見た目としての違和感も無くなるという仕掛けだ。
直前に、本来相手を真上に投げているため、Y軸だけ合っていれば、
投げが発生しても、必ずつかめる範囲に相手はおり、絵的におかしなことにはならない、というわけである。

だが、述べたように「Y軸がほんの少しだけでもすれ違ったら投げる」わけなので、
X軸は見ていない、相手が別に横方向でどこに居ようがY軸が重なったら直後に投げられる。
じゃあY軸が、「ザンギのジャンプしたあと交差しなかった」ら?
すると当然空中に停滞していられないザンギは下へ向かって落下を始めるわけだが、
このときザンギは普通のJではなく、「J下瞬間の相手の高さ」によって飛ぶ距離がかわってくるという
ベガのヘッドプレスのような誘導性能により追いかけている。
よって、Jが発生した瞬間より相手がはるか上空に飛んでしまったなら、掴み損ねるのである。

掴み損ねたザンギは、本来絶対つかめるはずの相手を掴み損ねるわけなので、
掴めなかった場合の処理は必要無いから、「飛んでY軸が交差したら投げる」だけの処理をやり損ねるのである。
すると、判定が交差するまで落下しつづけるので、地面との接触を失敗し、そのまま地面より下に永久に潜っていく。

以前画面範囲の説明で言ったように、下は無限大に広がっているため、ザンギは落下を一生続けることになる。
この状態を抜けるには、ザンギが「着地できる状態」になる必要があるので、
ディレイドで次のキャラクターに交代してしまえばいい、場に出ている権限がディレイド先の相手に渡され、
ザンギは無敵のまま「着地できる状態」になり、そのままアシストのように帰る。

またFAB最後の、この「上に飛ばす>掴んで投げる」というこの部分は、
相手の存在判定を掴んでいるため、どんな状態であろうが飛んだザンギより
下に存在判定(一番最初に掴んだキャラクターの存在判定)をもってくると、
そのままFABの最終投げが発生する、これは本体権限を持っていないキャラクターでも、
関係無く
投げてしまう、似たものにダークネスイリュージョンなどもある。
地上ダークネスイリュージョンの場合は、ザンギとほぼ同じだが、上に上がってからは
相手のY軸が重なるまで、上空の一定の位置で永遠に相手を待ちつづけるため、
ザンギのように地下に潜ってかえってこないという心配は無い。

このように、存在判定を投げるということは、正に 「通常の状態で考えうる、最高の優先順位である掴み」であるといって良いだろう。

少し補足が入ったが、このように掴み損ねが起きるのも、当然ザンギ投げバグを使用したからである。
つまり、ザンギ投げバグを生かしたいなら、「本来途中で絶対に解除されることのない行動
を重ねていけばいいわけであり、これは「本来中止できない行動を中断することにより発生するバグ
全般に共通している、ベノムの投げバグ等もこの類であり、バグの基礎ともいえる。


●まとめ●
今回は簡単な例を挙げての解説になってしまったので、ザンギ投げバグの流れをおさらいしよう。


自分が出したザンギの投げアシストが、相手にヒットする。
 ↓
相手を掴み、以後ザンギ投げ終了までが約束される。
 ↓
自分がディレイドHCを行う。
 ↓
相手から見た相手(自分)のキャラクターが、
メインで場に出ている権利をディレイドで出てきたキャラクターに受け渡す。
 ↓
相手から見た相手(自分)のメインキャラクターの権利が受け渡されたときに起こる
「N状態へ戻るバグ」が発生し、ザンギの投げによる掴みから解放され、
N状態になりディレイド発生時に自分が居た場所でN状態になる。
 ↓
途中で中断し得ない行動を、自分が相手に当てる。
 ↓
自分のザンギアシの叩き付けが発生、相手へは吹っ飛び命令が行く。
 ↓
自分が中断し得ない行動ををしている最中に、相手が自分の行動(確定系技や投げ等)から吹っ飛んで抜ける。
 ↓
相手が自由に動ける&通常起こりえない状態が成立。
 ↓
相手の行動次第で、より普通では絶対に無い状態に。


と、大まかな流れは以上となる。
今日はこんなもんだね。疲れたからまたね。