Seaside Laboratory

Posts

KFM 2.13 リリース

主な変更点は以下の通り。

暗転中演出

KFA の「超必殺技演出フラグ」に相当する機能を追加した。機能説明の前に KFA における暗転中の演出について触れておく。

飛び道具による演出

飛び道具には「暗転中であってもモーションの進行だけは行われる」という特性があるので、超必殺技の行頭で発射してやれば飛び道具で演出を行うことができる。これは KFA で新たに追加された機能というよりは KFX の怪しげな処理が是正されたことによる副産物で、KFX でも行頭で飛び道具を発射することができれば同様の演出はおそらく可能と思われる。

この方式は、

  • 飛び道具で演出している間はプレイヤーを非表示 (透明) にする。
  • 演出が終わったら飛び道具を消してプレイヤーの表示を戻す。

という排他的な表示制御が必要で、この繋ぎをシームレスに行わないと何も表示されなかったり、重なって表示されたりしてしまう。

超必殺技演出フラグ

KFA には「超必殺技演出フラグ」という専用の拡張機能があり、暗転中の移動など飛び道具方式と比べ自由度の高い演出が可能となっている。

この機能は固定の暗転時間 (20F) が終了してから有効になるため、演出が開始されるまでに若干の遅延が発生する。超必殺技の演出は暗転と同時に行われるケースが多いので、人によっては違和感を覚えるかもしれない。

暗転中演出

KFM の「暗転中演出」はプレイヤーに飛び道具と同じ特性を付与するという単純なもの。

  • プレイヤーだけで演出が可能になるので煩雑なモーションを組む必要がない。
  • 演出は暗転と同時に開始されるので遅延が発生しない。

この機能を使った場合、KFM は暗転と同時に、他のエンジンは固定暗転時間の後に演出が始まり、暗転終了後はどちらも同じ行から開始されるので互換性の面で大きな影響は発生しないはず。

飛び道具の移動コマンド不具合を修正

KFX はニュートラルや前進といった基本的な動作を簡単に作ることができるので、それらがどのように処理されているのか普段あまり意識することはないが、裏では motion.lst の Ci を元にモーションやコマンドの制御が行われている。例えばニュートラル状態で右を押した場合、ニュートラルは前進コマンドによってキャンセルされ、前進モーションは右を押しっぱなしにしていても前進コマンドで再度キャンセルされることはない。

この仕組みを利用すれば飛び道具を操作することもできそうだが、KFX はプレイヤーの状態制御しか行っていないため、飛び道具で同じことをすることはできない。そもそも KFX は飛び道具の Ci を無視していて、拡張エンジンも KFX の仕様を引き継いでいるため、どう頑張ったところで状態制御を利用した飛び道具操作は使うことができない。

となると、キャンセルを使って飛び道具を操作することになるが、それは暗黙的に行われている状態制御を自前で実装することを意味し、複雑なキャンセルルートの設計や正確な実装が求められる。経験豊富なナックラーならまだしも、平均レベルのナックラーが気軽に使えるものではない。

この問題を解決するため、KFA では KFX との互換性を維持しつつ、飛び道具の操作を簡単に行えるアルゴリズムが使われている。KFX の処理方式は飛び道具の操作だけでなく、コマンドの機能拡張にも支障が出るため、KFM も KFA と同じ処理方式になっているが、実装に不備があり正しく動作していなかった。

不具合検証の際、確認用のキャラを XPlus で動かしたところ正常に動作しなかったので、飛び道具の操作を行うキャラは KFA 1.3 用であったとしても XPlus で正常に動作しない可能性が高い。