Posts
KFM 2.21 リリース
主な変更点は以下の通り。
偽ガード判別
KFX は Ci に 30 または 31 が設定されたモーションをガードとして扱い、そのモーション中に攻撃を受けると強制ガードシステムによる自動ガードが行われる。キャラ作成テクニックの中には、この自動ガードを利用したものがいくつか存在するが、ガードの持つ特性を全て引き継ぐことになるので、不必要な特性も引き継がれてしまう。
この問題を解消するため「設定上の偽ガード」と「実際に行われたガード」を明確に区別し、偽ガード時に発生する副作用を最小限に抑えるようにした。

当て身とガードポイント
Ya-Ta さん考案の当て身は「自動ガードで相手の攻撃を受け止める」というテクニックだが、動作自体は通常のガードと変わらないので、当て身中であってもガード方向の切り替えができてしまう。


このような状態にならないよう、偽ガード時はガード方向の切り替えを行えないようにした。

また、格ゲーには「ガード中の相手を投げることができない」という基本ルールが存在するが、当て身もガードとして作られているので投げることができない。これも同じように、投げられない条件から偽ガードを除外して投げられるようにした。
ガードキャンセル
SUNZ (キャラの方) はスタンドを持つキャラで、スタンドの制御はキャンセルで行われている。スタンド出現中は方向入力による移動ができないので、通常のガード操作も行うことができない。この問題に対処するため、後退モーションの Ci には 30 が設定されていて、後退中であればガードが発生する仕組みになっている。

後退から別動作への移行はガード状態のキャンセル、つまりガードキャンセルを行うことになるので、オプション設定の GUARD CANCEL が OFF になっていると別動作への移行が抑制されてしまう。
ガードキャンセル制約はガード属性全てが対象となっているので、ここから偽ガードを除外して制約がかからないようにした。

空中でのよろめき食らい改善
空中にいる相手に CL が 6 の攻撃を当てると、当たり前ながら空中でよろめき (ふらふら) 状態になる。よろめきモーションは Ci が 50 (立ち食らい)、KFM は状態判別の際に Ci を優先するので、CL が 0 か 1 の攻撃で追撃すると、空中で立ち食らいになってしまう。
多くのケースでは、続けてよろめき攻撃を当てて地上に引きずり下ろすか、ダウン効果のある攻撃で追撃するので問題にはならないが、シモン (elan さん作) の武迅脚は CL が 1 になっているので、相手が立ち食らいで降下してしまい、最後の一撃が当たらなくなる。

何故、こんなことが起きるのかというと、各攻撃効果にはヒット時の状態に応じた適切な食らいモーションが用意されているが、よろめき効果だけは食らいモーションがひとつしかなく、どのような状態でも強制的に立ち食らいになってしまう。
Ci に立ちが設定されている以上、普通に処理をしたら立ち状態になってしまうので、よろめき効果の攻撃を食らったときだけは例外的に座標で判別するようにした。

カラー選択の改善
KFM ではパレットによる追加カラー機能をサポートしているが、追加カラーを目にする機会は意外と限られている。通常、COM は 2P カラーを選択するので chara3.act があっても chara2.act がなければ使われないし、2P からゲームを開始したときは 1P カラー (デフォルトカラー) が選択される。
追加カラーが使われる機会を増やすため、COM が非デフォルトカラーを優先的に選択するアルゴリズムに変更した。

また、同じカラーを選択したときは問答無用で X.C.O.P.Y. 風カラーが適用されていたが、別カラーが存在するときは強制的にカラーを切り替える処理も追加した。

この同じカラーを避ける仕組みは「アーケードモードで COM に負けた後にコンティニューして同じカラーを被せる」といった状況にも対応しなければいけないので、実装が面倒すぎて後回しになっていた。
今回の改修にあたり、パレットのルールを単純化したので、face.act は chara.act が存在しないと有効にならないようになっている。
ランダムステージ選択の改善
乱数による選択だと、どうしても偏りが発生してしまうので、選択アルゴリズムをランダムシャッフルに変更した。

その他

