Scenario Manual

2:1話完結のシナリオを
書いてみよう

2−1:まずは準備
2−2:登場作品データを読み込む
2−3:シナリオには何が必要か?
2−4:プロローグ
2−5:戦闘
2−6:勝利条件・敗北条件

2−1:まずは準備

まずは、1話で終わるシナリオを書いてみることにしましょう。 どんなに長いシナリオも1話1話の積み重ねで出来ているものであり、 1話のシナリオをおろそかにしていては決してシナリオは完成しません。

いよいよシナリオを書き始めたいところですが、 もうひとつだけ準備が必要です。 マップを作成しなければなりません。

SRC.eveがあるフォルダ(SRCのルートフォルダ)にMapEdit.exeがあります。 まずはこれをダブルクリックし、戦闘をさせるためのマップを作りましょう。 詳しくはヘルプから 「データの作成−データの形式−(5)シナリオデータ−マップデータ」を 参考にしてください。

マップを作るのが面倒な方は、マップデータを配布している方もいるので、 これを利用してもいいでしょう。

なお、一部のマップチップはローカル用として配布されています。 このマップチップを使いたい時は 自分のシナリオのBitmapフォルダの中にMapフォルダを作り、 この中に必要なファイルをコピーして使うことになります。

マップのファイル名はそのマップを表示させる イベントファイルのファイル名とあわせておきましょう。 例えば、シナリオのイベントファイル名がオリジナル.eveだとすると、 マップのファイル名はオリジナル.mapにしておきましょう。 簡単に言うと、イベントファイルとマップファイルは 拡張子が異なる以外は同じファイル名を持つということになります。

自分のPCで拡張子が表示されない場合は、 以下のようにして設定を変更してください。 フォルダを開いたら、「表示」−「フォルダオプション」と進み「表示」タブから 「登録されているファイルの拡張子は表示しない」のチェックを外します。 (Win98およびWin95+IE5以降、またはWin95+IE4.0xを導入し アクティブデスクトップを有効にしている場合の方法。 これ以前のWin95では、「表示」−「オプション」で以下同じです)。 これで拡張子が表示されるようになります。

さて、マップは出来たでしょうか? 出来たら、次にシナリオを書くためのファイルを作りましょう。 新規テキストファイルを作るか、テキストエディタから新規作成を選びましょう。 そして、テキストファイルを編集できる状態にしましょう。

2−2:作品データを読み込む

さて、このままシナリオを書いても、 キャラクターを喋らせることも出来ません。 まずは、シナリオで使用している作品のデータを 読み込ませなければなりません。

データを読み込ませるには、イベントファイルの先頭に

@作品フォルダ名
と書き込むことで行ないます。 作品フォルダ名はDataフォルダにコピーしたフォルダの名称のことです。

複数のデータを読み込ませる場合は、

@作品1
@作品2

@作品10
と、このように読み込む作品をすべて記述します。

なお、Systemフォルダは読み込み指定をする必要はなく、 SRC本体によって自動的に読み込まれます。

今回は「汎用」とあと一つ、 自分の好きな作品のデータを読み込ませることにしましょう。

2−3:シナリオには何が必要か?

さて、いよいよシナリオへと取り掛かるわけですが、 その前にSRCのシナリオはどのようにして 構成されるのか振り返っておきましょう。

SRCシナリオは「イベントラベル」によって1つのイベントが定義されており、 複数のイベントラベルが組み合わさることによってシナリオが構成されます。 そして、一つのイベントは数多くのイベントコマンドを 組み合わせることによって構成されているのです。

では、イベントラベルとは何でしょうか? ヘルプからイベントラベルの解説を見ると プロローグイベント、攻撃イベント、進入イベントなど、 いくつものイベントラベルがあります。 これらのイベントの種類と発生させる条件を決めるのが イベントラベルの役割となります。

例えば、プロローグイベントはマップ開始前に発生するイベント、 プロローグはマップ終了後に発生するイベントといったように、 イベントごとに発生するタイミングは様々です。 また、ターンイベントはあるターンのあるフェイズに発生するイベントです。 ターンイベントは発生させるターン数と陣営を指定することによって 発生させるタイミングを指定します。 その他のイベントについてはヘルプを参照してください。

まずは「プロローグイベント」、「スタートイベント」、「勝利条件イベント」、 「全滅イベント」、「エピローグイベント」の内容を確認しておいてください。

イベントコマンドはヘルプにもある通り 非常の多くのコマンドがあるわけですが、少なくともTalkコマンド、 Endコマンド、Createコマンド、Pilotコマンド、Unitコマンド、Exitコマンド、 Gameoverコマンド、そしてGameclearコマンドだけは確認しておいてください。

2−4:プロローグ

