戻る

ビジュアルノベル制作マニュアル

誰でも簡単にシナリオが作れます。ぜひ作ってみて下さい。
旧シナリオ、ゲームブックからの移行ガイドはこちら。

サンプル公開

シナリオはスクリプトというもので作られています。
サンプルシナリオの「よく分かるビジュアルノベル」はこういうスクリプトです。


ところどころに、コマンドらしいものがあります。
それは分岐を作るコマンドだったり、次のシーンへ進むコマンドだったりします。

基本コマンド

まず、#から始まる文字がコマンドです。
それの解説をします。最初のほうを見て下さい。

#s00
から
#end
までがシーンNo.00です。

まずは内容となる文章を書きます。
改行する場合は「\n」と書きます。スクリプト内で改行してもゲームでは反映されないので気をつけて下さい。

文の途中で停止する場合は
#pause
というコマンドを書きます。
ゲームはマウスクリック待ちとなり、クリックが押されると次の文が現れるようになります。

表示されている文章をクリアして続きの文章を表示させる場合は、
#nextpage
というコマンドを書きます。
ゲームはマウスクリック待ちとなり、クリックが押されるとページが切り替わって文が現れます。

各シーンに飛ぶなら、#nextコマンドを使います。例えば
#next:01
とすると、マウスがクリックされた時にシーンNo.01に飛びます。

次に、分岐させたいなら例えば
#jump:11
パトカーの窓から中を覗く。
#jump:12
トランクをあける。

とします。
選択肢の文は1行で書いて下さい。改行は\nで対応出来ます。
選択肢は画面に入る範囲でいくつでも増やせます。

ゲームオーバーの場合は、
#fin

エンディング(コメント登録)の場合は、
#regist
#fin
と記入します。

発展コマンド

#img00:../../user/master/upload/back1.jpg
#img01:../../user/master/upload/back2.jpg
#img02:../../user/master/upload/chara1.gif
最初に書いてあるのは使用する画像ファイルの定義です。
パスが長いですが、これはファイルがアップロードされた場所です。
皆さんの場合なら、「master」というところが皆さんのID名に置き換わります。
00番が「back1.jpg」というファイル名の画像を指し、01番が「back2.jpg」、02番が「chara1.gif」のファイル名の画像を表します。
そして、実際に画像を表示させる場所で、次に解説する画像表示コマンドを記入します。

#back_img:00
背景画像を表示させます。この場合は00番のファイル「back1.jpg」が表示されます。

#chara_img:02,520,320
キャラ画像を表示させます。この場合は02番のファイル「chara1.gif」がX座標:520,Y座標:320の位置に表示されます。
X座標は左から数えたピクセル数、Y座標は上から数えたピクセル数です。

#wav00:../../user/master/upload/do.mp3
#wav01:../../user/master/upload/re.mp3
#wav02:../../user/master/upload/mi.mp3
音声ファイルを指定します。画像ファイルと同じような考え方です。
音声ファイルの種類はMP3のみ対応しています。

#se_play:01
01番の音声を再生させます。1回きりの再生です。

#bgm_vol:18,100
#bgm_play:18
18番の音声を再生させます。ループ再生されます。通常はBGMに用います。
最初に音量を100に設定しています。
100に設定しない場合は無音状態からフェードインして再生されます。

#bgm_stop:18
再生したBGMを停止させます。音量がフェードアウトして停止します。


ゲームには欠かせないフラグ管理

フラグとは現在の状態を表すものです。
例えば物語の中で「ハンカチ」を拾ったとします。 その時にフラグをセットします。
次に、ある人物に会って、もしそのハンカチを持っていたらあるイベントが発生し、 持っていなかったら何も起こらないというように作りたいとします。
その時に、そのフラグの状態を見て、フラグがセットされていればイベント発生。 フラグがセットされていなければ何も起こらない、というように作る事が出来ます。

この例のスクリプトを書いてみましょう。

ハンカチを拾った時に、#flag_onコマンドで1番のフラグをセットしています。
そして、シーンNo01で
#if_flag:01
とあります。これはフラグ1番がセットされていた場合に通る文です。
#else
というのはそのフラグがセットされていなかった場合に通る文です。
条件文の最後には
#endif
と書いておきます。
ハンカチを持っていたら、みくるが喋り、持っていなかったらハルヒが喋るということです。


ではコマンドの解説です。

#flag_on:01
指定のフラグをオンにします。値は1〜99まで使えます。

#flag_off:01
指定のフラグをオフにします。

#if_flag:01
条件分岐。指定のフラグがオンだった場合に通ります。
条件文を終了するところに必ず#endifを書いて下さい。

#elsif_flag:02
条件分岐。#if_flagの条件に当てはまらなかった場合に、このチェックに入ります。

#else
条件分岐。#if_flagと#elsif_flagの条件で当てはまらかった場合にここを通ります。

#endif
条件文が終了することを表します。

小技:条件文中でも終了したい場合は、#endを書けば終了できます。