Posts
KFX のリバーサル仕様
以前から KFX のリバーサルについて思うところがあったので、色々と書いておく。
リバーサルの要件
一般的な格闘ゲームにおけるリバーサルとは何なのか、ということで Wikipedia の説明を引用。
キャラクターが操作不能の状態から操作可能な状態になった瞬間に、最速のタイミングで技を繰り出すテクニックのこと。狭義では、キャラクターがダウンから起き上がった瞬間に技を繰り出すことを指す。
リバーサルは、起き上がりから必殺技までを隙間なく繋ぐ必要があるので、プログラムがリバーサルを想定した作りになっていないと成立しない可能性がある。例えば、コマンドより先に当たり判定が行われていたとしたら、起き上がってリバーサルを出す前に攻撃を食らってしまう。初代スト II はリバーサルが成立しないという話だが、もしかしたらプログラム由来の問題があるのかもしれない。
KFX におけるリバーサル
KFX のリバーサルは「起き上がりを必殺技でキャンセルする」という、一般的なリバーサルの定義とは異なるものとなっている。この方式の良いところは、処理の実行順番などを細かく調整せずとも確実にリバーサルを成立させられること。
KFX で遊び始めた当時、リバーサルというものを正しく理解していなかったのと、キャンセル方式の有用性を知っていたこともあり、違和感なく受け入れていたが、KAZU さんが公開していた KFX テクニック集の一文を読んで衝撃を受けることになる。
・リバーサルフラグ
キャンセルフラグの一種で一番よくリバーサルに使われないであろう悲しい定めのフラグ。
これを読んで真っ先に思ったのは「リバーサルが成立しなくなる」だった。キャンセルで繋がなければ、起き上がり時に無敵ではない間が僅かに生じてしまう。ただ、テクニック集を読む限り「キャンセルフラグを増やすために泣く泣くリバーサルを諦めた」という感じもない。
しばらくした後、キャンセルを使わずともリバーサルが成立することを体感的に理解し、この疑問は解決されることとなる。一応、逆コンパイルしたソースからもリバーサルが成立することを確認している。
リバーサルフラグの役目
結局、リバーサルフラグとは何だったのか。
matiisya さんの過剰対応による副産物と考えるのが妥当なところだが、もしかすると REVERSAL 表示に必要なリバーサル検出をキャンセルで行っていた、という理由があったのかもしれない。GUARD CANCEL 表示も同じように処理されているので、意外と好い線を行っている可能性はある。
完全な余剰フラグとなったリバーサルは紛らわしい存在ではあるものの、副作用なく自由に使えるフラグとして重要な存在だったのは確か。このフラグの下支えがなかったら数々の KFX テクニックは生まれてこなかったかもしれない。