デモゲームはこちら-> Web Novel -推理狂の館-
◆遊び方
自分のページでもこれを置きたいなという奇特な方は(笑)、 以下の様な手順で設置して下さい。
Web Novelは、「メインHTMLファイル」「シナリオファイル」
「WebNovelプログラム(novel_prog.js)」「その他・画像やサウンドなど」
の4つのファイルから成っています。
このうち、メインHTMLファイルをエディタなどで開き、
諸設定をして頂く必要があります。
Web Novelで、文章を表示するには、
シナリオを、ある特定の形式に変換させる必要があります。
Web Novelは以下の様なフォーマットを採用しています。
(なお、Scenario Converterを使用する事により、
以下の様なフォーマットをあまり気にせずに、
Web Novelを作ることが可能になります。)
Web Novelでは以下の様なフォーマットをとっています。
novel["STORY1"] = new Array(); //配列文章は、多次元配列に格納されています。 ["STORY1"]は、今現在のストーリーの名称を表します。 その後の、["STORY1"][0]の[0]は、現在のページ番号です。 そしてその後ろの、["STORY1"][0][0]の、後ろの[0]はページの行番号です。
novel["STORY1"][0] = new Array();//配列
novel["STORY1"][0][0] = "・・・・ここはどこだろう?";
novel["STORY1"][0][1] = "僕は目が覚めると、見知らぬ場所にいた。";
novel["STORY1"][0][2] = "ザザーッ・・・・・";
novel["STORY1"][0][3] = "静かな空間に、海の波しぶきの音が響く。";
novel["STORY1"][0][4] = "僕は周りを見回す。";
novel["STORY1"][0]["BGIMAGE_0"] = "picture/B003.jpg";
novel["STORY1"][1] = new Array() //配列の宣言
novel["STORY1"][1][0] = "人の気配はしない。すごく静かだ・・・・";
novel["STORY1"][1][1] = "・・・・ここはどこなんだろう?";
novel["STORY1"][1][2] = "・・・・いや、僕は誰なんだろう?";
novel["STORY1"][1][3] = "っ!・・・頭が激しく痛む。";
novel["STORY1"][1][4] = "何故ここにいるんだ!?";
novel["STORY1"][1][5] = "ここはどこなんだ!?";
novel["STORY1"][2] = new Array() //配列の宣言
novel["STORY1"][2][0] = "・・・考えれば考えるほど、頭が激しく痛む。なぜ、なにも思い出せないんだろう?";
novel["STORY1"][2][1] = "ザザーッ・・・・・・・";
novel["STORY1"][2][2] = "!";
novel["STORY1"][2][3] = "突然、背後で気配を感じた。";
novel["STORY1"][2][4] = "僕は・・・";
novel["STORY1"][2]["SELECT"] = "ゆっくりと振り向いた。,STORY1,3|こわくなり逆の方向に逃げ出した。,END1,0|混乱して海の方へ走っていった。,END2,0";
WebNovelには、ゲームを表現する上での命令がいくつか用意されています。
行指定が必要 | |
BGIMAGE | 背景画像の指定。ページが読み込まれたとき背景を変更。 |
---|---|
["BGIMAGE_n"] = "画像のURL" という形で代入します。(nは行番号) | |
BGSOUND | バックミュージックの指定。ページが読み込まれたときサウンドを変更。現在IE4.0のみのサポートです。 |
["BGSOUND_n"] = "サウンドのURL" という形で代入します。(nは行番号) | |
FLASH | Flashムービーを読み込んで再生します。ムービーの再生中はマウスのクリック入力が無効となります。 |
["FLASH_n"] = "ムービーのURL"というう形で代入します。(nは行番号) | |
CHARACTER | 背景とは別にキャラクタ画像表示ウインドウを作成します。 |
["CHARACTER_n"] = "id, visible/hidden, imgsrc, xpos, ypos" という形で代入します。nは行番号 | |
COMMAND | 引数として渡した文字列をJavaScriptのコードとして実行します。 |
["COMMAND_n"] = "document.bgColor='#000000'" などという形で代入します。nは行番号 | |
行指定必要。テキスト表示後処理。 | |
COMMAND_END | 引数として渡した文字列をJavaScriptのコードとして実行します。実行は行表示後。 |
["COMMAND_END_n"] = "document.bgColor='#000000'" などという形で代入します。nは行番号 | |
行指定は必要ナシ。各ページの最後の行を表示した後に実行される。 | |
SELECT | 選択肢を作成します。この命令を記述したページは"WAIT"と同じ状態になります。現在のページが全部読み込まれたとき選択肢を出します。 |
["SELECT"] = "選択肢1|選択肢2|選択肢3(|.......)";詳しくは下で。 | |
WARP | 別のストーリーや、別のページに飛びます。 |
["WARP"] = "飛ぶ先のストーリー名,飛ぶ先のページ番号" 詳しくは下で。 | |
URL | 指定されたURLへ飛びます。以後Web Novelの操作は続けられないので、エンディング向けです。 |
["URL"] = "URL" という形で代入します。カンマ(,)に続けて待ち時間を設定する事も可能です。 | |
WAIT | 現在のページが全部読み込まれたとき、以後クリックの受付を無効にします。エンディング向け。時間を渡せば、一定時間クリックの受付を無効にし、一定時間後有効に戻します。 |
["WAIT"] = "true" という形で代入します。数字(ミリ秒)を代入した場合は、タイマーセット。 |
novel["STORY1"][0]["BGIMAGE_0"] = "picture/B003.jpg";これは"STORY1"の0ページ目の0行目が読み込まれたとき、"picture/B003.jpg"の画像を表示するという命令です。 つまり、命令はnovel[ストーリー名][ページ番号][命令]というように記述します。
novel["STORY1"][2]["SELECT"] = "ゆっくりと振り向いた。,STORY1,3|こわくなり逆の方向に逃げ出した。,END1,0|混乱して海の方へ走っていった。,END2,0";先程の、文章のフォーマットの例を取ると、 "STORY1"の2ページ目の4行目まで表示されると、
novel["STORY1"][4]["WARP"] = "STORY1,10";と記述することにより、4ページ目が終わると、 次に"STORY1"(ストーリー名)の10ページ目に飛びます。
novel["STORY1"][4]["COMMAND_0"] = "foo()";と記述することにより、4ページ目の1行目を表示する前に、 foo()関数を実行します。
novel["STORY1"][4]["COMMAND_END_0"] = "foo()";と記述することにより、4ページ目の1行目を表示した後に foo()関数を実行します。
novel["STORY1"][0]["BGIMAGE_0"] = "picture/black.gif";上記の様に記述する事により、表示時にFilterのエフェクトをつけます。
novel["STORY1"][0]["BGIMAGE_0_FILTER"] = "revealtrans,duration=1.0,transition=11";
この文章フォーマットだと、いちいち書くのは大変です。
また、WebNovelは日々進化(退化?)し続けている為、
文章のフォーマットがバージョン毎に異なったりします。
バージョンが変わる度に、いちいち書き直すのも大変です。
よって、簡単な開発環境を作ってみました。
これに所定の形式のテキストを張り付けることにより、自動的にWeb novel形式に変換してくれます。
Scenario Converter
ver1.0 final beta (beta6)
ver1.0b5
とりあえずこれからについては、
まず、ゲームのページへと飛んだら、データのロードが終わるまで待ちます。
タイトル画面が表示されたら、マウスでクリックをするか、キーボードのキー(どれでもいいです)に
触ると文章が表示されます。クリックする度に、物語はどんどん進んで行きます。
物語を進めていくと、分岐ポイントに到着します。
分岐ポイントに到着したら、自分が選びたい選択肢の方を選びクリックして下さい。
IEの場合はALT+数字キーでも選択する事が出来ます。(IE5の場合は、選択した後Enterキーを押す)。
選択肢を選ぶと、その選択肢に沿ってまた物語は進んで行きます。
このデモプログラムを最後まで進めると、推理結果を投稿出来る画面が出ます。
あなたの推理結果をそこに書いて投稿することが出来ます。
その場合、別のCGIに飛び専用伝言板に記録されますので(他の人からの閲覧可能)
ご注意下さい。
トリックはパクリで(^^;、しかも簡単なものです。
文章も幼稚ですんで、あまり期待しないで下さい。#デモプログラムですし、、、
#っていうか、昔某ページで公開したものをそのまま持ってきたものです(^^;
Netscapeで、背景画像の下部が見えない時などは、URLバーなどを消して表示ウインドウのサイズを大きく広げて下さい。