Seaside Laboratory

Posts

KFM 2.14 リリース

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

DEFENSIVE ENEMY を追加

KFX の enemy には「ニュートラル状態であればガードを行う」という仕様があるので、ガードを誘発させたいときは Commmand に n か N を散らしておくのが定石となっている。ただ、特殊扱いされるのはニュートラルのみで、下入力 (屈み) や前入力 (前進) はガードにならず、ガード入力であってもガード方向が一致しなければ攻撃を食らってしまう。

KFM は「ガードへ移行可能であれば 100% ガードを行う」というアルゴリズムなので、KFX だと漏れてしまっていたケースも拾われる分、僅かながらガード確率が高い。2ch の KFX スレに書き込まれた、

名無しさんの野望:05/02/01 23:12:00
KFM のガード率が抜群な理由って何だろ

という投稿は、このガード確率の変化を体感してのことだと思われるが、この些細な変化を感じ取ってしまうのは「基本的にガードしない」という enemy.lst の仕様に因るところが大きく、常に入力を垂れ流し続ける enemy.lst は所謂「暴れ」状態にあり、ガードできる機会が極端に少ない。

そこで暴れ状態を適切に抑制することでガードできる機会を増やし、結果としてガード確率を向上させる機能が DEFENSIVE ENEMY となっている。どんなアルゴリズムなのか分かってしまうと COM 戦が白けてしまうので詳細については触れないでおく。

先程引用した KFX スレには DEFENSIVE ENEMY と似た、ガード確率を向上させるためのアイディアが書き込まれている。

名無しさんの野望:05/02/15 12:35:03
次バージョンに実装してほしい CPU 機能なのですが、
ダウンして起き上がった直後、相手がなんらかの攻撃を重ねてきた場合、
「ENEMY」の読み込みを中止し、自動的にガードするようにする。
そうすることで、CPU に対して起き上がりハメが出来ないようにする
というのは、技術的には可能だと思いますが、どうでしょうか?

良いアプローチではあるのだが、残念ながら格闘ゲームにはガードキャンセルやリバーサルといった先行入力を前提としたシステムが存在するので、enemy.lst の読み込みを中止したところで成立済みのコマンドは発動してしまうし、仮に無理やりコマンドを無効化したとしても、

名無しさんの野望:05/02/15 14:20:12
それやると起き上がり昇竜リバサしなくならない?
エネミー調整したそうだから
M ほどじゃないだろうが起き上がりも多少強くなってるのかもしれないし
少し様子見ようぜ

と書かれているようにリバーサルが出なくなってしまう。このアイディアを実現するには起き上がりの瞬間だけでなく、それより前の状態も含めた長期的な行動計画を持ったアルゴリズムが必要になる。

作り込まれた enemy.lst の動作を阻害しないよう、DEFENSIVE ENMEY による介入は最小限になるようにした。

暗転中入力の無効化

暗転が発生すると動作は停止してしまうが入力の受付は行われているので、暗転された側がコマンド技やブロッキングを仕込むことが可能となっている。これは暗転を仕掛けた側からすると後出しじゃんけんのような不公平さがあるので、スト III と同じく暗転中の入力を受け付けないようにした。

この修正によって、enemy.lst の入力が暗転でずれてしまう現象もついでに解消された。

フォルダー構成の変更

キャラクターの格納フォルダーを KFM 直下からひとつ下の chara フォルダーに変更した。

KFM は KFX に上書きすることで簡単に起動できるようになっているが、これは初回リリースとなる 2003 年当時の KFX 利用者が少なくなかったことが大きく影響している。ただ、現在において KFX がメインという人は居ないだろうし、フォルダー衝突問題もあるため、従来とは逆となる KFM の chara フォルダーに KFX を配置してもらう方式に変更した。

KFM Entry Manager のキャラクター検索起点が KFM 直下に固定されている関係からキャラクターフォルダーの扱いに変化はなく、kfm.ini の初期エントリーパスが chara フォルダー起点に変わっただけで、既にプレイ環境が構築されている人には関係のない話となっている。

将来的には指定したフォルダー配下にあるキャラクターをエントリーできるようにしたいと思っているが、先程も触れたようにエントリーツールの仕様で検索フォルダーを変えることができないので、新たにエントリーツールを作らないかぎり解決できない課題となっている。

スキンフォルダーもキャラクターフォルダーと同じように一段深くなっているので、スキンの書き換えなどを行っている人はフォルダーの配置に要注意。

フルスクリーンはみ出し解消

Windows の表示スケールに 100% を超える値 (画面の拡大) を指定すると、フルスクリーン時に画面がディスプレイからはみ出してしまっていたので、この問題を解消した。

原因の詳細は「Direct2D と DPI スケーリング (2)」という記事に書いたが、フルスクリーン化はディスプレイの解像度と同じサイズのウィンドウを作成するという方法がとられるため、DPI スケーリングが登場する前に作られたソフトは軒並みこの問題が発生してしまう。

従来通りの方法でフルスクリーン化を行っている XPlus も例外ではない。

その他

コンボ数に応じた評価メッセージ表示を追加した。

実はこの機能、2015 年時点でプログラムの実装は終わっていて、KFM 1.92 から利用可能な機能となっていたが、スキンを作るのが面倒で 7 年程放置してしまった。

これ以外にもエフェクトの改善など細かいブラッシュアップを行っている。