大纲为作者回答的是“接下来发生什么?”。故事设定集要回答的问题更难:“之后有什么不一样了?”一份因果情节大纲,两个问题都能回答。当卫队在 Duskhollow 向领粮的队伍开火时,Rowan Ashe 不再为王室效力,开始为 Ashen Circle 通风报信。这在你的大纲里是一个场景,在你的故事设定集里却是四个事实:效忠对象、一段结束的成员关系、一段开始的成员关系、一个新的落脚处。如果场景和事实分别放在不同的工具里,你第一次挪动这个场景时,它们就会开始各走各的。
所以大纲应该住在故事设定集里面。Lokee 的故事事件页面把情节保存为一个个事件:你可以嵌套和重新排序它们,把它们放进你的世界的年表,关联到它们涉及的条目、章节和笔记,把它们连成原因和结果,并为它们添加影响:事件带来的变化,直接记录进角色和关系本身的历史里。最后这一部分,才让它不只是一份大纲。
贯穿全文的例子是演示故事《灰烬结社》(The Ashen Circle)。这篇指南假定你已经知道什么是世界时间点;如果还不知道,请先读三种“何时”。故事事件可以在浏览器和桌面应用中使用,Android 应用中没有。
为什么因果情节大纲需要两种顺序
这个页面上最重要的理念是:一个事件有两个相互独立的位置。
- 大纲顺序是你工作的顺序:也就是你大纲的顺序,可以随你喜欢嵌套成幕、故事线或线索。它可以跟随读者,可以跟随主角,也可以只是这些想法出现在你脑海里的顺序。
- 世界时间顺序是事情在你的世界里发生的时间,根据每个事件在时间线上的位置自动得出。
大多数大纲工具都强迫这两者共用一种顺序。正因如此,闪回、平行情节线和发生在多年以前的序章,在大纲工具里总显得别扭。在 Lokee 里,你按大纲顺序规划,等知道某个事件在世界时间中的位置时再把它放进去,并用页面顶部的大纲顺序 / 世界时间顺序按钮切换视图(有了事件之后,这两个按钮才会出现)。
搭建事件规划
从侧边栏打开故事事件,或者从写作台工具栏的工具中打开。
- 点击**+ 新建事件**。给它一个标题(“东墙暴乱”)和一段描述。
- 保存。它会出现在规划中。
- 把鼠标悬停在某一行上即可看到它的控件:+ 添加子事件,↑ 和 ↓ 在同级事件之间移动,← 减少缩进,→ 把它缩进到上方事件之下,✎ 编辑,✕ 删除。
这里没有拖放;调整结构靠的就是这些箭头按钮。缩进会让一个事件成为紧挨在它上方那个事件的最后一个子事件;减少缩进会让它成为其父事件的下一个同级事件。这已足以搭出任何形状:每一幕下面挂着几章分量的事件,或者每条情节线(“Rowan”“Iseult”“The Magistrate”)各自容纳自己的事件。
对于《灰烬结社》,第一版规划可能是这样的:
- 正文之前
- 第一个运粮之冬
- 东墙暴乱
- 第一幕
- Gilded Lantern 酒馆会面
- Iseult 翻开账本
- Ophelia 摊开三份报告
注意,“正文之前”只是一个用来分组的事件。没有任何规定要求事件必须是一个场景;只要是能帮助你思考的情节单位就行。
页面顶部还有另外两个按钮。导出 Markdown 会把规划下载为一份 Markdown 大纲,方便发给编辑。**从文本提取…**会用 AI 从某个章节或粘贴的文本中提议事件;你会先看到费用(云端世界库中消耗 Lokee 点数;在桌面应用的本地世界库中,也可以使用你自己的密钥或本地模型),逐一审校每个候选项,只提交你保留的那些。提取出的事件带有 AI —— 未审核徽标,让你知道哪些还没有核对过。
把事件关联到人物、章节和笔记
在事件编辑器中,链接会把事件与世界库的其余部分连起来。选择条目、章节或笔记,然后在**搜索要关联的内容…**中输入。
- 关联参与其中的角色:Rowan、Captain Aldric、Crown Watch。
- 关联读者看到它的那一章:对于“Gilded Lantern 酒馆会面”,是第 1 章“The Lantern's Price”。
- 关联你保存在笔记里的一条资料笔记或场景草稿。
链接只是引用,仅此而已。“影响”一节说得很清楚:“只有在这里明确列出的变化才会被记录,关联条目本身不会改变其内容。”这是一种刻意的拒绝猜测。参加过一场战斗,不会让人自动成为老兵;在一场暴乱中出现,也不会让 Rowan 自动成为叛军。Lokee 不会推断其中任何一个。下面要讲的“影响”,才是你说明什么发生了变化的地方。
把事件放进世界时间
编辑器中的世界时间位置一节有三个选项:
- 尚未指定:默认值。事件只存在于大纲顺序中。
- 单一日期:一个时刻。在时间下选择一个世界时间点。
- 时期:持续一段时间的事情。分别选择它在哪里开始、在哪里结束。
对每一端,你都可以用选择世界时间点…挑一个现有的时间点,或者用创建新的世界时间点…当场新建一个:填写时间点名称(Lokee 会建议“第一个运粮之冬 — 开始”)和一个可选的日期。新时间点会添加到时间线末尾;到时间线页面用向前移动和向后移动把它们放到合适的位置。一个事件只使用一种历法:当你创建结束时间点时,它会沿用开始时间点的历法。要用你自己的历法为事件标注日期,请看为虚构世界构建历法与时间线。
你也可以从另一侧放置事件。在时间线上,每个世界时间点都有此处的事件:选择一个事件,并说明这个时间点是它开始还是结束的地方。有结束就必须有开始;如果一个事件还没在别处设置开始,你却想先给它设置结束,Lokee 会提醒你。
放置好的事件会出现在整个世界库中。在规划中,每一行会在标题旁边显示它的位置。在时间线上,事件会出现在它开始和结束的时间点上,两点之间由一段时期相连;日历视图把时期显示为横条,并链接回规划。在查看控件中,时间点会标注在那里开始或结束的事件,所以“东墙暴乱(开始)”很容易找到。
放置事件不会改变其他任何东西。它不是影响,也不会移动任何角色。
阅读世界时间顺序
切换到世界时间顺序,规划会按事件在某一条时间线上的位置重新排列:如果查看设为某个世界时间点,就用你正在查看的那条时间线,否则用正史时间线。如果世界库有多条时间线,你可以用选择器挑选。没有放置在任何地方的事件归入尚未指定世界时间,只放置在其他时间线上的事件归入在其他时间线上,所以没有任何东西会悄无声息地消失。
如果某个位置看起来不对,这一行会带上一个 ⚠ 标记,而不是被自动纠正:结束早于开始(顺序)、结束早于开始(日期)、开始和结束在无关的时间线上,或者缺少世界时间点。和 Lokee 时间模型的其他地方一样,顺序是可信的依据,日期只是注释,只有你知道某个异常是不是错误。
当你需要确认序章里那些二十年前的事件确实排在第一幕之前,或者确认两条分开规划的情节线没有撞车时,就该读世界时间顺序视图。
原因与结果
事件创建好之后,用 ✎ 重新打开它。这时会出现一个原因 / 结果部分。选择是…的原因或是…的结果,在搜索事件…中输入,然后选中另一个事件。链接会以是以下事件的原因或是以下事件的结果的形式列出,每条旁边都有一个移除按钮。
以演示故事为例:
- 第一个运粮之冬是东墙暴乱的原因。
- 东墙暴乱是 Gilded Lantern 酒馆会面的原因。Rowan 之所以会遇见 Sera,正是因为他已经倒戈。
- Ophelia 摊开三份报告是那次会面的结果。
因果链接与两种顺序都无关。一个原因在你的规划中可以排在它的结果之后(悬疑小说常常如此),Lokee 不会报错。目前还没有因果链或因果图视图;它们会列在每个事件中。即便如此,把它们写下来仍然有用:当你在修改中删掉一个事件时,打开它就能看到哪些其他事件会因此失去原因。
影响:事件改变了什么
这里就是规划与故事设定集交汇的地方。“影响”同样只在编辑现有事件时出现。这一节自带说明:“记录此事件带来的变化。只有在这里明确列出的变化才会被记录。”
为“东墙暴乱”添加影响:
- 在**搜索条目,为其添加事件影响…**中输入“Rowan”并选中他。
- 在新出现的一行中,选择要改变的内容。列表里有他的字段、他现有的关系,以及新的关系…。
- 如果是字段,选择它如何变化(变为、增加、失去或被清空),再填写值:效忠变为 Ashen Circle;Location 变为 The Gilded Lantern。
- 如果是现有关系,选择它是结束、开始、类型变为另一种类型,还是血统变为已确认、据称、未知或有争议:与 Crown Watch 的 Member Of 关系结束。
- 如果是新的关系…,回答与谁?,再选择类型:Member Of The Ashen Circle。
- 每一行都有一个至今仍然成立复选框,默认勾选。勾选时,这项变化也会应用到当前卡片和当前关系上。如果这个影响后来被抵消了,比如一道已经愈合的伤口、一个已经破裂的同盟,就取消勾选。
- 选择记录于:一个世界时间点,其中事件自己的时间点会标注为“事件开始”和“事件结束”。默认是事件开始的位置。
- 点击记录 4 项影响(数字随你的行数变化)。
在写入任何内容之前,Lokee 会先创建一个还原点。然后,每个影响都会成为该时间点上一条普通的已记录变化,并标注所属的事件。如果其中一条失败了,其余的仍会被记录,提示信息会告诉你有几条没能记录。
此后,历史在两个方向上都能读通。事件会在“影响”下列出它造成的一切。在 Rowan 的卡片上,他的“效忠”字段的 ⟲ 历史会这样回答“为什么效忠是这个值?”:在东墙暴乱期间更改,并附上时间点。要编辑或删除单个影响,请前往那个条目的历史标签页(或它的关系历史):影响就是一条和其他记录一样的已记录变化,详见记录变化,而不是覆盖。
为影响选择合适的时间点
一个时期给你两个天然的时刻。“第一个运粮之冬”开始于 Iseult 开始转运粮食,结束于 Undercroft 囤满粮食。她的效忠在开始时就变了;公爵的国库到结束时才见底。把每个影响记录在它该在的地方,用事件的开始或结束时间点。如果某个影响要到很久以后才落地(比如一笔在死亡多年后才了结的遗产),就为它单独创建一个世界时间点,而不是把事件拉长。
删除事件而不丢失历史
删除一个有已记录影响的事件时,会弹出一个问题:删除事件,保留影响还是同时删除其影响。如果这些变化对你的故事来说依然成立、只是事件本身要去掉(你在合并两个事件,或者不再希望暴乱单独成为一个条目),就保留它们。如果这个事件正是这些变化的起因,变化也应该随它一起消失,就删除它们。
无论哪种情况,事件的世界时间点都会留在时间线上:它们是你的年表的一部分,而不属于事件,而且其他记录也可能落在它们上面。
没有已记录影响的事件会被立即删除,不会弹出任何问题。当你确实想删时这很快,当你在错误的行上点了 ✕ 时就很不愉快。如果发生了,侧边栏中的还原点可以把世界库回滚;Lokee 在记录影响之前会自动创建一个,你也可以在大规模重组之前自己保存一个。
暴乱,从头到尾:从大纲里的一行到一张改变了的卡片
下面是一个事件走完全程的样子,在一个已有 Rowan、Crown Watch、Ashen Circle 和 Gilded Lantern 卡片、但还没有任何事件的世界库上。
- **规划它。**故事事件 → + 新建事件 → 标题“东墙暴乱”,描述“卫队向领粮的队伍开火;Rowan 离开了卫队。”保存。用同样的方式添加“正文之前”,然后选中暴乱,点 →,让它嵌套在下面。
- **放置它。**在暴乱上点 ✎ → 世界时间位置 → 单一日期 → 创建新的世界时间点…,时间点名称“东墙暴乱”,不填日期。保存。在时间线上,新时间点排在末尾;向前移动,直到它排在“Rowan 宣誓加入卫队”之后、“Gilded Lantern 酒馆会面”之前。
- 关联它。在链接下 → 条目:Rowan、The Crown Watch。章节:暂时没有,因为读者要到后面才会听说这场暴乱;等那一章写出来了再关联。
- 给它原因。打开原因 / 结果 → 是…的结果 → “第一个运粮之冬”。
- 记录它改变了什么。在影响下为 Rowan 添加影响:效忠变为 Ashen Circle;Location 变为 The Gilded Lantern;Member Of The Crown Watch 结束;新的关系… Member Of The Ashen Circle。四条都勾选至今仍然成立,记录于暴乱。记录 4 项影响。
- 检查卡片。打开 Rowan。效忠显示“Ashen Circle”,旁边是“⟲ 1”;点开它,为什么效忠是这个值?的回答是在东墙暴乱期间更改。把查看设为“Rowan 宣誓加入卫队”,效忠显示 Ashen Circle 并标着最早的记录,因为还没有记录任何更早的东西。这个标记就是在提示你做最后一步。
- 记录“之前”。在 Rowan 的卡片上、在“当前”,点击效忠旁边的记录一次变化…:在“Rowan 宣誓加入卫队”,变为“Crown Watch”。现在宣誓显示 Crown Watch,暴乱显示 Ashen Circle,“当前”保持不变。
- 读一读世界时间顺序。回到故事事件,切换到世界时间顺序。暴乱排在运粮之冬之后,正是因果链接所暗示的顺序。如果不是,那么两者之一在时间线上放错了位置。
第一个事件八步;之后的每一个只需两三步,因为时间点和角色都已经在了。
常见错误
**关联了角色,就指望卡片会变。**最常见的一个,也正是“影响”那行提示要防止的。链接说的是谁在场。影响说的是什么变了。
勾着“至今仍然成立”记录了一个后来被抵消的影响。Rowan 在暴乱中受了伤,到第 6 章已经痊愈。勾上至今仍然成立,他的卡片就永远写着受伤。取消勾选,再在更晚的时间点把痊愈记录为单独的一次变化。
**把时期拉长去覆盖它的结果。**运粮之冬并没有一直持续到暴乱;它引发了暴乱。时期就保持它本来的长度,晚来的结果记录在它们自己的时间点上。
为了整洁而删掉事件的世界时间点。事件没了,时间点留下,这是有意为之:其他记录可能落在上面。只在时间线上删除时间点,而且要先检查用到它的那些历史标签页;时间点没了的变化会显示“找不到它所属的时间点”,一致性检查会把它标为关联时间点缺失。
因为看起来整齐,就按时间顺序规划。于是序章跑到了最上面,第一幕的第一场戏在五行之下,规划看起来不再像这本书。按你思考的顺序规划;让世界时间顺序去管年表。
**从不看世界时间顺序。**只有在那个视图里,才能看到两条分开规划的线索撞在一起。每一幕打开它一次。
Lokee 在这里不会替你做的事
原因与结果是每个事件上的一份列表,不是一张图。想看从运粮之冬到最后一章的整条链,你得一个事件一个事件地顺着链接走,或者在看板上画出来。参与不改变任何东西,这是有意设计,所以没有“把参加过那场战斗的所有人都标为老兵”的捷径;每个影响都要你自己记录。
还有两件小事要知道。导出 Markdown 目前在所有语言里都把下载的文件命名为 plan-wydarzen.md,而且把关联的条目、章节和笔记写成它们的内部 id 而不是名称,所以发给别人之前,记得改文件名,并准备整理一下那些链接。另外,故事事件页面本身没有查看控件;世界时间顺序跟随你在别处正在查看的时间线,否则就用正史时间线。
五分钟自查
下面这个循环能让规划和故事设定集在写作过程中保持同步:
- 自由规划。用+ 新建事件按大纲顺序添加事件,用 → 嵌套它们,暂时不用操心年表。
- 放置你已经确定的事件。对于在世界中的位置很重要的事件,使用世界时间位置:瞬间发生的用单一日期,有持续时间的用时期。
- **关联角色和章节。**让每个事件都指向参与者以及读者看到它的地方。
- **为转折点记录影响。**不是每个事件都会改变某种持久的东西;会改变的那些,才需要“影响”,而字段上的第一条影响,还要你手动记录一个“之前”。
- **读一读世界时间顺序。**确认你搭建出来的年表正是你想要的。
- 运行检查。一致性检查会标出与顺序不符的日期、事件影响与手动记录的变化之间的矛盾,以及同时出现在两个地方的角色。
如果你还在琢磨情节到底是什么,小说世界观设定怎么开始主张先找到情节所围绕的那一条规则,再去搭事件列表。帮助中心的事件与影响一节概述了这些控件,时间线一节则解释了事件如何出现在世界年表上。想从更宏观的角度了解如何让一本书的事实保持一致,故事时间线软件页面是一份不错的概览。