Seaside Laboratory

Post

KFM 2.06 リリース

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

表示コンボ数の改善

途中で補正切りが入っても問題なし。

KFA でこっそり導入された「ダメージ 0 でも表示コンボ数はリセットされない」機能は、KFX に浸透してしまった強引なコンボ補正切りを自然な見た目にしてくれる気の利いた機能だと思い込んでいたが、T パラメーターの仕様を紐解いていくと「単なる副産物なのでは」という認識になった。

KFA で投げ技を作る場合、相手を持ち上げたり振り回したりするために操作用の攻撃を当てることになるが、体力を減らすことを目的とした攻撃ではないのでダメージは 0 にしなければならず、KFX の仕様だとコンボ数がリセットされてしまい具合が良くないのでリセットを回避する仕組みが必要になる。

KFX ではコンボ補正に影響するコンボ数と表示されるコンボ数は同じものだが、別途用意したコンボ変数に先程のリセット回避を適用してやれば表示用コンボ数を簡単に作ることができる、という話。

K.O. 時のヒットエフェクト改善

ゲームには「ゲームの進行は停止しているがアニメーションは行われる」といった状態が多々あり、例えばアドベンチャーゲームの文字送りカーソルなどがそれに該当する。このようなゲームの特性を考えるとスキンの仕様は「ゲームの状況に関係なく動き続ける」とするのが妥当で、実際多くの場面で問題なく動作する。

その中でも K.O. は問題が起きる数少ないシーンのひとつで、K.O. 表示とヒットエフェクトのアニメーションが通常通り進行した結果、表示時間の短いヒットエフェクトの方だけ先に消失し、やや迫力に欠けた見た目なってしまう。この現象は KFM だけでなく同じ様な仕様の KFA でも発生する。

これを回避するには K.O. が発生した瞬間に特定のスキンだけ一時停止を行い、K.O. が終了したら動作を再開するという、当たり前のやり方で解決するしかないが、特定のスキンを一時停止したり再開したりする機能なんてものはなかったので、スキンのデータ保持方法なども含め機能全体を改修することになった。

暗転フレーム数の変更

KFA を想定して作られた暗転時の演出が KFM でも動作するよう暗転時間を 15 から 20 に変更した。

時間が延びたので発動エフェクトの枚数も増やしておいた。

KFA には「暗転後の先行動作時間」という KFX と異なる仕様があることは知っていたが、暗転時間そのものが変わっていたことは知らなかった。KFX の 15 フレームという値は単純に引き継いだだけで特にこだわりがあったわけでもなく、時間を延ばしたことによる影響も小さそうなので変更することにした。

T パラメーターの追加

KFX で投げ風の技を作る際に邪魔になるのがヒットエフェクトなどの演出で、技の流れとしてエフェクトが出ても問題ないような見た目なら気にすることはないが、相手を投げ飛ばすような動きだとどうしても不自然な見た目になってしまう。特に KFM は吹き飛ばし時のヒットストップが長いので、投げたときに「引っかかる」感が出てしまいよろしくない。

自然な見た目に。

この問題は随分前から把握していたものの、T が持つ機能は KFX 既定のガード属性で賄えないものが多く、対応するにはヒット判定も含め大がかりな修正が必要だったので長年放置されていた。

コマンド文字数制約の緩和

ターンパンチのようなボタンで溜めるタイプのコマンドを定義する場合、ボタンのデフォルト挙動が「押した瞬間」なのでボタンひとつひとつに「押しっぱなし」修飾子を大量に付加しなければならず、結果としてコマンドがやたら長くなってしまう問題があった。

修飾子とボタンを組み合わせた 2 文字は 1 フレームの内部コマンドとして展開されるので、基本的には短く変換される傾向はあるものの、内部コマンドはコマンドバッファと同じサイズという点は変わっていないので、展開後のサイズが大きいコマンドを指定すると溢れが発生し、はみ出た部分は無視されてしまう。