撰写了文章 更新于 2019-07-26 16:30:41
Twine学习笔记3:编程
Twine实际上主要由三部分组成:
- 片段,也就是每一小块的文本单元,你可以将它链接到其他片段。
- 链接,也就是双中括号括起来的文本。
- 状态,通过分配变量,然后在片段用宏(其实就是编程中的语句或指令)设置变量或根据变量显示文本。
本学习笔记使用的是Harlowe 2.1.0。
变量
变量用于记录数值,跟踪游戏的状态,以$开头或者以_开头(只用于暂时的变量)。
你可以使用变量直接显示内容:
Your beloved plushie, $plushieName, awaits you after a long work day.
You put your _heldItem down and lift it for a snuggle.
如果变量包含宏指令,后面可以接上钩子:
$robotText[Good golly! Your flesh... it's so soft!]
_assistantText[Don't touch me, please! I'm ticklish.]
钩子
钩子可以理解为受到宏影响的文本,语法如下:
[some text]
可以如下给钩子取名:
[This hook is named 'opener']<opener|
|s2>[This hook is named 's2']
还可以如下隐藏钩子,然后用(show:)宏显示:
|cloaked)[This hook is hidden when the passage loads, and needs a macro like `(show:?cloaked)` to reveal it.]
宏
宏是插入到片段文本中的一段代码。宏用于完成许多效果,例如改变游戏的状态,根据游戏的状态显示不同的文本,以及改变文本的显示方式。Harlowe中有许多内置宏。可以参考官方文档https://twine2.neocities.org,这里就不赘述。
其他语法
其他语法有关键字,数据类型以及字符串相关的注意点,都是编程涉及的普遍问题,看官方文档即可。
后记
这篇学习笔记写的比较概括,其实我学到最后发现Twine对于游戏剧本并不是一个好工具,缺点如下:
- 变量直接写在代码中,难以管理;
- HTML等前端语言看起来还是偏乱;
- 叙事结构被固定了,比较适合单纯的分支叙事,其他交互方式很难实现。
- 只能输出html文件,对于策划文档是不合适的。
所以我的结论是Twine现在只适合写互动小说,不适合做游戏设计。
于是我决定转战articy:draft 3(https://store.steampowered.com/app/570090/articydraft_3/)。
目录