では、いよいよシナリオを書いていきましょう。 ひとまずここでは最低限の機能だけ使って、 ごく簡単なシナリオを書くことにしてみましょう。

もちろん、SRCには非常に多くの機能が搭載されており、 この機能を組み合わせるとたいていのことは再現できます。 ですが、まずは基本ということで、最低限の機能に絞ったシナリオを書いてみましょう。

まずはプロローグイベントから始めましょう。

プロローグイベント中に使うのは、TalkEndExitの3つのコマンドです。 プロローグイベントは、主として状況を説明したりするのに用いられます。 では、早速キャラクターのセリフを入力してみましょう。

今はセリフの内容はいらっしゃいませでも、こんにちはでも、 なんでも構いません。まずは入力してみましょう。

Talk キャラクター名
セリフ
End
Talk と キャラクター名 の間は半角スペースです。 プログラムとしてのシナリオについては補足:スクリプトとしてのシナリオを参照するといいでしょう。 Talkコマンドは基本的にEndコマンドで終わらせなければエラーが発生します。 なお、Talk コマンドを終わらせるためにSuspendコマンドを用いる場合もありますが、 今は使いません。気になる人はヘルプで確認してみましょう。

今のところはEndコマンドを用いると覚えておいてください。

ただし、別のキャラクターを続けてしゃべらせたい時には Endコマンドをつけずに続けてTalkコマンドを記述します。

Talk キャラクター1
セリフ1
Talk キャラクター2
セリフ2
End
書きたいだけセリフをつなげたら、最後にExitコマンドを記述します。 これはイベントラベルを終了させるために必要なコマンドです。 Exitコマンドが抜けていると予期しない誤作動の原因となるので、 必ずつけておきましょう。

さて、ここまで出来たら一度ファイルを保存してください。

次にファイル名を拡張子が「eve」のファイル名に変更してください。 繰り返しになりますが、マップファイルとファイル名は拡張子以外はあわせておきましょう

では、SRC本体を起動し、 今作ったばかりのファイルを読み込んでみましょう。 この時点でエラーメッセージが表示されたら その部分が間違っていますので、修正しましょう。

もしエラーの原因が分からない時は、 エラーメッセージをコピーして他の人に聞くことも手です。 ただし、出来る限り自分で解決する努力をし、 どうしても解決できない時だけにしましょう。

エラーを自力で取り除くことは シナリオに対する力量をつける上で非常に有益なことです。

さて、読み込みが終わったら、指定したキャラクターとセリフが表示されるはずです。 もし表示されるキャラクターが違っていたら、Talkコマンドのキャラクター名を 「愛称」で指定していないかチェックしてみましょう。

同じ愛称を持つキャラクターが2人以上いると、誤作動を起こすことがあります。 こういうときはキャラクターを「名称」で指定するようにしましょう。 名称は同じ名称を持つキャラクターが2名以上いることがないように設定されています。 普段から名称で指定するようにすればこの間違いは起こりにくくなるでしょう。

キャラクターがしゃべり終わったら、マップが表示されるはずです。 表示されない時はマップとシナリオのファイル名が同じかどうか確認しましょう。

ここまで問題なく進んだら、ひとまずSRCを終了させて、 シナリオのファイルをもう一度開きましょう。 もしファイルを開くアプリケーションを選ぶためのダイアログが開いた場合は、 使っているテキストエディタに関連付けておくといいでしょう。

なお、ファイルの関連付けについては下記を参考してください。 また、SRC本体に関連付けておくとイベントファイルのダブルクリックで SRCが起動するのでこちらも便利です。 ただし編集が少しだけ面倒になるので、好みで決めるといいでしょう。

参考:ファイルの関連付け
ファイルをShiftキーを押しながら右クリックして 「アプリケーションから開く」を選択した後、「この種類のファイルを開くときは、 いつもこのアプリケーションを使う」を選択し、 関連付けしたいプログラムを選択することで関連付けることができます。

2−5:戦闘

さて、プロローグは出来たでしょうか。 もしまだエラーが出たり、書き方がわからない人は 何度でも読み返して書き直してください。 ここまでが問題なければ、いよいよSRPGのメインとも言える 戦闘パート作りに入ります。

戦闘パートを始めるために必須なのが「スタートイベント」です。 ここでユニットを出撃させたり、戦闘前の状況説明を行なったりします。 状況説明にはプロローグ同様Talkコマンドを使用します。

では早速ユニットを出撃させることにしましょう。 マップ上にユニットを出撃させるには、パイロットとユニットを作成した上で、 ユニットにパイロットを乗せて出撃させるという手順が必要です。 しかし、Createコマンドを用いることでこの手順をまとめて実行させることが可能です。

さて、Createコマンドの書式は、

