Seaside Laboratory

Posts

KFM 2.09 リリース

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

マルチスレッド化

UI 処理とゲーム処理を別々のスレッドに分離して、どちらかの処理が重くなったときにもう片方が巻き込まれないようにした。

はっきりと違いが分かるのが起動時のローディングで、以前はファイル読み込みでゲーム側の処理が詰まると UI (ウィンドウ) も固まってしまっていたが、今バージョンではその問題が解消されている。

Raw Input に対応

キーボードの入力処理を DirectInput から Raw Input に変更した。

DirectInput が 1 台のキーボードしか扱えない関係で、「1 台のキーボードに 2 プレイヤー分のキーを割り当てる」という窮屈なレイアウトになっていたが、複数台のキーボードを扱える Raw Input へ移行したことでこの問題が解消された。

KFX (とそれを継承する拡張エンジン) はカーソルキーに攻撃ボタンが割り当てられているので、「項目を変更しようとしてカーソルキーを押すと決定になる」という初心者キラーのトラップが存在する。KFM 1.87 ではカーソルキーに 2P の方向ボタンを割り当てることで問題の緩和を図ったものの、その代償として攻撃ボタンが中途半端な位置に配置されていた。

ノート PC に外付けキーボードを接続している環境では、内部的にキーボードが 2 台ある状態として認識され、おそらく外付け側が 2P として扱われるので慣れが必要かもしれない。

EX 必殺技

EX 必殺技にネイティブ対応したので簡単に EX 必殺技を作れるようになった。例えば、ボタン同時押しで発動し、0.5 ゲージを消費する EX 青龍拳を作る場合、

  1. 大青龍拳のモーションとコマンドをコピー。
  2. モーションを EX 必殺技風の性能にカスタマイズ。
  3. コマンド最後の "P" を "p+P" に変更。Vx の末尾に ".5" を追加。

これだけの作業で済む。

KFM 固有の機能になるので他のエンジンとの互換性はないが、それを承知で対応することにしたのは EX 必殺技は他の技と比べて作るのに手間がかかりすぎる、という点にある。

例えば、EX 必殺技ではキャラを光らせるという演出がよく行われるが、これをやるには通常の絵とは別に光らせた絵を作成して bmp.lst に登録しておかなければならないし、点滅させるには全てのモーションを 1 フレーム単位で分割する必要がある。

また、Ci には EX 必殺技に相当する値が存在しないので何らかの値を割り当てることになるが、必殺技にするとヒット時にゲージが増加し、スーパーコンボにすると K.O. 時に曙フィニッシュが発生してしまう。

他にも「K.O. で画面が停止している間もキャラを点滅させる」「1 ゲージに満たないが EX 必殺技が出せる状態になったらゲージを光らせる」といったキャラ側での対応が困難なものもいくつかある。

どんな見た目か気になる人は、適当なキャラの Vx を書き換えるだけで EX 必殺技化させることができるので一度お試しあれ。

その他

今まではシーン切り替えと同時に最速で BGM を再生していたが、登場デモがある場合は終わるまで待機するようにした。ただ、MIDI ファイルのトラック先頭に長い空白があると再生してから実際に演奏されるまでのラグが大きいので、待機しているのかラグが大きいのか分かりづらいことがある。

開発時は登場デモが適度に長いこの 2 キャラで確認していた。