Skip to content

Chapbook 故事格式指南

你是否在 Twine 中寻找一个既让作者感到轻松,又能为玩家提供愉悦阅读体验的故事格式?来认识一下 Chapbook —— 一个自带“贴心默认值”,同时又能灵活定制的选择。

Chapbook 是什么?

简单来说,故事格式决定了你用 Twine 编辑器创作的故事在网页浏览器中如何运行和呈现。当你点击 Play 按钮测试,或者将故事发布为 HTML 文件时,你选中的那个故事格式就会负责所有后续的“表演”。

Chapbook 就是这个舞台上的一个表演者。它的设计哲学是:降低创作门槛,提升阅读体验。它为你提供了开箱即用的、合乎常理的默认样式和交互,同时保留了充足的定制空间来满足你的独特创意。

阅读本指南前

  • 需要编程知识吗? 完全不需要!本指南从零开始。当然,如果你懂点 CSS 或 JavaScript,会更得心应手,因为 Chapbook 内部大量使用了这些技术。
  • 需要了解 Twine 编辑器吗? 是的,本指南假设你已经熟悉 Twine 2 编辑器的基础操作。如果你是 Twine 新手,建议先阅读官方的 Twine 2 指南。网络上也有大量优秀的入门教程可供参考。

许可与支持

开源且自由:Chapbook 采用 MIT 许可证。这意味着你完全可以自由地用它创作免费或商业作品,无需支付任何版税。虽然不强制要求,但在作品鸣谢中提到 Chapbook 和 Twine 会是很棒的支持!

由社区驱动:Chapbook 是一个开源项目,其持续的开发和维护依赖于 Patreon 支持者们的慷慨资助。正是有了像 Anastasia Salter、Emily Short 等社区成员的贡献,它才能不断成长。如果你在使用 Chapbook,请考虑在 Patreon 上支持这个项目

浏览器兼容性

Chapbook 支持的浏览器范围遵循 browserslist 项目的默认标准,这基本覆盖了所有现代主流浏览器。你可以前往 browserl.ist 查看详细列表。

如何使用 Chapbook?

获取方式: Chapbook 现在已经作为默认格式之一捆绑在 Twine 2 编辑器中。(不过,有时 Twine 的发布版本会稍晚于 Chapbook 的最新版本。)

如果你想手动添加或更新 Chapbook 版本:

  1. 在 Twine 编辑器顶部的工具栏,点击 Twine 选项卡。
  2. 选择 Story Formats
  3. 在顶部工具栏点击 Add 按钮。
  4. 在弹出的文本框中,粘贴 Chapbook 官网提供的地址。

设置为当前故事格式: 获取 Chapbook 后,你需要为你的故事指定使用它:

  1. 在 Twine 编辑器中打开你的故事。
  2. 点击底部的故事菜单(有三个点的图标)。
  3. 选择 Change Story Format
  4. 在列表中选择 Chapbook

完成这一步后,你再点击 Play 测试或发布故事时,就会使用 Chapbook 格式来运行了。

为什么选择 Chapbook?(它的闪光点✨)

在 Twine 2 丰富的故事格式中,Chapbook 凭什么吸引你?

  • 代码清晰易读:它通过一些设计决策来强制保持代码的整洁。例如,它禁止条件语句嵌套(别担心,它有替代方案!),并要求将所有变量声明集中放在段落的一个位置。这使得代码结构一目了然,易于跟踪和维护。
  • 内置常用功能:很多你想实现的常见效果,比如循环链接延迟显示文字等,往往只需一行代码就能搞定。它为你处理了许多繁琐的底层工作。
  • 强大的“后台”测试视图:Chapbook 提供了一个专门的“后台”视图,方便你调试。你可以实时查看游戏状态动态修改变量值,并在任何位置保存状态,从而快速定位和修复故事特定部分的问题。
  • 为多设备而生,尤其移动端:它采用响应式设计,能自动适应不同尺寸的屏幕,确保在手机、平板、电脑上都能获得良好的阅读体验,无需不必要的缩放或滚动。同时,它非常轻量——目前核心代码仅约 120KB,即使在移动网络下也能在 1 秒内加载完毕。
  • 无需代码即可自定义外观:你可以不写一行 HTML 或 CSS 就调整故事的外观。Chapbook 内置了样式工具,允许你即时预览样式更改,轻松打造你想要的外观,而无需学习复杂的浏览器开发者工具。

为什么不选 Chapbook?(一些需要考虑的点🤔)

  • 相对年轻,资源较少:与久负盛名的 SugarCube 和 Harlowe 相比,Chapbook 还比较年轻。这意味着除了本指南,你能找到的教程、社区问答和现成解决方案可能会少一些。遇到问题时,能求助的社区规模也相对较小。
  • 已有学习投入的转换成本:如果你已经在另一个故事格式(如 Harlowe 或 SugarCube)上投入了大量学习时间,那么切换可能需要重新适应。Chapbook 能做到的事情,其他格式也都能实现。它可能在某些方面写起来更顺手(这取决于你的视角),但如果你已经熟练掌握另一种格式,转换的时间成本需要权衡。

关于“故事”与“游戏”的题外话

一直以来都有争论:Twine 制作出来的是“游戏”还是“故事”?真相是,用 Twine 你既可以做游戏,也可以做互动故事,还可以做出一些难以归类、独一无二的东西。

本着让那些喜欢清晰界限的形式主义者感到“困扰”的精神(开玩笑的),本指南将你用 Chapbook 创造的东西称为“故事”,而体验它们的人称为“玩家”。但请不要对这个用词过度解读。请务必用 Twine 和 Chapbook 创作出奇妙而独特的东西!


  1. Chapbook 无法在 Twine 1 中使用。
  2. 如果你有编程经验,听到“禁止条件嵌套”可能会大吃一惊——没有这个功能怎么写复杂逻辑?别急,关于条件显示的话题将在后续章节详细讨论,现在跳过可能会难以理解。