Seaside Laboratory

Posts

KFX のリバーサル仕様

以前から KFX のリバーサルについて思うところがあったので、色々と書いておく。

リバーサルの要件

一般的な格闘ゲームにおけるリバーサルとは何なのか、ということで Wikipedia の説明を引用。

キャラクターが操作不能の状態から操作可能な状態になった瞬間に、最速のタイミングで技を繰り出すテクニックのこと。狭義では、キャラクターがダウンから起き上がった瞬間に技を繰り出すことを指す。

リバーサルは、起き上がりから必殺技までを隙間なく繋ぐ必要があるので、プログラムがリバーサルを想定した作りになっていないと成立しない可能性がある。例えば、コマンドより先に当たり判定が行われていたとしたら、起き上がってリバーサルを出す前に攻撃を食らってしまう。初代スト II はリバーサルが成立しないという話だが、もしかしたらプログラム由来の問題があるのかもしれない。

KFX におけるリバーサル

KFX のリバーサルは「起き上がりを必殺技でキャンセルする」という、一般的なリバーサルの定義とは異なるものとなっている。この方式の良いところは、処理の実行順番などを細かく調整せずとも確実にリバーサルを成立させられること。

KFX で遊び始めた当時、リバーサルというものを正しく理解していなかったのと、キャンセル方式の有用性を知っていたこともあり、違和感なく受け入れていたが、KAZU さんが公開していた KFX テクニック集の一文を読んで衝撃を受けることになる。

・リバーサルフラグ
キャンセルフラグの一種で一番よくリバーサルに使われないであろう悲しい定めのフラグ。

これを読んで真っ先に思ったのは「リバーサルが成立しなくなる」だった。キャンセルで繋がなければ、起き上がり時に無敵ではない間が僅かに生じてしまう。ただ、テクニック集を読む限り「キャンセルフラグを増やすために泣く泣くリバーサルを諦めた」という感じもない。

しばらくした後、キャンセルを使わずともリバーサルが成立することを体感的に理解し、この疑問は解決されることとなる。一応、逆コンパイルしたソースからもリバーサルが成立することを確認している。

リバーサルフラグの役目

結局、リバーサルフラグとは何だったのか。

matiisya さんの過剰対応による副産物と考えるのが妥当なところだが、もしかすると REVERSAL 表示に必要なリバーサル検出をキャンセルで行っていた、という理由があったのかもしれない。GUARD CANCEL 表示も同じように処理されているので、意外と好い線を行っている可能性はある。

完全な余剰フラグとなったリバーサルは紛らわしい存在ではあるものの、副作用なく自由に使えるフラグとして重要な存在だったのは確か。このフラグの下支えがなかったら数々の KFX テクニックは生まれてこなかったかもしれない。