Famous Writer

先日オンセのチャットで『はーとふる彼氏』が話題になった関係で、なんでか「Famous Writer」というノベルゲーツールをいじり始めました。
まだ1日2日なので大したことはわかってないしこのまま1本ゲームを作り終えるまでやるかというと大変微妙(自分の飽きっぽさ的な意味で)なのですが、せっかく気づいた点があるので以下おぼえ書き。

なお、使用しているのはVer3です。

ひとつのスクリプトでWinもMacもいける

Win/Mac互換性謳ってるフリーのノベルゲーツールってわりと珍しいんじゃないかと。
なんとなくMacで開発してWinユーザーにも流したい、という動機で作られたツールっぽい感じです。
……は。『はーとふる彼氏』の作者さんもMacユーザーか?

スクリプトファイルがテキストファイル

ファイル名.txtです。
特別な拡張子で保存する必要がありません。
ただ、テキストファイルの先頭に改行なしで

FmWrPlin________

と書く必要があります。
ちなみにゲーム終了の命令は

&End;

改行すると改ページ、1行の中で「/」で区切ると改行。

こういうことです。

FmWrPlin________

……ん?/なんかやけに尻の下が硬いな。/それに真っ暗で何も見えない。どこだここは。

&End;

実行するとこんな感じ↓

……えー、個人的にはこの仕様は微妙。
なお、

FmWrPlin________

……ん?/_
なんかやけに尻の下が硬いな。/_
それに真っ暗で何も見えない。どこだここは。

&End;

という書き方もアリ。こっちの方が実行画面に近いからわかりやすいかも。

スクリプトは複数のファイルに分割可能。

開発時は「data」というフォルダにすべてのファイル(スクリプトファイルだけでなく音声ファイルや画像ファイルも)を入れておくのですが、ファイル間は相対パスで呼び出しできます。
あと「sound」フォルダには音ファイルしかいれちゃいけないとかっていう制限もありません。
なので1章ごとにフォルダを分ける、っていうやり方もあり。

変数の扱いが独特。

扱えるのは整数型と文字型の二種類
変数名の頭に『%』をつけると整数型、『$』をつけると文字型になります。ブーリアン型は用意されていますが、実行時に数値型に内部で処理するそうです。
変数名はプロジェクト内で一意の必要あり
%varと&varは同じ変数とみなされてるっぽい雰囲気です。変数名は全部小文字が推奨なのかな(命令文がたいていキャメル記法だから)。そのわりに『_』が変数名に使えないのが地味に痛いです。
変数のスコープが独特
ローカル変数とグローバル変数があるのですが、ローカル変数は「1プレイが終了するまでずっと値を保持する変数」、グローバル変数は「すべてのプレイに共通の変数」になります。ということは、複数のテキストファイルを随時読み込みつつ進行していくゲームでは、複数のファイル間で同一の変数名を使えないんですよね。

あ、もちろん四則演算もできるし変数内をテキストとして表示もできます。
ちなみにテキストの一部として表示する時は「%var%」「$var$」と書きます。

命令が大別して2種類ある

「理屈はどうでもいい、とにかく絵を表示したい」「音を出したい」という命令方法と、もっと事細かに指定する方法との二種類が用意されています。
前者を「かんたん命令」と呼んでますが、とりあえずならかんたん命令だけでだいたいなんとかなる感じ。
かんたん命令だけでも、「ただ表示」「横方向にスライドして表示」「4つのボックスに分けて」というような指定ができるんで、割とこれだけでいけます。


あとは複数レイヤーが使用できたりマスクできたりするらしいですが、どうもノベルゲー自体の経験値がほとんどないので、これらをどう使うのか検討もつきません。

とりあえずの感想

変数のスコープから考えて、大規模開発には向かないだろうなというのがまず最初の感想。ぶっちゃけデバッグめんどそうです。
あと変数名かなあ……。
スクリプトがテキストファイルの拡張子でいいとか、ファイルとフォルダの関係や文字装飾方法がHTMLを意識したものである、とりあえず動かせる命令をひと通り用意してある、など、わりと初心者向けを意識してデザインされたツールだと思うんですが、そのわりにマニュアル類が玄人向け。デモも本当に動作するかどうかしか見せてないのがもったいないです。吉里吉里のデモくらい主張してもいいのに。