|
Bois Creative Homepage.This
page is being made for Japanese. If you can understand Japanese, you can
enjoy this page all the more. |
オープンαのため公開 現在の開発速度:ほとんど停止
■FlashNovelSystem(略称FNS)とは?
ブラウザ上で動作するノベルゲーム制作ツールです。
シナリオはテキストファイルで記述するため、(絵がなくていいのであれば)メモ帳だけでノベルゲームを制作できます。
■競合他社(他者)製品
| 制作者&製品名 | コメント |
| 御茶ノ水電子制作所さん「Megalith」 | この筋の老舗らしい。上級者向け |
| 藤野 未雄さん「WebEgg」 | 個人的に注目のツール。 FNS同様、NScripterをベースにしていて、機能的ににはすでにFNSを超えています。 開発停止中のFNS使うよりこっちを使いましょう !(ぁ |
■プレイアブルテストバージョン
動作サンプルは、こちら。
(高品質フォント+BGMあり(ブロードバンド用)
(最初に読み込むファイルが2MB程度あります))
ナローバンド用サンプルは、こちら
(低品質フォント+BGMなし(BGMは画面上部メニューから変更可能))
(最初に読み込むファイルは20KB程度です)
↑二つのサンプルシナリオは、どちらも同じ物です。
協力者一覧動作テスト
テストシナリオ
立ち絵某RO某ギルドメンバーの皆さん 背景素材 mao space さん 音楽素材 TAM Music Factory さん 動作サンプルで使っているシナリオファイルはこんな感じです。→サンプルシナリオダウンロード(30KB)
シナリオを自作するときの参考にしてくださいな。
(素材が入っていないので、ローカルでそのまま実行はできません)
■本体
お試しセットダウンロード(26KB)本体ver0.18
(サイズを小さくするため、素材は何も入っていません。
フォントも含まれていないので、ガタガタなデバイスフォントで表示されます)
高品質フォントダウンロード(1,822KB)
(丸ゴシックフォントです。
お試しセットのファイルと差し替えることで、フォントセットが入れ替わります)高品質フォントダウンロード(1,323KB)
(ゴシックフォントです。ファイル名が TextWindowGothic.swf になっているので、
お試しセットのファイルと差し替える場合はリネームしてください。 )フォントセットFLAソース(12KB)
自分でフォントセットを作成したい人向けのスケルトンです。(開発者向け)
FlashMXを持っていることが条件になります。
自作すると、フォントと、改行・改頁時の入力待ちカーソルの形状を変更できます。
■著作権
著作権は放棄してませんが、商用・非商用問わず、自由に使っていただいて構いません。
ただしここにあるサンプルシナリオや、サンプルで使っている画像、音楽データの著作権はそれぞれの作者に帰属しますので、使わないでください。
「■本体」で提供しているファイルのみ、自由に使って構いません。現状ありのままで提供していますので、このFlashを使って何か問題が起きても私(BOIS)は一切責任を負わないものとします。
何人も私にバージョンアップ、不具合の修正を強制することは出来ません。面白い物ができたら、コッソリ教えていただけると嬉しいです(連絡の義務はありません)
■情報
・Version0.17以降では、Novle.swf に引数を渡すことで、システムの細かな挙動を変更することができます。
対応する引数は以下の通りです。
引数 値 内容 bUseBgm ブール値
(true / false)BGMのON/OFF初期値
falseでOFF
trueまたはこの項目を省略するとONstrFN_TextWindow ストリング
(文字列)初期読み込みメッセージウィンドウ(フォント)ファイル名 ScenarioFileName ストリング
(文字列)初期読み込みのシナリオファイル名
この項目を省略すると 0.txt が初期シナリオになります。ブラウザのアドレスバーから起動する場合、
Novel.swf?bUseBgm=false&strFN_TextWindow=TextWindowDevice.swf&ScenarioFileName=start.txt などと指定します。お試しセットに入っている index.htmlを変更して使うなど、HTMLに埋め込む場合は、「&」がそのままでは打てないので、「&」に置き換えて入力します。
Novel.swf?bUseBgm=false&strFN_TextWindow=TextWindowDevice.swf&ScenarioFileName=start.txt お試しセットのindex.htmlには、Novel.swf という箇所が2カ所あるので、そのどちらも上のように変更してください。
思った動作にならない場合は、大文字小文字が違う、入力間違いがあるなどを疑って、一字一句正しく打てているか確認してください。いろいろな例
挙動 呼び出しタグ デフォルト(すべて省略したとき)
BGM ON
テキストウィンドウは TextWindow.swf
初期シナリオは 0.txtNovel.swf BGMをOFF その他はデフォルトのまま Novel.swf?bUseBgm=false BGMをOFF
TextWindowを TextWindow2.swfNovel.swf?bUseBgm=false&TextWindow2.swf 初期シナリオを test.txt Novel.swf?ScenarioFileName=test.txt ・ファイル名や文字列内に半角のコンマを入れないで下さい。意図しない場所にコンマがあると、シナリオ解析に失敗することがあります。
・シナリオファイルの改行コードは、必ず「CR+LF」で入力してください。Windowsで普通に編集するテキストと同じフォーマットです。サーバにアップする場合、アスキーモードで転送すると、改行が自動的にLFのみに変換されることがあるので、シナリオファイルをアップする場合は、バイナリモードでアップしてください。
・シナリオ本文には半角を使わないでほうがいいです。
文字レイアウトが全角用になっていますので、半角文字も全角文字と同じ間隔で表示され、大変見苦しくなります。
シナリオ 2002年12月クリスマス夜・・・ゲーム画面での表示 2 0 0 2 年1 2 月クリスマス夜・・・・画像として指定できるファイルは、jpgと、swfのみです。これはFlashの仕様による制限です。
jpgでは透過色設定ができないので、立ち絵には事実上swfしか使えないことになります。
swfが読み込めるということは、アニメーションしているswfムービーを読み込んで、背景や立ち絵に使えるということです。
再生は、Novelシステムに依存するので、次の情報を参考に作ってください。
画面サイズ 640x480ピクセル フレームレート 15fps
フレームレートについては、将来的に変更になる可能性もあります。
パブリッシュ設定は、必ずFlash6プレイヤー用以降で書き出してください。
ActionScriptを多用しているムービーは、多分動きません(よく分かってません)
素材になるFlashムービーには、サウンドを貼り付けないで下さい。Novelシステムから音声を止められません。
αを多用すると動作が重くなります。
立ち絵は、なるべく小さく作ったほうが、動作が軽くなります。・テキストの禁則処理について
禁則処理は、行末のぶら下げしかやってません。これはシナリオランタイムエンジン設計上の制限です(要するにダメシステム)。
融通利かないので、改行位置はシナリオ側で修正してください。
■実装済み命令
基本的には、某 NScripter のサブセットです。
構文解析はかなり甘いです。エラーがあっても突っ走ることがあります。メッセージ埋め込みコマンド
コマンド オプション 説明 @ クリック待ち \ クリック待ち+改ページ / 直後の改行を無視 !s 数字 テキスト表示速度の変更。#textspeed命令と同じです。 !d 数字 ディレイ。#delay命令と同じです。 !w 数字 ウェイト。#wait命令と同じです。 $ 数字 該当する文字列変数を展開して表示 % 数字 該当する数値変数を展開して表示
変数
$0〜$999 文字列変数 %0〜%999 数値変数 命令
・命令の大文字小文字は区別しません。
・行の1文字目から書き始めてください。#の前にスペースがあると命令として識別されません。
命令 オプション 説明 #mov 変数a, 値
変数a, 変数b変数aに、値を入れます。 #add 変数a, 値
変数a, 変数b変数aに値(変数b)を加算して、変数a に代入します。
文字列変数を指定した場合は、文字列の連結になります。#sub 変数a, 値
変数a, 変数b変数aから値(変数b)を減算して、変数aに代入します。 #inc 変数a
変数aに1を足します。 #dec 変数a 変数aから1を引きます。 #mul 変数a, 値
変数a, 変数b変数aに値(変数b)を乗算して、変数aに代入します。 #div 変数a, 値
変数a, 変数b変数aを値(変数b)で除算して、変数aに代入します。 #mod 変数a, 値
変数a, 変数b変数aを値(変数b)で除算した剰余を、変数aに代入します。 #rnd 変数a, 値
変数aに、0〜値-1までの乱数を代入します。 #rnd2 変数a, 値1, 値2
変数aに、値1〜値2の間の乱数を代入します。 #textspeed 数字 1文字表示に掛かる時間を指定します。単位はミリ秒。 #wait 数字 指定時間待ちます。マウスクリックでスキップできません。単位はミリ秒。 #delay 数字 指定時間待ちます。マウスクリックでスキップできます。単位はミリ秒。 #textclear なし 表示しているテキストを消去し、カーソルを画面左上に戻します。 #locate x,y テキスト表示位置の変更 #bg
"ファイル名" 背景の表示 #goto
*ラベル
"ファイル名"
"ファイル名",*ラベル指定ラベル、または、ファイル へジャンプ
3つ目のは、指定ファイルにジャンプ後、すぐさま指定ラベルに飛びます。#gosub *ラベル
"ファイル名"
"ファイル名",*ラベルサブルーチンにジャンプします。
別ファイルにあるルーチンに飛ぶことも可能ですが、ジャンプ時とリターン時に解析処理が入るので時間がかかります。処理が終わったら、必ず#return で元の流れに戻してください。#return なし サブルーチンから抜けて、呼び出し元に戻ります #color
数字 テキスト色の変更
数字は
0x000000 (黒)
0xffffff(白)
などのように、0xRRGGBBで指定します。#chr
#ld
{l,c,r}, "ファイル名" キャラクタの表示
L, "test.swf"
で、画面左側に、test.swfを表示します。
L 左、C 中央、R 右です。#cl
{l,c,r,a} chr命令で表示したキャラクタを消去します。
LCRは、同じく位置指定。
Aは、すべて消去する場合に指定します#bgm
"ファイル名" BGMの演奏です。
ストリーム再生されます。#stop
なし 演奏されている音すべてを停止します。
今はBGMだけが止まります。#beginselectgosub なし 選択肢の開始宣言です。beginselectのgosub版です。
サブルーチンからの戻り先は、endselectの次の命令になります。#beginselect
なし 選択肢の開始宣言です。
なくてもエラーも出ず動いてるように見えますが、危険なので必ず宣言してください。#select
"文", *ラベル
"文", "ファイル名"
"文", "ファイル名", *ラベル選択肢を登録します。beginselect命令のあとに続けて書いてください。
必要な数だけ繰り返し登録してください。
3つ目のは、指定ファイルにジャンプ後、すぐさま指定ラベルに飛びます。#endselect なし selectで登録した選択肢を表示し、実行します。
■更新履歴
1年前の履歴なので、もはや遠い昔・・・=□○_
Date Versionchanged 2004/02/15 0.18MacとLinuxで再生時、'\'(改頁)が動作していなかったバグに対処。 2003/10/20 0.17Novel.swfへの引数渡しを実装。初期シナリオ、BGMのON/OFF初期値、使用フォントを任意に選択出来るようになりました。 2002/11/29 0.16システムメニュー実装(画面上)。表示速度とBGMのON/OFFを入れてみた。 2002/11/27 0.15シナリオキャッシュを実装。4ファイル分常駐するようにした。常駐しているシナリオファイルは、解析処理が省略されます。4ファイル以上のシナリオファイルがある場合は、もっとも使われていないシナリオが解放されます。 0.14NowLoadingムービーをプラグイン化。
BGのロード待ちを実装。 (表示タイミングで読み込みが完了していない場合、NowLoadingが出てシナリオ進行が一時止まります)2002/11/25 0.13変数処理追加。途中。
演算系命令も追加。 分岐命令がないので、まだ使い道はないかと・・。 0.12#gosub〜#return 命令を追加
#BeginSelectGosub 命令を追加2002/11/23 0.11ウェイト系各種命令(#delay, #wait)を追加
テキスト表示速度命令(#textspeed)を追加
同様 の、メッセージ埋め込み命令(!d, !w, !s)も追加 0.10シナリオファイルの読み替えが発生したときに、CHR・BGが非表示にならないようにした。
(別ファイルに移動後もCHR・BGを維持するので、読み直す必要がなくなりました)--- ---changed書き忘れ 2002/11/15 0.00製作開始
■実装しなきゃメモ
分岐系各種
画面エフェクト各種
SE系
サブルーチンレベルが256超えたら停止(まだやってないんか
変数、1000以上指定できちゃうの阻止(まだやってないんか
画像データが存在しないときエラー
■将来への展望
FlashPlayer6は、インタプリタ速度が遅く、文字列の操作が鬼のように遅かったので、単純なフォーマットである某NScriptのシナリオすら満足に解析できませんでしたが、FlashPlayer7は、若干ながら速度が速くなっているので、某NScriptのフルセットももしかしたら実現可能になるのかもしれません。
|
Bois Creative Homepage.This
page is being made for Japanese. If you can understand Japanese, you can
enjoy this page all the more. |