今回は動かせるキャラを作るのが目標です。 動かせる、と言っても技もないし、ジャンプも出来ないし、 立ったりしゃがんだり歩いたりする事しか出来ないようなところまでしか解説しません。 プログラムには一切手を触れない、というのが今回のポイントです。
とはいっても、どんな形にせよ画面上にキャラが出せるとなると、 キャラ開発が俄然面白くなってきます。がんばってモノにしてください。
なお、マニュアルを読めばわかるような基本事項については踏み込んで説明しませんから注意してください。
SFXVIの開発キットをインストールするとSFXVIシステムのルートディレクトリの下に DEVELOP というディレクトリが作成され、その下にドキュメント、ライブラリなどの様々なファイルが作成されます。
キャラクターの開発は、DEVELOP\CHAR\ の下で行うのが基本です。 このディレクトリには、サンプルとして D_LUKS D_ELEN の2つのサンプルキャラのディレクトリが有り、 NEW.BAT という新規プロジェクト作成用のバッチファイルがあります。
キャラクタの制作の第一歩はこの NEW.BAT を実行する事から始まります。
では早速実行してみましょう。ディレクトリを移動し、 コマンドラインから NEW と打ち込んでリターンキーを叩きます。
するとキャラクタウィザードが起動します。 ここでいくつかの質問に答える事で、プロジェクトの自動生成を行ってくれます。
I:\SFXVI\DEVELOP\CHAR > NEW
キャラクタウィザードの質問にはどう答えればいいかという事ですが・・・。
プロジェクト名
半角8文字以内です。ここで入力した名前がディレクトリ名称となります。 既存のキャラクタと同名になるような名前は避けた方がいいでしょう。
今回は「TEST」というプロジェクト名をつけたこととして説明をしていきます。
攻撃動作の指定
通常動作の指定
くらい動作の指定
チェックを全てはずします。
全ての質問に答えると、プロジェクトの作成を行います。 この時いくつかのサブディレクトリを作成します。 それぞれのサブディレクトリにはどういったデータが格納されるのかを説明します。 キャラクタウィザードのセットアップが終了したら、CBを起動せずに終了させてみてください。
TEST/ プロジェクトディレクトリ | + DSP/ DSPファイルが格納されます | + VOICE/ PCMデータファイルが格納されます | + OBJECT/ 配布用データファイルが格納されます | + PROGRAM/ プログラムソースファイルが格納されます | + ETC/ CB起動に必要な情報が格納されます | + CB.BAT CB起動用バッチファイル
DSPディレクトリにはキャラクタや SHOT のグラフィックデータが格納されます。 拡張子が .DSP のファイルです。DSPファイルは通常、CBで作成しますが、 他のエディタ( SM.x や EEL 等)で作成したデータを扱う事も出来ます。(ただし、細工が必要)
VOICEディレクトリにはADPCMファイルが格納されます。拡張子は .PCM です。 PCMファイルをこのディレクトリにコピーしておくだけで、CBでそのデータを扱う事が出来ます。
OBJECTディレクトリはCBで作成した各種データが格納されます。 基本的にこのディレクトリの内容が、配布に最低限必要なファイルになります。 CBで作成されるファイルは以下の通りです。
config.lst
mini1.sp
mini1.pal
mini2.sp
mini2.pal
name.sp
char.pal
char.asp
voice.smp
hit.inf
cell.inf
キャラクタ個別コンフィグ
対戦中に表示されるキャラクタの顔(プレイヤー1)
mini1.sp 表示のためのパレット
対戦中に表示されるキャラクタの顔(プレイヤー2)
mini2.sp 表示のためのパレット
キャラクタ名表示用グラフィックデータ
キャラクタ本体表示用パレットデータ
DSPデータを圧縮しひとつにまとめたもの
PCMデータをひとつにまとめたもの
ヒット情報
セル情報
CBの出力するプログラムコンパイルバッチファイルを実行すると、 OBJECTディレクトリに action.x が作成されます。 これでCBで作成される配布用データは全て、このディレクトリに納まるというわけです。
PROGRAMディレクトリにはCBの出力するプログラムソースファイル、 コンパイルバッチファイル、ヘッダファイルが格納されます。
ETCディレクトリにはCBが参照する各種リストファイルが格納されます。 通常は、このディレクトリ内のファイルを意識する必要はありません。 CB以外のエディタで作成したDSPファイルを読み込ませたい時は、 このディレクトリに存在する DSP.LST を書き換えることになりますが。
ではあらためて、CBを起動してみましょう。 キャラクタウィザードによってプロジェクトディレクトリが作成されているはずです。 まずはプロジェクトディレクトリに移動します。そして、CB起動バッチファイルを実行します。
I:\SFXVI\DEVELOP\CHAR > CD TEST I:\SFXVI\DEVELOP\CHAR\TEST > CB
CBが無事に起動すると、大きなボタンが3個と右下に小さなボタン2個が画面に表示されます。
大きいボタンは上から「リソース」「プログラム」「保存とオブジェクトの作成」と書かれています。
最初は「リソース」ボタンをクリックします。 すると画面が切り替わり、たくさんボタンが張り付いた画面が表示されます。 ここで表示されるボタンは「セル」「ヒット情報」「ボイス」「PCG」「ネーム」 「フェイス」「グラデーション」「PRFコンフィグ」「USRコンフィグ」「CPUコンフィグ」です。
次に「セル」ボタンをクリックします。 この画面ではDSPデータとセルの割付、当たり判定の設定等を行います。
新規プロジェクトなので、DSPリストには「新規1」という名前のデータしか登録されていません。 これは画面右上の「DSPセレクタ」ボタンをクリックする事で確認出来ます。 このDSPデータだけでは何も出来ないので、何でもいいからDSPデータを追加しちゃいましょう。
「DSPリスト」ボタンをクリックします。すると現在登録されているDSPデータのリストが表示されます。 次に画面左下に追加というボタンがあるのでクリックします。リストに「新規2」というデータが追加されます。 追加されたら、その項目を選択します。 画面上部にDSPデータの名前が表示されるので、そこをクリックし、任意の名前に付け替えます。 今回は「直立00」という名前にしておきましょう。
DSPリストを追加したら、早速、直立ポーズの絵を描きましょう。 今回はどんな絵でも線画だって構いませんから、とにかく何か描いてみましょう。 DSPエディタの使い方については説明しませんけど。
DSPデータを描き終わったら、それをセルに割り付けます。セルの一覧を見てみましょう。 初期状態では必須セルと呼ばれるものしかリストに含まれていないことがわかると思います。 これらのセル全てに、先程作成したDSPデータを割り付けてしまいましょう。
割付先のセルと割付元のDSPデータをセレクタなどで選択し「リンク」ボタンをクリックします。 するとメッセージボックスが表示され、確認を求めてきます。「OK」を選んでください。 DSPで選択したグラフィックデータがセル表示領域に反映されます。
DSPとセルをリンクさせたら矩形の設定等を行います。が、今回はそこまで踏み込みません。 矩形設定の詳細は開発講座ゲームバランス編のバックナンバーを読んでください。
同じ要領で、必須セル全てにDSPデータをリンクします。 それが終わったらセルエディットは終了です。
最初のメニュー画面まで戻ります。 ここで必ず「保存とオブジェクトの作成」ボタンをクリックしてください。 これを忘れると今までの作業が水の泡です。
ボタンをクリックするといくつか質問をされます。 画面に表示されるメッセージを見ながら、保存か次の処理に進むか決めてください。 今回の作業内容ではセルのエディットしかしていないはずなので、以上の通りに選びます。不安であれば、「次へ」を選ばず「保存」を選んでも構いません。
- オブジェクトの保存→「保存」
- ASPデータの作成→「モード1」
- ボイスオブジェクトの作成→「次へ」
- ヒットオブジェクトの作成→「次へ」
- ソースリストの作成→「次へ」
保存が終わると、再び最初のメニュー画面に戻ってきます。 右下の小さいボタン「終了」を選んでCBを終了させましょう。
CBを終了させたら、プログラムのコンパイルです。まずはディレクトリを移動します。
I:\SFXVI\DEVELOP\CHAR\TEST > CD PROGRAM I:\SFXVI\DEVELOP\CHAR\TEST\PROGRAM >
上記のように、PROGRAMディレクトリに移動します。 ここにはCBが自動生成したプログラム、ヘッダ、バッチファイル、バックアップファイル等が置かれています。
このディレクトリでやる事はひとつです。「make.batを実行する」だけです。
I:\SFXVI\DEVELOP\CHAR\TEST\PROGRAM > make
プログラムのコンパイル、リンクはこのバッチファイルを実行するだけで全て自動で行ってくれます。 今回はプログラムに一切手を触れていないので、コンパイルやリンクに失敗することがあるようなら、 環境の設定ミスが最優先で考えられます。よく確認してみてください。
無事にリンクまで終了していれば、OBJECTディレクトリに「ACTION.X」が作成されているはずです。 自作キャラが動き出すのは目前ですね。
この時点で、必要なファイルは全てOBJECTディレクトリに存在している事になります。 OBJECTディレクトリの内容を、SFXVIのキャラクタディレクトリにコピーします。 通常はCHARディレクトリの下です。ディレクトリを新たに作成し、その中にコピーします。
I:\SFXVI\DEVELOP\CHAR\TEST\PROGRAM > CD \SFXVI\CHAR I:\SFXVI\CHAR > MD TEST I:\SFXVI\CHAR > CD TEST I:\SFXVI\CHAR\TEST > COPY \SFXVI\DEVELOP\CHAR\TEST\OBJECT\*.*
ディレクトリの作成は最初の一回だけしか必要ありませんが、ファイルのコピーは、 コンパイル、リンクの後は必ず行わなければなりません。
コピーが終わったらキャラクタを登録します。 登録の手段については何通りか存在するので、好きな手段を選んでください。 登録が終わればあとはいつものようにSFXVIを起動するだけです。
どうですか?今の状態では、ただ立ってるだけで、すぐに消えたりするし、 何も出来ないですが、紛れもなく「自分の作ったキャラ」です。 創作意欲が湧いてくるんじゃないでしょうか?すぐに、これだけでは満足出来なくなると思います。
満足出来ない!と思ったらまずはセルを追加してみましょう。マニュアルをよく読むと、 必須セル以外に、「デフォルト動作関数で使用されているセル」というものがあることがわかると思います。
これらのセルを追加してやれば、直立時にはアニメーションするし、歩行の時にも消えずに動くようになります。 セルの追加の方法は今回は説明していないので、独力でがんばってみてください。
さて、今回の作業の中で一番大変だったのは「DSPデータを描く事だった」という人も多いんじゃないでしょうか。 そこで次回は他のキャラからDSP等のデータを流用する方法について説明したいと思います。