故事里发生变化时,在笔记软件里最自然的做法就是去改那条笔记。Rowan 原本是 Crown Watch(王室卫队)的斥候,现在却为 Ashen Circle 通风报信;你打开他的卡片,把“Crown Watch”改成“Ashen Circle”。卡片是对的。可故事设定集也就此忘记了 Rowan 曾经在卫队服役、他何时离开、又为何离开,而这些恰恰是第 14 章他的老朋友 Captain Aldric 终于得知真相时,你最需要的东西。
如果你想追踪角色随时间的变化,而不只是记住他们最新的状态,这两种动作就必须分开。在 Lokee 里,在当前里编辑字段,改变的是现在什么是真的。记录一次变化则是往字段的历史里添一笔:从你的世界里的这个时刻(或稿件中的这个位置)起,值是这个。这篇指南会介绍记录变化的两种方式、怎样回头读取历史、关系如何随时间变化、存储的值与历史不一致时该怎么办,以及这一切和修订日志有什么不同。
例子来自演示故事《灰烬结社》(The Ashen Circle)。如果你还没有设置世界时间点,请先读三种“何时”:每条已记录的变化都落在一个时间点上,而时间点就来自那里。
为什么要追踪角色随时间的变化,而不是覆盖
小说是一份关于变化的文档。角色获得又失去头衔,在城市之间迁移,改换阵营,结婚,死去。一个只保存最新值的数据库,只是这本书最后一页的快照,此前的每一章都得凭记忆去和它核对。
覆盖会造成三种实际的问题:
- **前面的章节与卡片相矛盾。**你修改第 3 章时瞥了一眼 Rowan 卡片上的效忠对象,结果把他写成了叛军,早了两年。
- **没人知道它是什么时候变的。**合著者看到“Ashen Circle”,却无从得知这是不是一直如此。
- **因果断了线。**让 Rowan 倒戈的那场暴乱是你大纲里的一个场景;他的效忠对象是卡片上的一个字段;两者之间没有任何联系。
用记录代替覆盖,能一次解决这三个问题,而且不会让你以后多做工作。卡片照样显示现在,而过去在你需要时就在那里。
快捷方式:字段旁边的“记录一次变化…”
在条目卡片上,每个 Lokee 能随时间追踪的字段旁边都有一个小小的记录一次变化…链接。(在百科视图的信息框里,因为空间紧凑,它是一个时钟图标,悬停提示文字相同。)
在 Rowan 的“效忠”字段旁边点击它,会弹出一个对话框,问你三个问题:
- 什么时候:**选择一个时刻…**会列出所有世界时间点(按时间线分组、按顺序排列),后面是写作台叙事顺序中的所有叙事节点。提示文字会提醒你,时刻来自这两个地方。
- 新值:变化后的值,编辑方式和卡片上一样:文本、数字、你的历法中的日期、世界库中的某个地点。
- 原因(可选):一句简短的说明。占位文字是“凯尔玛之战”;对 Rowan,你可以写“目睹卫队向领粮的队伍开火”。
点击记录。对话框第一行就说明了效果:“在该时刻之前,仍沿用原有值。”这是关键规则。**记录永远不会改变当前值。**如果新值在今天也成立,请同时在“当前”编辑这个字段。通常它早已是新值了,因为你记录的是一个你在脑子里已经做出的改变。
列表里刻意没有“现在”这一项。“当前”就在“当前”编辑;在这里提供它,只会重新制造出这个对话框本来要避免的那种悄无声息的覆盖。如果你的世界还没有任何时间点,对话框会直接说明,并提供前往时间线,而不是给你一个空列表。
把起始值也记录下来
在最早一条已记录的变化之前,Lokee 显示的是这条最早记录的值,并标记为最早的记录。它从不猜测之前是什么。所以,如果 Rowan 的历史应该从“Crown Watch”开始,就在一个较早的时间点(比如“Rowan 宣誓加入卫队”)记录“Crown Watch”,再在“东墙暴乱”记录“Ashen Circle”。两条记录,之前、之间、之后的每一个时刻就都能读出正确的值。
完整方式:历史标签页
每个条目页面都有一个历史标签页。它的下半部分是一个标题为记录一项变化的表单,专门用于在同一时刻记录多项变化:
- 轴:世界年表或叙事顺序。世界年表是事情何时发生;叙事顺序是读者何时被告知。
- 位于:这条轴上的时间点。
- 字段:任何 Lokee 能追踪的字段,包括内置的名称、描述、标签和别名。
- 变化:单一值可选设为或清空;列表字段还可以选添加和移除,只改一项而不必重新输入其余内容。
- 加入本条记录:把这项变化放进待提交的记录里,这样你可以在同一时间点再添加另一个字段。
- 记录 3 项变化(数字随列表变化):把它们一起写入。
表单下方再次重申了这条规则:“记录变化是在描述过去,绝不会改变条目的当前值。”
当一个时刻同时从多个方面改变一个角色时,就用这个表单。在“东墙暴乱”这个时间点,Rowan 的效忠变为 Ashen Circle,他的头衔列表失去了“夜巡斥候”,他的 Location 变为 Gilded Lantern。一条记录,三项变化,一个时间点。
在表单上方,已记录的变化会按顺序列出每一条记录:先是沿各条时间线的世界记录,再是按阅读顺序排列的叙事记录。每条记录显示它的时间点、它的变化,以及一个删除按钮。记录上可能出现两种警告。“尚未关联到任一时间轴”标记的是还没有时间点的变化(这类变化来自下文的 AI 审校)。“找不到它所属的时间点,因此该变化不会生效。”标记的是其世界时间点已被你删除的记录;这样的记录在处理之前是不可见的,一致性检查会把它列为一个问题。
修正一条记录
列表里的记录不能直接编辑,只有删除。要修改一条记录说了什么,把查看设为它所在的时间点,在卡片上编辑字段,当 Lokee 问如何记录这次修改?时,选择编辑设定此值的记录。要把一条记录挪到另一个时刻,就删除它,再在正确的时间点重新记录。删除一条已记录的变化,会在修订页面留下一条说明删除了什么的条目,所以连这一步也有迹可循。
回头读取历史:⟲ 和“为什么是这个值?”
任何有已记录历史的字段旁边都会出现一个 ⟲ 标记和一个数字:Rowan 的“效忠”旁边是“⟲ 2”。点击它,会弹出一个标题为效忠的历史的浮窗。浮窗以**为什么效忠是这个值?**开头,然后按顺序列出每一条已记录的变化。
“为什么”这一行才是真正有用的部分。它会用以下四种方式之一作答:
- 在某事件期间更改,并附上时间点:当这项变化是作为某个事件的影响记录下来时(见用故事事件规划情节)。
- 记录于某个时间点:当它是你手动记录的时。
- 直接输入:当这个值只是在“当前”直接输入、背后没有任何历史时。
- 修改未记入 Lokee 历史:当存储的值与历史不一致时(即下文的偏离情况)。
当查看设为过去某个时刻时,浮窗会按那个时刻作答;开启对比时,它会为两侧分别作答。于是,“为什么 Rowan 在第 4 章看起来是叛军?”就成了点两下就能回答的问题。
没有历史的字段根本不会显示 ⟲。历史是逐个字段可选的:追踪那五样会变的东西,其余五十样就别管了。
关系也会变化
Rowan 改变的不只是一个字段;他离开了一个组织,加入了另一个。在 Lokee 里,这些都是关系,而关系有它们自己的历史:它们会开始、会结束、会改变类型,亲属关系的确定程度也会改变。
要记录关系的变化,把查看设为那个时间点(“东墙暴乱”),然后打开 Rowan 的关系标签页。页面会提示你,现在看到的是那个时刻的关系,而且修改任何关系之前都会先问你的意思。每一行关系都提供:
- 类型…:关系在这个时间点改变类型。Aldric Knows Rowan(认识他);从 Aldric 得知真相的那一夜起,他成了 Rowan 的 Rival Of(敌对者)。
- 血统…:确定程度变为已确认、据称、未知或有争议,用于故事中揭示或引起争议的亲子关系。家族史诗与继承一文展示了一段有争议的亲子关系在家族树上是怎样呈现的。
- 对当时有效的关系使用在这里结束…,对列在此时不成立的关系下的关系使用从这里开始…。
对 Rowan 来说:在他与 Crown Watch 的 Member Of 关系上点击在这里结束…。然后点击**+ 添加一段从这里开始的关系**:类型选 Member Of,条目选 The Ashen Circle,并保持勾选至今仍然成立,因为他今天仍是成员。如果取消勾选,这段关系只会作为历史保存,当前的关系不会改变。有这个复选框的地方不多,除了这里,另外两处是事件影响和 AI 审校。
删除一段有历史的关系
在“当前”删除一段有已记录历史的关系,会打开此关系有变化历史对话框。你可以在结束于(可选)中说明它何时结束,然后选择保留在历史中 —— 它已经结束了或连同历史一起删除。保留的话,较早时刻的图谱仍会显示这条联系,而在“当前”,它会出现在仅保留在历史中下面,带有恢复和连同历史一起删除按钮。对于一次死亡、一次离婚或一段破裂的同盟,请保留它。
当卡片和历史不一致时
通常情况下,卡片上的值与字段历史的最后一条要么一致,要么只因你有意为之才不同。对每个有历史的字段,Lokee 都会记下它最后一次写入的值。如果存储的值没有经过 Lokee 就被改变了,最可能是被旧版 Lokee 改的,历史标签页会显示一个标题为存储的值与已记录的历史不再一致的提示框,并列出两个值:存储值和 Lokee 最后保存的值。
你有三个选择,Lokee 不会替你做任何一个:
- 保留新值:接受存储的值;Lokee 会把它作为最新的变化,记录在正史时间线的末尾。
- 恢复之前的值:恢复 Lokee 最后写入的值。
- 查看:把历史列表缩小到这个字段,让你先看清楚再做决定。
同样的选择也会出现在关系的关系历史下;一致性检查则会把处于这种状态的每个条目字段都列在“修改未记入历史”下,确保没有一个被漏掉。
修订不是历史
有些编辑根本不是你的世界里发生的事件。你决定 Iseult 的眼睛是绿色而不是蓝色。Duskhollow 里什么也没发生;只是你改了主意。Lokee 把这称为修订。
对模型本身的每一次编辑都会记录在修订页面上:原来是什么、现在是什么,以及你在哪里做的修改:条目页面、关系、已记录的更改、AI 提取、速记、导入、写作台或地图。用按改动内容筛选…和发生的位置来查找某一条,并可以在为什么?(可选)中补充原因,这是唯一可编辑的部分,因为其余内容都是记录。在云端世界库中,修订位于侧边栏;在桌面应用的本地世界库中,请通过搜索面板(Ctrl+K 或 ⌘+K)中的前往修订打开它。
这个页面把区别说得很直白:把 Aria 改名为“Aria 女王”是一次修订;Aria 在加冕礼上成为女王,则是随时间发生的变化。修订永远不会出现在时间线上,也不会归结到任何时刻。如果某件事是在故事里发生的,请在一个时间点上记录一次变化。
一个经验法则:如果成书的读者能说“在这一天,这件事成了真的”,那就是一条已记录的变化。如果只有你这个作者能说“在这一天,我改了这个”,那就是一次修订。
状态时间线只是草稿区
条目卡片上还有一个状态时间线区域,带有里程碑和笔记输入框。它自己的说明很准确:“这些笔记不会修改字段值,也不会影响‘查看’中显示的内容。”写作时用它记一句“第 3 章,开始怀疑 Sera”完全没问题。但凡你希望在“查看”过去某个时刻时能看到的内容,都应该作为一条已记录的变化。
让 AI 提议变化
如果你在写作台中从稿件提取时勾选了查找随时间发生的变化(在导入页面,同一步骤叫随时间的变化),审校界面就会多出一个随时间的变化标签页:里面是文本中描述的变化,在你接受之前一条都不会记录。对每一项,你要选择一个世界时间点(或创建世界时间点…)、读者在哪里得知,以及它是否至今仍然成立。你也可以选择暂不确定;这样的变化会被保存但没有时间点,一致性检查会把它列为“尚未指定时间点”,而且目前没有按钮可以在之后为它指定时间点。等你知道了,就在历史标签页删除它,再在正确的时间点重新记录。提取会使用 AI,在云端世界库中还会消耗 Lokee 点数;详见把草稿变成故事设定集。
Rowan 的倒戈,从头到尾
下面是一个角色的完整流程,按我自己的做法,在一张目前只写着效忠“Ashen Circle”、Location“The Gilded Lantern”的卡片上。
- **时间点。**在时间线上确认“Rowan 宣誓加入卫队”和“东墙暴乱”都已存在,而且顺序如此;在写作台里为第 14 章添加一个叙事节点,“Aldric 得知真相”。
- 之前。在 Rowan 的卡片上,点击效忠旁边的记录一次变化…:在“Rowan 宣誓加入卫队”,变为“Crown Watch”。再点 Location 旁边的:同一个时间点,变为 The Watch House(卫队所)。
- 倒戈。打开历史标签页,用表单,因为有三样东西同时变化。轴选世界年表,位于“东墙暴乱”。效忠设为 Ashen Circle,加入本条记录。Location 设为 The Gilded Lantern,加入。头衔移除“夜巡斥候”,加入。记录 3 项变化。
- 成员身份。把查看设为“东墙暴乱”,打开关系。在 Member Of The Crown Watch 上点在这里结束…。+ 添加一段从这里开始的关系:Member Of,The Ashen Circle,勾选至今仍然成立。
- 揭秘。还停在暴乱那个时刻?不,这一条是给读者的。回到历史表单,轴选叙事顺序,位于“第 14 章 — Aldric 得知真相”,效忠设为 Ashen Circle。(如果你的世界库的叙事设置是显示正史值,这一步可以跳过,因为在你另行说明之前,读者默认知道正史。)
- 回头读一遍。效忠旁边现在显示“⟲ 2”。点开它:为什么效忠是这个值?的回答是记录于东墙暴乱。把查看设为“Rowan 宣誓加入卫队”:Crown Watch,Location 是 The Watch House,Member Of The Crown Watch 有效。设为暴乱:全部翻转。在宣誓那个时刻打开图谱,通向卫队的那条线还在;在“当前”,它不见了,关系标签页把它列在仅保留在历史中下面。
六步之后,从宣誓到暴乱之间的每一章,都可以对照那个时期的 Rowan 来核对,而不是最后一页的 Rowan。
常见错误
记录了变化,然后纳闷卡片为什么没更新。这是规则,不是 bug:记录描述的是过去。如果新值今天也成立,就在“当前”设好它。只有事件的影响、AI 审校和+ 添加一段从这里开始的关系提供至今仍然成立。
**记到了错误的轴上。**暴乱是世界时间点;Aldric 得知真相是叙事节点。如果你只在第 14 章记录了“Ashen Circle”,那么查看任何世界时间点都会显示卫队,因为世界从来没听说过这回事。要是这种事反复发生,三种“何时”那篇就是解药。
覆盖了一个本该是列表的文本字段。头衔、伤疤、语言都是一项一项变的。文本字段逼你每次变化都重新输入整个值,历史读起来就是四句略有不同的话。把它改成列表,用添加和移除。
删除关系,而不是结束它。Aldric 和 Rowan 的友谊结束了,于是你删掉了 Knows。现在第 1 章的图谱把他们画成了陌生人。在那个时间点用在这里结束…,或者在“当前”选择保留在历史中 —— 它已经结束了。
用同一时间点上的另一条记录去修正一条错误记录。一个时间点上两个值,是一致性检查会标出的矛盾。删掉错的那条,或者在过去的“查看”视图里用编辑设定此值的记录。
**把修订当成故事。**你把 Gilded Lantern 改名成了 Gilded Lamp;那是修订,不上时间线。如果酒馆是在故事里、在一场火灾之后改的名,那就是在火灾的时间点上对名称记录的一次变化。
Lokee 在这里不会替你做的事
记录不能原地编辑,也不能挪到另一个时间点;路线是删除再重新记录,或者在过去的“查看”视图里编辑值。AI 审校里选了“暂不确定”的变化,之后不能在历史标签页里补上时间点;同样是删除再重新记录。而且没有任何东西会替你推断“之前”:如果你只记录过“之后”,之前的每个时刻都会显示它并带着最早的记录,唯一的解药是起始值,由你亲手输入。把这些列在这里,是为了让你不必花十分钟去找一个不存在的按钮。
五分钟自查
每当一个场景改变了角色的某样东西,在继续往下写之前做这几件事:
- 确认这个时刻已经作为世界时间点存在(如果它是一次揭秘,也要作为叙事节点存在)。
- 在那里记录这次变化;如果这是该字段的第一条记录,还要在更早的时间点记录旧值。
- 如果关系那一侧也变了,把查看设为那个时间点,用在这里结束…或+ 添加一段从这里开始的关系。
- 如果它至今仍然成立,检查“当前”是否也是这样。
- 点击字段的 ⟲,读一读为什么是这个值?的回答。如果写的是直接输入,说明第 2 步没做。
每次变化花不到一分钟,回报则是:此前的每一章都可以对照当时的世界来核对。这个循环也能嵌进一天的写作里,边写边构建世界观讲了怎么做。帮助中心的随时间变化的条目和修订两节概述了同样的控件,角色时间线追踪页面则展示了它在整个角色群像中的样子。接下来,请在用故事事件规划情节中看看一个事件如何一次记录多项变化。