Seaside Laboratory

Posts

KFM 2.12 リリース

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

特殊ヒット効果に凍結を追加

格ゲーにおけるヒット時の特殊効果は大半が燃焼、残りが感電、たまに凍結、という割合で使われている (と思われる) ので、一番実用性が高いであろう凍結を追加した。

キャラが青白くなること以外、燃焼エフェクトと大した違いがない作品が多い中、スト III は色の変更だけでなくキャラの動きも止めていて、より凍結感の増した演出となっている。

KFM にスト III と同じ演出をさせる場合、独自の食らいモーションへ飛ばすといったやり方だと互換性が失われてしまうので、演出と互換性の両方が成立する方法を考える必要がある。色々と思案した結果「Pic を食らい初回行のもので固定する」という方法に落ち着いた。Pic 以外の項目は食らいモーションの遷移とともに変化するので見た目 (Pic) と判定 (Def1) に差が生じてしまうが、キャラの大きさに関係なく共用の食らいモーションを使う KFX においては些細な問題で、実際に Pic を固定したモーションを眺めてみたが特に不自然さは感じられなかった。

より凍結感を高めるために特殊ヒット効果に対応した効果音を鳴らす仕組みも追加したので、既存の燃焼や感電も演出が少しだけ豪華になっている。

enemy.lst の読み飛ばし機能を追加

KFA の「攻撃を受けたら enemy.lst を読み飛ばす」という機能を追加した。

読み飛ばしたところで食らいまたはガードから復帰するまでの間に行われる入力によってズレは生じてしまうので、正直なところ COM の動作が大幅に改善するような機能ではない。ただ「可能な限り適切な入力へ切り替える」という考え方自体は正しくて、一行に大量の Command が記述されている場合は間違った入力を垂れ流さずに済むし、リバーサルやガードキャンセルの精度は確実に向上する。

command.lst の Std チェックを厳密化

開発版だった頃の KFM は Std のチェックを厳密に行う仕様で、概ねうまく動いていたが、連続入力を持ったキャラの動作に支障が出たため少しだけチェックを緩めた、という経緯がある。

基本的に必殺技は自由に動ける状態か基本技をキャンセルして出すものだが、連続入力の場合は必殺技をキャンセルして必殺技を出すという特殊なキャンセルルートとなり、必殺技は Ci から状態 (Std) を取得することができないので Std のチェックを行うと必ず不成立となってしまう。この問題を解消するため「状態不明のときは Std のチェックをスキップする」という調整を行った。

同じようにキャラの状態を参照する処理は他にもいくつかあるが、状態不明だからといって処理をスキップするわけにはいかず、最終的にキャラの位置情報を使った状態解決が行われている。例えば、必殺技を出している最中に攻撃を食らった場合、地上食らいと空中食らいのどちらかになるかは、この「動的 Std」によって決まる。

KFM のリファクタリングを行った際、動的 Std を使っていないのはコマンド処理だけということが判明したため、処理の一貫性や将来の拡張も踏まえ動的 Std をベースとした処理に変更した。旧バージョンが「状態は確定しないことがあり、その場合 Std のチェックは行われない」に対し、新バージョンは「状態は必ず確定し、Std のチェックも必ず行われる」となっている。

通常、コマンドにはキャンセルなしで出すことを想定した「適切な Std」が設定されているので、この変更による影響は限定的で、余程変わった作りでない限り問題なく動作する。

着地タイミングを変更

KFX は地面と同じ位置になった瞬間も着地となるが、KFA は地面にめり込んだ瞬間が着地となっている。KFM は KFX と同じ方式だったが KFA との互換性を高めるために方式の変更を行った。

左が変更前で右が変更後。

その他

入力デバイスの順番が入れ替わってしまうことがあるので操作中のコントローラー設定のみ表示するようにした。