まずは、1話で終わるシナリオを書いてみることにしましょう。 どんなに長いシナリオも1話1話の積み重ねで出来ているものであり、 1話のシナリオをおろそかにしていては決してシナリオは完成しません。
いよいよシナリオを書き始めたいところですが、 もうひとつだけ準備が必要です。 マップを作成しなければなりません。
SRC.eveがあるフォルダ(SRCのルートフォルダ)にMapEdit.exeがあります。 まずはこれをダブルクリックし、戦闘をさせるためのマップを作りましょう。 詳しくはヘルプから 「データの作成−データの形式−(5)シナリオデータ−マップデータ」を 参考にしてください。
マップを作るのが面倒な方は、マップデータを配布している方もいるので、 これを利用してもいいでしょう。
なお、一部のマップチップはローカル用として配布されています。 このマップチップを使いたい時は 自分のシナリオのBitmapフォルダの中にMapフォルダを作り、 この中に必要なファイルをコピーして使うことになります。
マップのファイル名はそのマップを表示させる イベントファイルのファイル名とあわせておきましょう。 例えば、シナリオのイベントファイル名がオリジナル.eveだとすると、 マップのファイル名はオリジナル.mapにしておきましょう。 簡単に言うと、イベントファイルとマップファイルは 拡張子が異なる以外は同じファイル名を持つということになります。
自分のPCで拡張子が表示されない場合は、 以下のようにして設定を変更してください。 フォルダを開いたら、「表示」−「フォルダオプション」と進み「表示」タブから 「登録されているファイルの拡張子は表示しない」のチェックを外します。 (Win98およびWin95+IE5以降、またはWin95+IE4.0xを導入し アクティブデスクトップを有効にしている場合の方法。 これ以前のWin95では、「表示」−「オプション」で以下同じです)。 これで拡張子が表示されるようになります。
さて、マップは出来たでしょうか? 出来たら、次にシナリオを書くためのファイルを作りましょう。 新規テキストファイルを作るか、テキストエディタから新規作成を選びましょう。 そして、テキストファイルを編集できる状態にしましょう。
さて、このままシナリオを書いても、 キャラクターを喋らせることも出来ません。 まずは、シナリオで使用している作品のデータを 読み込ませなければなりません。
データを読み込ませるには、イベントファイルの先頭に
複数のデータを読み込ませる場合は、
なお、Systemフォルダは読み込み指定をする必要はなく、 SRC本体によって自動的に読み込まれます。
今回は「汎用」とあと一つ、 自分の好きな作品のデータを読み込ませることにしましょう。
さて、いよいよシナリオへと取り掛かるわけですが、 その前にSRCのシナリオはどのようにして 構成されるのか振り返っておきましょう。
SRCシナリオは「イベントラベル」によって1つのイベントが定義されており、 複数のイベントラベルが組み合わさることによってシナリオが構成されます。 そして、一つのイベントは数多くのイベントコマンドを 組み合わせることによって構成されているのです。
では、イベントラベルとは何でしょうか? ヘルプからイベントラベルの解説を見ると プロローグイベント、攻撃イベント、進入イベントなど、 いくつものイベントラベルがあります。 これらのイベントの種類と発生させる条件を決めるのが イベントラベルの役割となります。
例えば、プロローグイベントはマップ開始前に発生するイベント、 プロローグはマップ終了後に発生するイベントといったように、 イベントごとに発生するタイミングは様々です。 また、ターンイベントはあるターンのあるフェイズに発生するイベントです。 ターンイベントは発生させるターン数と陣営を指定することによって 発生させるタイミングを指定します。 その他のイベントについてはヘルプを参照してください。
まずは「プロローグイベント」、「スタートイベント」、「勝利条件イベント」、 「全滅イベント」、「エピローグイベント」の内容を確認しておいてください。
イベントコマンドはヘルプにもある通り 非常の多くのコマンドがあるわけですが、少なくともTalkコマンド、 Endコマンド、Createコマンド、Pilotコマンド、Unitコマンド、Exitコマンド、 Gameoverコマンド、そしてGameclearコマンドだけは確認しておいてください。
では、いよいよシナリオを書いていきましょう。 ひとまずここでは最低限の機能だけ使って、 ごく簡単なシナリオを書くことにしてみましょう。
もちろん、SRCには非常に多くの機能が搭載されており、 この機能を組み合わせるとたいていのことは再現できます。 ですが、まずは基本ということで、最低限の機能に絞ったシナリオを書いてみましょう。
まずはプロローグイベントから始めましょう。
プロローグイベント中に使うのは、Talk・End・Exitの3つのコマンドです。 プロローグイベントは、主として状況を説明したりするのに用いられます。 では、早速キャラクターのセリフを入力してみましょう。
今はセリフの内容はいらっしゃいませでも、こんにちはでも、 なんでも構いません。まずは入力してみましょう。
今のところはEndコマンドを用いると覚えておいてください。
ただし、別のキャラクターを続けてしゃべらせたい時には Endコマンドをつけずに続けてTalkコマンドを記述します。
さて、ここまで出来たら一度ファイルを保存してください。
次にファイル名を拡張子が「eve」のファイル名に変更してください。 繰り返しになりますが、マップファイルとファイル名は拡張子以外はあわせておきましょう
では、SRC本体を起動し、 今作ったばかりのファイルを読み込んでみましょう。 この時点でエラーメッセージが表示されたら その部分が間違っていますので、修正しましょう。
もしエラーの原因が分からない時は、 エラーメッセージをコピーして他の人に聞くことも手です。 ただし、出来る限り自分で解決する努力をし、 どうしても解決できない時だけにしましょう。
エラーを自力で取り除くことは シナリオに対する力量をつける上で非常に有益なことです。
さて、読み込みが終わったら、指定したキャラクターとセリフが表示されるはずです。 もし表示されるキャラクターが違っていたら、Talkコマンドのキャラクター名を 「愛称」で指定していないかチェックしてみましょう。
同じ愛称を持つキャラクターが2人以上いると、誤作動を起こすことがあります。 こういうときはキャラクターを「名称」で指定するようにしましょう。 名称は同じ名称を持つキャラクターが2名以上いることがないように設定されています。 普段から名称で指定するようにすればこの間違いは起こりにくくなるでしょう。
キャラクターがしゃべり終わったら、マップが表示されるはずです。 表示されない時はマップとシナリオのファイル名が同じかどうか確認しましょう。
ここまで問題なく進んだら、ひとまずSRCを終了させて、 シナリオのファイルをもう一度開きましょう。 もしファイルを開くアプリケーションを選ぶためのダイアログが開いた場合は、 使っているテキストエディタに関連付けておくといいでしょう。
なお、ファイルの関連付けについては下記を参考してください。 また、SRC本体に関連付けておくとイベントファイルのダブルクリックで SRCが起動するのでこちらも便利です。 ただし編集が少しだけ面倒になるので、好みで決めるといいでしょう。
さて、プロローグは出来たでしょうか。 もしまだエラーが出たり、書き方がわからない人は 何度でも読み返して書き直してください。 ここまでが問題なければ、いよいよSRPGのメインとも言える 戦闘パート作りに入ります。
戦闘パートを始めるために必須なのが「スタートイベント」です。 ここでユニットを出撃させたり、戦闘前の状況説明を行なったりします。 状況説明にはプロローグ同様Talkコマンドを使用します。
では早速ユニットを出撃させることにしましょう。 マップ上にユニットを出撃させるには、パイロットとユニットを作成した上で、 ユニットにパイロットを乗せて出撃させるという手順が必要です。 しかし、Createコマンドを用いることでこの手順をまとめて実行させることが可能です。
さて、Createコマンドの書式は、
例えば、味方にアーネス=ルディアールというパイロットをレベル5で、 FBX−100というランク0のユニットに乗せ、(2,5)に出撃させる場合、
なお、複数のパイロットが乗るユニットを出撃させるには 別の手順が必要になります。 1人目のパイロットは、Createコマンドでユニットと同時に作成しますが、 2人目以降はPilotコマンドを用いて製作した後、 Rideコマンドでユニットに乗せることになります。
Pilotコマンドの書式は
ルグド・ラックスと言うユニットに上条真、上原裕子、結城舞夢という 3人のパイロットを乗せる場合を例に記述してみましょう。
これで、(1, 1)に3人のパイロットが乗ったユニットが出撃します。 なお、分離・合体が可能なユニットは分離先・合体先のユニットを作成しない限り 分離・合体が出来ません。 分離・合体を可能にするには分離先・合体先のユニットを Unitコマンドを用いて作成する必要があります。
では、早速マップ上にユニットを出撃させるための記述を行なってみましょう。 まずは敵と味方を1機ずつ出撃させるように記述してみてください。 ここまで出来たら、イベントラベルがきちんと終わるようにして、一度保存します。 そうしたら、またSRCでこのファイルを開いてください。 今度はプロローグが終わったら、マップが表示され、 敵と味方が1機ずつ登場するはずです。 もしエラーが出たらきちんと修正しましょう。 スタートイベントが終了したらユニットの操作ができるようになります。 まずはこの状態のまま戦闘を行なってみてください。
敵を撃墜したか味方が撃墜されたかのどちらかだと思いますが、 それ以上は何も起こらないはずです。 しかし、これは当然のことですので、SRCを終了させて、 シナリオを編集できる態勢に戻ってください。
さて、戦闘を行なう以上、勝利条件と敗北条件が必要です。 それを設定し、必要なイベントを記述しないと 戦闘パートが終わることはありません。 さっきのテストプレイを振り返ってもらえれば分かるはずです。
今回は敵と味方各1機の戦闘を例にあげて進めているわけですが、 勝利条件を「敵の全滅」、敗北条件を「味方の全滅」としておきましょう。 ここで重要なのは、「プレイヤーに勝利条件が分かるようにすること」です。
勝利条件が分からなければプレイヤーは どうしていいのか分からないこともあります。 演出上どうしても表示させたくない場合は別として、 普通は勝利条件が分かるようにしておく方が プレイヤーにとっても親切です。
勝利条件を表示できるようにするには、「勝利条件」ラベルを用います。 このイベントラベルを設定することで、 マップコマンドに「作戦目的」コマンドが現れます。 そして、勝利条件をプレイヤーに示すためにはTalk コマンドを用います。 視覚的に派手にする方法はいくつもありますが、 今はシンプルなものにしておきましょう。一つの例を以下に示してみます。
では、シナリオの編集に戻ってください。 勝利条件イベントを設定しただけでは、実際の戦闘が終わることはありません。 勝利条件と敗北条件にあったイベントを設定する必要があるのです。
まずは勝利条件から。今回は敵の全滅が目的ですので、 設定するイベントラベルは「全滅」ラベルです。 敵が全滅した時に発生させたいわけですから、実際には
GameClearコマンドはその場でSRCを終了させるコマンドです。
従って、もし同じラベル内でGameClearコマンドの下
に続けて記述してもそれは実行されません。
つまり、
このコマンドが実行された時点でSRCが終了するため、 この後にExit はつけなくても構いません。 ですが、後で見たときに分かりやすくするために、 Exitコマンドを記述しておいてもいいでしょう。
これで勝利条件は設定できました。 次は敗北条件です。今回は味方が全滅したら負けということにしたので、
Gameoverコマンドが実行されると、 Systemフォルダ内のGameover.eveが実行されます。 そのため、Gameover.eveがないとそのまま終了してしまいますので、 注意してください。 なお、開発パックからコピーしてきたままだと、 Dataフォルダに「_基本パック終了処理」か 「_拡張パック終了処理」のフォルダがないとコンティニューできません。
さて、勝利条件と2つの全滅イベントを記述したら、 ファイルを保存し、テキストエディタを終了しましょう。 そして、SRCを起動し、最後のチェックを行ないましょう。
まずシナリオを読み込むと、 プロローグイベントでキャラクターの会話が行なわれます。 その後マップが表示され、敵と味方が1機ずつ配置されます。 そうしたら操作可能になりますので、 まずはユニットのいないところで右クリックをし、 マップコマンドを呼び出してみます。 そこで作戦目的を表示させ、表示されるか確認しましょう。
あとは敵との戦闘を行ないます。 敵を倒せば会話(記述していれば)の後にSRCが終了し、 味方が負ければメッセージが出て、 コンティニューするか聞かれるはずです。
この一連の流れがうまくいっていないときは、 どこか間違っているということです。 どの部分で流れが止まったのかを覚えておき、 もう一度記述した内容をチェックしてみましょう。 特に、エラーメッセージが出ない場合は分かりにくい場合がありますが、 これを自分自身で解決することが確実なレベルアップへと繋がるでしょう。
ここまでの内容だけで作ったサンプルシナリオを用意してみました。 これと照らし合わせてチェックしたり、かかれている記述を ご自身のシナリオに書き写すなどしていろいろ試してみるといいでしょう。 (ただし、アイコンは添付していません。 また、サンプルシナリオに使われているデータは転用禁止とします) また、サンプルシナリオに手を加えて 実験してみるのもいいのではないでしょうか。
さて、これで1話完結のシナリオが書けたことになります。 次は1話完結ではなく、 複数の話をつなげて作られるシナリオの作り方を紹介することにしましょう。
この後は一度サンプルシナリオのファイルに目を通してから読んで下さい。
一度サンプルシナリオの全てのファイルに目を通したら分かると思いますが、 サンプルシナリオには「_基本データ処理終了」フォルダが入っていません。
これは、Exit.eveとGameover.eveの内容を自作しているためです。 この2つのファイル内にコメントとして解説がつけてありますので、 自分だけの終了処理とゲームオーバー処理を作ってみるのもいいでしょう。