野うさぎ亭

SFXVI

SFXVIとは

SFXVI(エス・エフ・エクシヴィ)とは、 T.SOENO氏が作成されたX680x0上で動作する フリーソフトウェアの格闘ゲームです。
現在、世の中には数多くの格闘ゲームが存在していますが、 このゲームは、それら格闘ゲームと一線を画している点が一つあります。 それは、ユーザが自由にキャラクタやステージを作成することが できることです。
そのデータの作成も、既存のものに多少パラメータを変更できると いったレベルではなく、ユーザが1から作成することが可能となっています。 そのため、SFXVIには、数多くのデータ開発者が存在し、 データの作成を行っています。 現在では、キャラクタやステージの数は、それぞれ 優に200個を超え、300個に近づきづつあります。
また、キャラクタやステージデータ以外にも SFXVIのシステムを補佐するツールや、開発に役立つツール、 ライブラリ、果ては、ディスクマガジンまでが作成され、 草の根ネットを中心に配布されています。

sfxvi.gif

キャラクタデータ

悟空

SFXVI ver2.xx 時代にSOENO氏が作られた、悟空を ver3.00用に 移植したものです。
このキャラは、SFXVIのデータ開発の初期において、 開発のノウハウの蓄積やツール、ライブラリの開発に役立ちました。 もちろん、キャラクタ自体も楽しめます。
現在は、残念ながらプログラムおよびリソースがHDDごと消滅したため、 バージョンアップができなくなっています。

キャミィ

CAPCOMのSuper Street Fighter IIに登場したキャミィをSFXVI用に 移植したものです。
最初は、2ボタンのみの仕様でしたが、 Jimmy氏の6ボタンシステムの登場と、 SFXVIシステムの新しいスプライトデータ形式(ASP)の採用により、 6ボタン仕様が追加されました。 接続しているジョイスティックの種類に応じ、 自動的に2ボタンまたは6ボタン仕様に切り替わります。
現在は、新しいプログラム形式の開発のために、 再び一からプログラムを組み立て直している途中です。

cammy.lzh

K・ラクス

SFXVI ver4.00のサンプルデータ、D・ラクスを改造したものです。
このデータは、システムのサンプルデータでは紹介されていない、 今までデータ開発者が培ってきたノウハウやテクニックを詰め込み、 一歩上を行くためのサンプルキャラとして作成しています。
現在もなおバージョンアップを続けています。

klks120.lzh klks120s.lzh

ライ

わくわく7の主人公、ライの移植です。

rai050.lzh

モジュール

わくわく7ブートモジュール

わくわく7のデータを利用したブートモジュールです。
実時間の月によって背景やBGMが変わります。

wak7bt01.lzh

DQセレクター

ドラクエ風のセレクターモジュールです。
内容は、、、まんまですね。(^^;

DQSel01.lzh

X-MEN vs StreetFighter 風 VSモジュール

X-MEN vs StreetFighter 風のVSモジュールです。

VSXvsSF4.lzh

サブシステム

キャラクタ間通信システム

SFXVIでは、システムとキャラクタプログラム間での情報のやり取りは、 十分に整備されていますが、キャラクタプログラム同士では、 まったくと言って良いほど整備されていませんでした。
そこで、キャラクタ間通信システムというものを独自に作り、 キャラクタプログラム同士間で情報をやり取りする機構を作りました。 この機構により、相手キャラが提示するデータを元に自キャラの動作を 変化させることが可能となりました。 例えば、相手キャラの性別を判断して技の種類を変えるといったことです。
キャラクタ間通信システムは、本体の常駐プログラムと その本体にアクセスするためのライブラリで構成されています。
ライブラリには、キャラクタ間で情報をやり取りするための 汎用な関数を用意しており、柔軟に情報を伝達出来るように設計しています。
また、いくつかの通信規約にそった専用関数も用意しており、 簡単に通信が行えるようにも設計しています。

ツール

SFXVIRS - ランダムセレクタ

SFXVIでは、一度に50個(後期には200個)までのキャラクタやステージを登録し、 遊ぶことが可能です。 しかし、現在開発されているキャラクタやステージの量は、 その登録可能な数を上まわっています。
ランダムセレクタは、環境ファイルで指定した特定のグループから ランダムにデータを選び出し、自動的に登録データを更新するツールです。
更新するデータのグループの選出には、 名前での指定や各データにつけた属性による指定が用意しています。 また、選び出したデータのリストをorやandで結合することもできます。

sfxvirsj.lzh

MKCSP

このツールは、旧スプライトデータ形式のCSPファイルを作成する ツールです。
SFXVI開発キットに付属のツールでは、単純にCSPファイルを作るだけ なのですが、MKCSPでは、スプライトデータの並びを最適化して、 可能な限りデータを詰め込むことを行っています。

MKASP2

このツールは、新スプライトデータ形式のASPファイルを作成する ツールです。モード2専用となっています。
MKCSPと同様、スプライトデータの配置を最適化して、 可能な限りデータが小さくなるようにします。
ver1.20からは、不要な余白を切り取る機能を追加しました。

mkasp2r4.lzh

MKGRP

このツールは、SFXVIがサポートするグラフィックデータのひとつ、 GRPデータを作成するツールです。 任意の大きさのGRPデータを作成することが出来ます。

mkgrp100.lzh

RSSP

このツールは、パレット16色のスプライトデータを高品位に縮小するツールです。 スプライトデータの各ピクセルをグループ化し、 そのグループの出現頻度を顧慮することで、高品位な縮小を行っています。 環境ファイルに、各グループ毎の重みを指定することができ、 髪の毛のハイライト部分など 重要なピクセルを残しやすくさせるといった調整が可能です。

rssp110.lzh

マクロ・ライブラリ

WORKマクロ

キャラクタのワーク領域(身体の向きや位置を記憶している作業域)を 操作するためのマクロとその応用のマクロ集です。
本来は、プログラム中のポインタ操作の煩わしさを解消するために 開発したのですが、現在は、システム標準関数のいくつかを マクロ定義で代用するといった使われ方が主流となっています。

work_r8.lzh

MVFUNC

キャラクタの動きに関する関数を集めたライブラリです。
このライブラリには、固定小数点を使用した微細な移動を 実現するための関数や、 キャラクタの矩形取得を行う関数を用意しています。

mvfunc01.lzh

SFLIBC

SFXVIデータ開発の初期の頃、 フリーで小さなC言語のスタートアップルーチンがありませんでした。 (XCはルーチンが小さいが市販品、 GCCはフリーであるがルーチンが大きい)
このライブラリは、その問題を解決するために開発しました。
キャラクタデータのプログラムを実行可能にするための必要最小限の関数と、 いくつかの標準的なC言語の関数が含まれています。

sflibc.lzh

アーカイブ

S.SOENO氏が作成されたSFXVI最終版のアーカイブを勝手に置いておきます。

sfxvi40.lzh sfxvi40d.lzh sfxvi40l.lzh sfxvi42.lzh