いや、なんつーか…
好久没去接收一下电波,昨天居然一下入手了3个引擎。其中两个还是我最近觉得颇为有趣的方面:以Flash为核心的小说式游戏框架。
LemoNovel:
http://www.le-mo.jp/lemo/products/LemoNovel/index.htm
引用
本システム『LemoNovel』は、我々、ゲームを作ろう!的団体『LEMO.』が主にWebでの公開を想定したビジュアルノベル制作用に開発したもので、システムそのものはMacromedia Flash MX Professional 2004で作成し、Flash Player7用にパブリッシュされています。(Ver1.40時点)
本来の目的はビジュアルノベルの作成ですが、その他にもアドベンチャーやWeb日記、またデモ版の配信など、アイデア次第で様々な用途に用いることが出来ます。
TACS:
http://atelier-c.fiw-web.net/
引用
Text Adventure Converter System
TACS for Flash(ver 19) + ネット公開版
Copyright(C)1997-2007 Takaaki
前者是以Flash 7,后者是以Flash 8为基础开发的。它们的框架本身的源代码都是不公开的,不过由于使用了Flash为基础,两者都有类似的一些特性:可以使用swf文件来作为layer的“图”,也就是说可以自己制作一些特殊的效果。
下面先看看两个引擎附带的sample里的脚本的片段:
LemoNovel:
// シナリオ開始
*初めの挨拶|こんなところでセーブする貴方って…
// セーブをONにする
[Save ON]
// 履歴機能を開始する
[History ON]
// 背景レイヤーを表示状態にしておく
[BGLayer visible=true]
// メッセージレイヤーを表示する
[MsgLayer visible=true]
はじめまして。[l][r]
この度は、本システムをお試しいただきありがとうございます。[p]
これは、本システムの持つ機能の中から主要なもののいくつかを紹介するサンプルです。[p]
内容はあくまで機能の紹介に留めており、具体的な使い方などについてはほとんど触れていません。[p]
実際の作成手順などは、公式サイトのチュートリアルやタグリファレンス等の解説を参照してください。[l][r]
一部の資料が未完成ではありますが…。[p]
我在这脚本里看到了很浓的吉里吉里2/KAG3的影子……这是好事嗯,等下再说。下面看看另一引擎的范例脚本。
TACS:
#■第一話
SE_PLAY data/se001.mp3,30
" …遠くの方で、鐘の音が鳴っているようなきがする。";pause
~"\n 寝ぼけまなこで、目を開けると…";pause
PIC 7,library/mask640-480-01.swf
PIC 6,library/blank.swf
FRAME_CHANGE2 5,6
PIC 5,data/bg002.jpg
FRAME_MASK 5,7
SE_PLAY data/se001.mp3,100
~"視界に見慣れた教室の風景が広がった。";pause2
"「起立!」";pause
~"\n不意に背後から声がした。";pause
~"\n突然のその声に、僕は…"
*いそいで立ちあがった
"僕は急いで立ち上がった。";pause2
#>■礼をした直後
*周囲をみまわした
"僕は周囲をみまわした。";pause
~"\n周囲にいるクラスメート達が全員起立している。";pause
~"\n「起立!」";pause
~"\n再び背後から声がかかる。";pause
~"僕は急いで立ち上がった。";pause2
#>■礼をした直後
#■礼をした直後
"「…礼」";pause
~"\n 周囲の皆にあわせて礼をする。";pause
~"\n ふう…うっかりしていたよ。";pause
~"思わずため息がもれる。";pause
普通的命令系脚本。这很难说像什么了,很多地方都用这种样子的脚本。
All right,两个系统都有些做不到的事情:eval()。由于Flash是需要预先编译后才可以执行,无法在脚本中嵌入ActionScript来直接做些控制。不过这对开发者来说不会是什么大问题,因为需要做扩展的地方都能自己做swf来补足,而在那里是可以自己写ActionScript的。
这两天在记录吉里吉里2的内核实现,越看越觉得这东西其实跟Flash挺像的,所以就想找找看有没有现成的制作小说类游戏的基于Flash的框架。结果果然有。而且上面的LemoNovel多少是由受到KAG脚本的影响吧,看起来觉得很亲切。
单纯使用上面这两个框架来开发小说类游戏,所写的脚本什么确实是与直接使用Flash 7/8/9之类的制作一个游戏感觉很不一样。最重要的是,脱离了Flash原本那种designer的感觉(被designer框住的感觉)。然则现在有了Flex,制作这类框架的时候,似乎通过Flex来制作会更加合适呢。UI控件之类的也能够有效的重用,MXML的声明式界面设计也更符合程序员的意愿。(虽然蔡学镛先生似乎认为JavaFX更适合GUI设计,参见《程序员》2007年11月刊)。