野うさぎ亭
SFXVI
SFXVIとは
SFXVI(エス・エフ・エクシヴィ)とは、 T.SOENO氏が作成されたX680x0上で動作する フリーソフトウェアの格闘ゲームです。
現在、世の中には数多くの格闘ゲームが存在していますが、 このゲームは、それら格闘ゲームと一線を画している点が一つあります。 それは、ユーザが自由にキャラクタやステージを作成することが できることです。
そのデータの作成も、既存のものに多少パラメータを変更できると いったレベルではなく、ユーザが1から作成することが可能となっています。 そのため、SFXVIには、数多くのデータ開発者が存在し、 データの作成を行っています。 現在では、キャラクタやステージの数は、それぞれ 優に200個を超え、300個に近づきづつあります。
また、キャラクタやステージデータ以外にも SFXVIのシステムを補佐するツールや、開発に役立つツール、 ライブラリ、果ては、ディスクマガジンまでが作成され、 草の根ネットを中心に配布されています。
キャラクタデータ
悟空
SFXVI ver2.xx 時代にSOENO氏が作られた、悟空を ver3.00用に 移植したものです。
このキャラは、SFXVIのデータ開発の初期において、 開発のノウハウの蓄積やツール、ライブラリの開発に役立ちました。 もちろん、キャラクタ自体も楽しめます。
現在は、残念ながらプログラムおよびリソースがHDDごと消滅したため、 バージョンアップができなくなっています。
キャミィ
CAPCOMのSuper Street Fighter IIに登場したキャミィをSFXVI用に 移植したものです。
最初は、2ボタンのみの仕様でしたが、 Jimmy氏の6ボタンシステムの登場と、 SFXVIシステムの新しいスプライトデータ形式(ASP)の採用により、 6ボタン仕様が追加されました。 接続しているジョイスティックの種類に応じ、 自動的に2ボタンまたは6ボタン仕様に切り替わります。
現在は、新しいプログラム形式の開発のために、 再び一からプログラムを組み立て直している途中です。
K・ラクス
SFXVI ver4.00のサンプルデータ、D・ラクスを改造したものです。
このデータは、システムのサンプルデータでは紹介されていない、 今までデータ開発者が培ってきたノウハウやテクニックを詰め込み、 一歩上を行くためのサンプルキャラとして作成しています。
現在もなおバージョンアップを続けています。
モジュール
サブシステム
キャラクタ間通信システム
SFXVIでは、システムとキャラクタプログラム間での情報のやり取りは、 十分に整備されていますが、キャラクタプログラム同士では、 まったくと言って良いほど整備されていませんでした。
そこで、キャラクタ間通信システムというものを独自に作り、 キャラクタプログラム同士間で情報をやり取りする機構を作りました。 この機構により、相手キャラが提示するデータを元に自キャラの動作を 変化させることが可能となりました。 例えば、相手キャラの性別を判断して技の種類を変えるといったことです。
キャラクタ間通信システムは、本体の常駐プログラムと その本体にアクセスするためのライブラリで構成されています。
ライブラリには、キャラクタ間で情報をやり取りするための 汎用な関数を用意しており、柔軟に情報を伝達出来るように設計しています。
また、いくつかの通信規約にそった専用関数も用意しており、 簡単に通信が行えるようにも設計しています。
ツール
SFXVIRS - ランダムセレクタ
SFXVIでは、一度に50個(後期には200個)までのキャラクタやステージを登録し、 遊ぶことが可能です。 しかし、現在開発されているキャラクタやステージの量は、 その登録可能な数を上まわっています。
ランダムセレクタは、環境ファイルで指定した特定のグループから ランダムにデータを選び出し、自動的に登録データを更新するツールです。
更新するデータのグループの選出には、 名前での指定や各データにつけた属性による指定が用意しています。 また、選び出したデータのリストをorやandで結合することもできます。
MKCSP
このツールは、旧スプライトデータ形式のCSPファイルを作成する ツールです。
SFXVI開発キットに付属のツールでは、単純にCSPファイルを作るだけ なのですが、MKCSPでは、スプライトデータの並びを最適化して、 可能な限りデータを詰め込むことを行っています。
MKASP2
このツールは、新スプライトデータ形式のASPファイルを作成する ツールです。モード2専用となっています。
MKCSPと同様、スプライトデータの配置を最適化して、 可能な限りデータが小さくなるようにします。
ver1.20からは、不要な余白を切り取る機能を追加しました。
マクロ・ライブラリ
WORKマクロ
キャラクタのワーク領域(身体の向きや位置を記憶している作業域)を 操作するためのマクロとその応用のマクロ集です。
本来は、プログラム中のポインタ操作の煩わしさを解消するために 開発したのですが、現在は、システム標準関数のいくつかを マクロ定義で代用するといった使われ方が主流となっています。