Create 陣営 ユニット名称 ユニットランク パイロット名称 パイロットレベル X座標 Y座標 ID
と、こうなっています。

陣営:
敵・味方・中立・NPCのどれか一つを記入します。
ユニット名称:
出撃させるユニットの名称。ユニットは必ず名称で指定してください。
ユニットランク:
登録する時点でのユニットのランク。 味方の場合は0から10ですが、それ以外の陣営では無制限です。 20や30に設定しても構いません。また、マイナスの値を指定することもできます。
パイロット名称:
出撃させるユニットに乗せるパイロットの名称。 愛称でも指定可能ですが、万が一の誤作動を避ける上でも名称を指定する方がいいでしょう。
パイロットレベル:
出撃させるパイロットのレベル。1から99の範囲で指定します。
X座標:
ユニットを出撃させる位置のX座標。マップ外の座標を指定してもエラーにはなりませんが、 あらかじめマップをチェックしておきましょう。
Y座標:
ユニットを出撃させる位置のY座標。
ID:
同じIDをつけた複数のパイロットに対して一括した処理が可能になるほか、 異なるIDを与えることで普段は区別できない同名パイロットを区別することができます。 必ずしもつける必要はありません。必要に応じてつけましょう。 なお、"(ザコ)"や"(汎用)"がついていないパイロットにIDをつけると 動作が保証されませんし、つける必要はありません。 また、IDには好きな名前を指定することが可能ですが 変数の名前の付け方を参考にするといいでしょう。詳しくは補足:スクリプトとしてのシナリオで。

例えば、味方にアーネス=ルディアールというパイロットをレベル5で、 FBX−100というランク0のユニットに乗せ、(2,5)に出撃させる場合、

Create 味方 FBX−100 0 アーネス=ルディアール 5 2 5
と、このように記述します。

なお、複数のパイロットが乗るユニットを出撃させるには 別の手順が必要になります。 1人目のパイロットは、Createコマンドでユニットと同時に作成しますが、 2人目以降はPilotコマンドを用いて製作した後、 Rideコマンドでユニットに乗せることになります。

Pilotコマンドの書式は

Pilot パイロット名称 パイロットレベル
となっています。
また、Rideコマンドの書式は
Ride パイロット名称 ユニット名称
です。ただし、最後に作成されたユニットに乗せる場合には ユニット名称を省略することが可能です。

ルグド・ラックスと言うユニットに上条真、上原裕子、結城舞夢という 3人のパイロットを乗せる場合を例に記述してみましょう。

Create 味方 ルグド・ラックス 0 上条真 10 1 1
Pilot 上原裕子 10
Pilot 結城舞夢 10
Ride 上原裕子
Ride 結城舞夢

これで、(1, 1)に3人のパイロットが乗ったユニットが出撃します。 なお、分離・合体が可能なユニットは分離先・合体先のユニットを作成しない限り 分離・合体が出来ません。 分離・合体を可能にするには分離先・合体先のユニットを Unitコマンドを用いて作成する必要があります。

Unit ユニット名称 ユニットランク

では、早速マップ上にユニットを出撃させるための記述を行なってみましょう。 まずは敵と味方を1機ずつ出撃させるように記述してみてください。 ここまで出来たら、イベントラベルがきちんと終わるようにして、一度保存します。 そうしたら、またSRCでこのファイルを開いてください。 今度はプロローグが終わったら、マップが表示され、 敵と味方が1機ずつ登場するはずです。 もしエラーが出たらきちんと修正しましょう。 スタートイベントが終了したらユニットの操作ができるようになります。 まずはこの状態のまま戦闘を行なってみてください。

敵を撃墜したか味方が撃墜されたかのどちらかだと思いますが、 それ以上は何も起こらないはずです。 しかし、これは当然のことですので、SRCを終了させて、 シナリオを編集できる態勢に戻ってください。

2−6:勝利条件・敗北条件

さて、戦闘を行なう以上、勝利条件と敗北条件が必要です。 それを設定し、必要なイベントを記述しないと 戦闘パートが終わることはありません。 さっきのテストプレイを振り返ってもらえれば分かるはずです。

今回は敵と味方各1機の戦闘を例にあげて進めているわけですが、 勝利条件を「敵の全滅」、敗北条件を「味方の全滅」としておきましょう。 ここで重要なのは、「プレイヤーに勝利条件が分かるようにすること」です。

勝利条件が分からなければプレイヤーは どうしていいのか分からないこともあります。 演出上どうしても表示させたくない場合は別として、 普通は勝利条件が分かるようにしておく方が プレイヤーにとっても親切です。

