基于Inky制作交互式小说


2022年的时候试用了一下ink语言和Inky编辑器,在制作文字交互小说上的效果不错,拿到原文以后只需要进行“体力活”的改造就可以带来不错的代入体验。
2年没跟进了,找时间再重新看一下语法,更新一下demo。
Inky介绍
Inky 是由 Inkle Studios 开发的一种用于编写交互式小说和叙事游戏的脚本语言。Inkle Studios 是一家知名的游戏开发公司,开发过《80 天环游地球》《80 天环游地球:数字版》《80 天环游地球:冒险版》《80 天环游地球:掌机版》等叙事类游戏。
特点
- 易于学习:语法简洁直观,对于没有深厚编程背景的作家和叙事设计师来说,也能快速上手,专注于故事内容的创作。例如通过简单的标记和链接就可构建故事节点和分支。
- 专注叙事:专门为叙事设计,支持复杂的故事结构,如分支剧情、循环、条件判断等。作者可以轻松创建出具有丰富情节和多种结局的交互式故事。
- 与工具集成:有配套的可视化编辑器 Inky Editor,方便作者进行故事的编写、编辑和预览。并且可以将创作的内容导出为多种格式,用于不同平台的游戏开发。
因为Inky支持选项分支和逻辑判断的特点,所以在对原文进行拆解组装以后,能够实现代入角色视角来体会场景、心理活动和决策的效果。
基于阿加莎.克里斯蒂的《底牌》第2章,增加一些动作和思考提示选项后,可以得到:demo
实现效果见视频:
代码示例
原文如下:
text
**第2章 夏塔纳先生**
“亲爱的波洛先生!”
绵软的、猫一样的声音——听来纯粹是为交际场合而生的,不带一丝情感波动或事先准备的痕迹。
赫尔克里·波洛转过身。他微鞠一躬,十分正式地和对方握手。
他的眼中闪过一丝不同寻常的光芒。可以说,与这个人的邂逅,唤醒了某种他极少触及的情绪波澜。
“亲爱的夏塔纳先生。”他说。
两人都没动,如同两名各就各位的决斗者。
衣装考究的伦敦人潮从他们身旁缓缓流过,轻声细语绵绵不绝。
“亲爱的,快看——好精美啊!”
“漂亮极了,不是吗?”
这里是在威塞克斯宫举办的鼻烟盒展览,门票每人一几尼,最后都将捐给伦敦的各家医院。
“亲爱的朋友,幸会!”夏塔纳先生说,“最近没送人上绞架或者断头台?犯罪也有淡季?不法之徒的淡季?还是说今天下午这里会发生抢劫案?那可太刺激了。”
“哎呀,先生,”波洛说,“我纯粹是个人出游而已。”
夏塔纳先生的注意力暂时被一个“迷人的小东西”吸引走了,她的脑袋一侧留着狮子狗般紧紧缠绕的鬈发,另一边则佩着三个黑草编的羊角。
他说:“宝贝,怎么不来参加我的宴会?真的非常棒!好多人都和我聊了起来!有个女人居然还说‘你好’‘再见’‘多谢’——不过她当然是从某个‘田园城市’来的,可怜的宝贝!”
“迷人的小东西”礼貌地回应了几句,波洛则仔细端详着夏塔纳先生上唇的小胡子。
漂亮的小胡子——非常精致——全伦敦也许只有他的小胡子能和赫尔克里·波洛的媲美。
“但不如我的华丽,”他喃喃自语,“不,怎么看都差一个档次,不过他的胡子确实相当醒目。”
夏塔纳先生整个人都很醒目——精心设计过的,刻意营造出一种恶魔般的阴险气息。他又高又瘦,阴郁的长脸,两道浓黑的眉毛,小胡子抹了蜡油,硬邦邦的,下唇底下还留了一小撮胡须。他的衣着颇具艺术气息,剪裁极为精心,却隐隐透出一丝怪诞。
每个健康的英国人看到他都恨不能猛踹一脚。他们的语气千篇一律:“那就是该死的夏塔纳!”
他们的妻子、女儿、姐妹、姨妈、母亲乃至祖母,各自用她们那一代的口吻评价他,大意如此:“亲爱的,我知道,他当然很可怕。不过他太富有了!宴会也棒极了!而且他总用一些有趣又刻薄的话议论别人。”
谁也不知道夏塔纳先生究竟是阿根廷人还是葡萄牙人,或者希腊人,又或者来自其他国家。不过有三件事是人所共知的。
他出手阔绰,在公园大道的一间豪华公寓里过着舒坦日子。
他举办各种精彩聚会——规模有大有小,风格有的阴森有的高雅,还有百分之百的同性恋聚会。
几乎人人都有点害怕他。
最后这一点很难具体描述。大家普遍有种感觉:他对别人的了解未免过于透彻了些。人们还有一种感觉:他的幽默感相当古怪。
大家几乎都认为,得罪夏塔纳先生是件很危险的事。
今天下午他的幽默感对准了外表可笑的小个子,赫尔克里·波洛。
代码示例如下:
ts
“亲爱的波洛先生!”
-> first_meet
=== first_meet ===
+ [装作没有听见]
“亲爱的波洛先生!” 绵软的、猫一样的声音——听来纯粹是为交际场合而生的,不带一丝情感波动或事先准备的痕迹。
-> first_meet
* [回头看看是谁]
赫尔克里·波洛转过身。他的眼中闪过一丝不同寻常的光芒。
-> talk_1
=== talk_1 ===
他微鞠一躬,十分正式地和对方握手。可以说,与这个人的邂逅,唤醒了某种他极少触及的情绪波澜。
“亲爱的夏塔纳先生。”他说。
两人都没动,如同两名各就各位的决斗者。
-> the_crowd_around
=== the_crowd_around ===
衣装考究的伦敦人潮从他们身旁缓缓流过,轻声细语绵绵不绝。
* [发生了什么事?]
这里是在威塞克斯宫举办的鼻烟盒展览,门票每人一几尼,最后都将捐给伦敦的各家医院。
-> the_crowd_around
* [看一下周围的人群]
“亲爱的,快看——好精美啊!”
“漂亮极了,不是吗?”
-> the_crowd_around
* [继续和夏塔纳先生说话] -> talk_2
=== talk_2 ===
“亲爱的朋友,幸会!”夏塔纳先生说,“最近没送人上绞架或者断头台?犯罪也有淡季?不法之徒的淡季?还是说今天下午这里会发生抢劫案?那可太刺激了。”
“哎呀,先生,”波洛说,“我纯粹是个人出游而已。”
夏塔纳先生的注意力暂时被一个“迷人的小东西”吸引走了,她的脑袋一侧留着狮子狗般紧紧缠绕的鬈发,另一边则佩着三个黑草编的羊角。
他说:“宝贝,怎么不来参加我的宴会?真的非常棒!好多人都和我聊了起来!有个女人居然还说‘你好’‘再见’‘多谢’——不过她当然是从某个‘田园城市’来的,可怜的宝贝!”
-> talk_3
== talk_3 ===
“迷人的小东西”礼貌地回应了几句,波洛则仔细端详着夏塔纳先生上唇的小胡子。
+ [认真看一下胡子]
漂亮的小胡子——非常精致——全伦敦也许只有他的小胡子能和赫尔克里·波洛的媲美。
“但不如我的华丽,”他喃喃自语,“不,怎么看都差一个档次,不过他的胡子确实相当醒目。”
-> talk_3
+ [认真看一下夏塔纳先生]
夏塔纳先生整个人都很醒目——精心设计过的,刻意营造出一种恶魔般的阴险气息。他又高又瘦,阴郁的长脸,两道浓黑的眉毛,小胡子抹了蜡油,硬邦邦的,下唇底下还留了一小撮胡须。他的衣着颇具艺术气息,剪裁极为精心,却隐隐透出一丝怪诞。
-> talk_3
+ [关于夏塔纳先生]
每个健康的英国人看到他都恨不能猛踹一脚。他们的语气千篇一律:“那就是该死的夏塔纳!”
他们的妻子、女儿、姐妹、姨妈、母亲乃至祖母,各自用她们那一代的口吻评价他,大意如此:“亲爱的,我知道,他当然很可怕。不过他太富有了!宴会也棒极了!而且他总用一些有趣又刻薄的话议论别人。”
谁也不知道夏塔纳先生究竟是阿根廷人还是葡萄牙人,或者希腊人,又或者来自其他国家。不过有三件事是人所共知的。
他出手阔绰,在公园大道的一间豪华公寓里过着舒坦日子。
他举办各种精彩聚会——规模有大有小,风格有的阴森有的高雅,还有百分之百的同性恋聚会。
几乎人人都有点害怕他。
最后这一点很难具体描述。大家普遍有种感觉:他对别人的了解未免过于透彻了些。人们还有一种感觉:他的幽默感相当古怪。
-> talk_3
* [继续说话] -> talk_4
=== talk_4 ===
大家几乎都认为,得罪夏塔纳先生是件很危险的事。
今天下午他的幽默感对准了外表可笑的小个子,赫尔克里·波洛。
没啦~~
-> END