Posts
KFM 2.15 リリース
主な変更点は以下の通り。
サバイバルモードを追加
「サバイバルモードの実装は簡単に終わるだろう」そんな軽い気持ちで "SURVIVAL" という定数をプログラムに追加したが、実装は遅々として進まず 11 年間放置されることになった。サバイバルモードには体力の回復や持ち越しといった固有の処理があり、この実装が思いのほか面倒だった、というのが大きい。
例えば、体力の回復を行うには回復量を決める必要があり、この回復量はバトル内容が元となる。バトル内容には残り時間やフィニッシュ技といった評価項目があり、計算式や得点表を使って採点を行い、この合計値から回復量を算出する。回復が一瞬で終わっては味気ないので緩やかに回復させるなど、サバイバルモードに必要な処理は意外と多い。体力の持ち越しも面倒ではあったが、わざわざ書く程の内容ではないので割愛。
サバイバルモードのゲーム内容はアーケードモードと似ているので特に説明することはないが、KFX の COM だと思って油断していると少しずつ体力を削られゲームオーバー、なんて展開になる。特に難易度 HARD は DEFENSIVE ENEMY のアシストもあり、少し強めのキャラが出てきただけでそこそこ苦戦する。
ヒットストップの挙動を変更
KFM では互換性を維持しつつ演出の幅を広げるため、KFX 由来のヒットストップ (以下標準ヒットストップ) より長い部分を拡張ヒットストップとして扱い、拡張ヒットストップ中は飛び道具であろうが何であろうが全ての動作を停止させている。
ヒットストップを単純に延長した関係で、拡張ヒットストップは標準ヒットストップの後に処理されるが、演出を強化する上で都合が悪いことが判明したので、挙動を変更することにした。例えば、8F のヒットストップがあり、新たに「ステージ振動」という 10F のヒットストップを先頭に追加した場合、以下のような順番で処理される。
ステージ振動で暫く停止した後、標準ヒットストップの間だけ僅かに飛び道具が動き、再び拡張ヒットストップで停止するという奇妙な見た目になる。そこで、標準ヒットストップと拡張ヒットストップの順番を入れ替え、新たなヒットストップ種別が追加されても停止時間が途切れないようにした。
この入れ替えには、飛び道具によるアニメーションを改善する効果もある。例えば、エフェクトの位置を移動ではなく絵自体を動かすことで変化させている場合、標準ヒットストップ中に行われるモーション進行によって、エフェクトがヒット位置から離れた場所へ移動してしまう。
改善後は、エフェクトがヒット位置の付近にあることが分かる。
ただ、この方式はフラッシュとの相性が悪い。以前であれば、フラッシュの点灯フレームはモーションの進行によって一瞬で終了していたが、それがなくなるため点灯フレームの表示時間が間延びしてしまう。あちら立てればこちらが立たず、という状態なのでこればかりはどうしようもないが、あまりにも影響が大きいと判断したら、しれっと元に戻してしまうかもしれない。