勝利条件を表示できるようにするには、「勝利条件」ラベルを用います。 このイベントラベルを設定することで、 マップコマンドに「作戦目的」コマンドが現れます。 そして、勝利条件をプレイヤーに示すためにはTalk コマンドを用います。 視覚的に派手にする方法はいくつもありますが、 今はシンプルなものにしておきましょう。一つの例を以下に示してみます。

勝利条件:
Talk システム
勝利条件:敵の全滅。敗北条件:味方の全滅
End
Exit
勝利条件ラベルの記述が出来たら、 もう一度SRCからこのシナリオを読み込んでください。 今度はマップコマンドに「作戦目的」が追加されているのが分かるはずです。 では、このコマンドを選択して見てください。 入力した内容が表示されていればOKです。

では、シナリオの編集に戻ってください。 勝利条件イベントを設定しただけでは、実際の戦闘が終わることはありません。 勝利条件と敗北条件にあったイベントを設定する必要があるのです。

まずは勝利条件から。今回は敵の全滅が目的ですので、 設定するイベントラベルは「全滅」ラベルです。 敵が全滅した時に発生させたいわけですから、実際には

全滅 敵:
となります。
このイベントによって、マップ上に敵がいなくなったときに イベントが発生するようになるわけです。 イベントの中では、Talk コマンドでセリフをしゃべらせたりできますが、 今回は必ず記述するコマンドがあります。 それがGameClearコマンドです。

GameClearコマンドはその場でSRCを終了させるコマンドです。 従って、もし同じラベル内でGameClearコマンドの下 に続けて記述してもそれは実行されません。 つまり、

全滅 敵:
Talk 〜〜
セリフ
End
GameClear
の場合だと、会話文が表示されてから終了しますが、
全滅 敵:
GameClear
Talk 〜〜
せりふ
End
Exit
だと、敵が全滅した時点で、会話分が表示されずに終了してしまいます。

このコマンドが実行された時点でSRCが終了するため、 この後にExit はつけなくても構いません。 ですが、後で見たときに分かりやすくするために、 Exitコマンドを記述しておいてもいいでしょう。

これで勝利条件は設定できました。 次は敗北条件です。今回は味方が全滅したら負けということにしたので、

全滅 味方:
というラベルを用いることになります。
そして、味方が全滅したらゲームオーバーになることにしましょう。 ゲームオーバーにするにはGameoverコマンドを用います。

Gameoverコマンドが実行されると、 Systemフォルダ内のGameover.eveが実行されます。 そのため、Gameover.eveがないとそのまま終了してしまいますので、 注意してください。 なお、開発パックからコピーしてきたままだと、 Dataフォルダに「_基本パック終了処理」か 「_拡張パック終了処理」のフォルダがないとコンティニューできません。

さて、勝利条件と2つの全滅イベントを記述したら、 ファイルを保存し、テキストエディタを終了しましょう。 そして、SRCを起動し、最後のチェックを行ないましょう。

まずシナリオを読み込むと、 プロローグイベントでキャラクターの会話が行なわれます。 その後マップが表示され、敵と味方が1機ずつ配置されます。 そうしたら操作可能になりますので、 まずはユニットのいないところで右クリックをし、 マップコマンドを呼び出してみます。 そこで作戦目的を表示させ、表示されるか確認しましょう。

あとは敵との戦闘を行ないます。 敵を倒せば会話(記述していれば)の後にSRCが終了し、 味方が負ければメッセージが出て、 コンティニューするか聞かれるはずです。

この一連の流れがうまくいっていないときは、 どこか間違っているということです。 どの部分で流れが止まったのかを覚えておき、 もう一度記述した内容をチェックしてみましょう。 特に、エラーメッセージが出ない場合は分かりにくい場合がありますが、 これを自分自身で解決することが確実なレベルアップへと繋がるでしょう。

ここまでの内容だけで作ったサンプルシナリオを用意してみました。 これと照らし合わせてチェックしたり、かかれている記述を ご自身のシナリオに書き写すなどしていろいろ試してみるといいでしょう。 (ただし、アイコンは添付していません。 また、サンプルシナリオに使われているデータは転用禁止とします) また、サンプルシナリオに手を加えて 実験してみるのもいいのではないでしょうか。

さて、これで1話完結のシナリオが書けたことになります。 次は1話完結ではなく、 複数の話をつなげて作られるシナリオの作り方を紹介することにしましょう。

この後は一度サンプルシナリオのファイルに目を通してから読んで下さい。

一度サンプルシナリオの全てのファイルに目を通したら分かると思いますが、 サンプルシナリオには「_基本データ処理終了」フォルダが入っていません。

これは、Exit.eveとGameover.eveの内容を自作しているためです。 この2つのファイル内にコメントとして解説がつけてありますので、 自分だけの終了処理とゲームオーバー処理を作ってみるのもいいでしょう。

次へ進む

シナリオマニュアル目次へ

サイトホームへ