跳到主要内容
LokeeLokee

三种“何时”:现在什么是真的、它何时发生、读者何时得知

叙事顺序、时间顺序,以及“现在什么是真的”:把这三种“何时”分开,闪回、揭秘和改稿就不会再变成前后矛盾。附完整示例与常见错误。

作者:Paweł Arent,Lokee 开发者阅读约 14 分钟

小说里的大多数连贯性错误并不是事实写错了,而是时间弄错了。Iseult 是叛军,可她从什么时候开始是的?Rowan 知道姐姐在传递消息,可他在第一章就知道吗?读者已经被告知 Magistrate Ophelia Crane 怀疑 Rowan,还是说,这份怀疑只存在于你的笔记里?一份每个事实只存一个值的故事设定集,回答不了上面任何一个问题,因为它把三个不同的问题塞进了同一个格子。

常见的说法是叙事顺序与时间顺序之分:书讲述事情的顺序,对照事情发生的顺序。这是三种里的两种。第三种是现在什么是真的,也就是每一轮修改之后,你脑子里的那个版本。Lokee 把这三者分开。当前是你在卡片上输入的内容。在你的世界里是某件事在故事事件的年表中何时成立。对读者而言是你的稿件何时让读者得知它。

这篇指南会告诉你这三者各自在应用里的位置,并带着一个秘密走完全部三种“何时”,让你看到为什么把它们分开,闪回、不可靠叙述者和慢慢揭开的秘密才会变得可控,而不是危机四伏。例子来自演示故事《灰烬结社》(The Ashen Circle):Lady Iseult Varnhold 表面上效忠王室,暗中却资助反抗组织 Ashen Circle;读者在第 2 章“A Daughter's Ledger”(女儿的账本)中发现了这一点。

一个事实,三个答案

假设 Iseult 的卡片上有一个名为“效忠”的文本字段(搭建一份经得起扩展的故事设定集介绍了怎样添加)。

  • 当前:你输入的是“Ashen Circle”。这是你现在所理解的这本书的真相。Lokee 中没有任何东西会背着你修改它:不论是已记录的历史、AI 提取,还是时间线。
  • 在你的世界里:在她开始把粮食偷偷转运到 Undercroft 的那个冬天之前,她一直效忠王室。在 Lokee 里,那个冬天是一个世界时间点,名叫“第一个运粮之冬”,而效忠变为 Ashen Circle 这件事就记录在那里。她效忠王室的过去也会被记录下来:在更早的世界时间点(比如“Iseult 成年”)记为“王室”。
  • 对读者而言:第 1 章只把她写成公爵那位尽职尽责的女儿,读者要到第 2 章她翻开账本时才得知真相。这是两个叙事节点,每章一个,读者看到的版本(先是“王室”,然后是“Ashen Circle”)就记录在这两个点上。

问一句“Iseult 效忠谁?”,你会得到三个正确答案,取决于你指的是哪一种“何时”。查看“Iseult 成年”,显示的是王室。查看第 1 章,显示的也是王室,不是因为这是真的,而是因为这是读者被告知的内容。查看当前,显示的是 Ashen Circle。这些都不矛盾。这就是揭秘。

记录“之前”,而不只是记录变化

有一条规则几乎让每个人都感到意外:Lokee 从不凭空编造过去的值。如果你唯一记录的是“在第一个运粮之冬变为 Ashen Circle”,那么查看任何更早的时刻时,显示的都会是 Ashen Circle,并带有最早的记录标记:也就是时间上最早的那条记录,并且明确标注出来。想让过去显示“王室”,就要在更早的时间点记录“王室”。读者这一侧也一样:在一个没有任何记录的叙事节点上,字段会显示正史值或者什么都不显示(取决于下文介绍的一项世界库设置),并标记为尚未记录。每个秘密两条记录,之前和之后,视图才会说真话。

示意图:三种“何时”——当前、在你的世界里、对读者而言当前卡片在你的世界里世界时间点对读者而言章节中的叙事节点Lady Iseult Varnhold效忠:灰烬结社王室灰烬结社战前第一批粮食运送第 1 章第 2 章第 3 章王室灰烬结社◆ 账本
一个事实,三种答案:卡片保存你填写的值,世界时间点记录它何时成真,叙事节点记录读者何时得知。

当前:你输入内容的那张卡片

“当前”就是普通的条目卡片。当你在查看设为当前(默认值)时打开 Iseult 的页面,每个字段都可以编辑,每次编辑都会直接替换原来的值。这正适合修正错别字,或者改主意决定她的眼睛是什么颜色;修订页面会记录这类编辑,让你看到世界库是怎样一步步变成现在这样的。

“当前”不是历史。在“当前”把“王室”改成“Ashen Circle”,并不能说明她是何时倒戈的。如果你选择覆盖而不是记录,世界库就会忘记曾经有过一个“之前”。记录变化,而不是覆盖会详细讲解这个区别;在这里你只需要知道:“当前”属于你,Lokee 永远不会自行修改它。

在你的世界里:时间线上的世界时间点

你的世界的年表,是时间线页面上世界年表一节中的一串世界时间点。这一节的提示用一句话道出了全部理念:“重要的是顺序,日期可填可不填。”

添加一个世界时间点:

  1. 从侧边栏打开时间线。
  2. 在“世界年表”下输入名称(“第一个运粮之冬”),然后点击添加时间点。你的第一个时间点还会同时创建一条时间线来容纳它,名为“正史”。
  3. 用向前移动和向后移动把它放到其他时间点之间的合适位置。这里不能拖拽;箭头是刻意设计的,因为顺序正是 Lokee 所信任的东西。
  4. 可以在日期(可选)下为它加一个日期:无日期、现实日期(可附带时间(可选)),或者你自己的某种历法,比如演示中的 Ashen Calendar,单位是 Era、Year 和 Day。
  5. 如果这是一个你希望突出的转折点,勾选重要时间点。

如果日期与顺序不符,Lokee 会提示“此日期早于上一个时间点的日期。已保留你设定的顺序。”,并且不做任何改动。这种克制很重要。闪回、角色日记里记错的日期、真正的笔误,从外面看完全一样。只有你知道是哪一种。

时间点分得很细也没关系。一场围城可以有“第 1 天,黎明”和“第 1 天,黄昏”;一次盗窃可以每个房间一个时间点。为那些发生变化的时刻创建时间点,而不是为每个场景都建一个。时间点也可以从另一个方向产生:当你把一个故事事件放进世界时间时(用故事事件规划情节有介绍),Lokee 可以替你创建时间点,并在每个列表里用事件的名称标注它。

时间线为同一组时间点提供两种视图:顺序,按你排列的顺序显示,附带事件和时期;以及日历,按日期排布,每种历法一条泳道,没有日期的时间点则保留在“前后相邻的时间点之间”。为虚构世界构建历法与时间线一文会介绍这两种视图,架空历史与分支时间线一文则会介绍用于事件另一种版本的**管理时间线 →**链接。

对读者而言:写作台中的叙事节点

阅读顺序就放在阅读发生的地方:写作台。打开一个章节,在工具栏中选择视图,再选叙事顺序。(只有打开了章节时才会出现这一项,因为叙事节点就是章节内部的一个位置。)面板上的提示写着:“按读者了解事件的先后排列,而非事件发生的时间。”

  1. 给节点命名。占位文字提示“例如:罗恩得知真相”;在我们的例子里,就叫“Iseult 翻开账本”。
  2. 在关联位置下,保留整章,或者选择该章中的某个标题,让节点落在场景分隔处,而不是章节开头。
  3. 点击添加节点,然后用向前移动和向后移动排列同一章里的多个节点。

如果你之后重命名或删除了某个节点所关联的标题,这个节点不会消失,也不会跳到相邻的位置。它会退回到章节层级,并明确告诉你这一点,由你重新选择标题。一个粗略但诚实的答案,胜过一个精确但错误的答案。

叙事节点按你的稿件目录排序:第 2 章的节点永远排在第 1 章之后。调整章节顺序,读者的时间线也会跟着重新排序,而世界年表则纹丝不动。这种独立性正是关键。这两种顺序本来就应该不同。

“查看”控件:选择你要看哪一种“何时”

在条目页面、图谱、时间线和每张地图的顶部,都有一个标为查看的控件。它的列表包括:

  • 当前;
  • 每条时间线一个分组,主时间线显示为世界 — 正史,以起始开头,后面按顺序列出所有世界时间点(在这些时间点开始或结束的事件会在旁边注明);
  • 一个稿件中分组,以“章节 — 节点”的形式列出所有叙事节点。

选择一个世界时间点,每个显示该控件的页面都会按那个时刻作答:卡片显示 Iseult 当时的各项值,关系标签页显示哪些关系当时有效,图谱画出那一刻的联系,地图则把角色放在他们当时所在的位置。选择一个叙事节点,卡片就会显示到那里为止稿件已经告诉读者的内容。

有几条规则让它保持可预测:

  • 过去只供查看。离开“当前”后,卡片就是历史的视图。页面会提示“当前值不会改变;编辑前会请你选择如何记录修改。”如果你仍然编辑某个字段,Lokee 会问如何记录这次修改?,并提供两个选项:在那个时刻记录一项变化,或者编辑设定此值的记录。两者都不会动到“当前”。
  • **只在本次会话中有效。**这个选择按世界库保存在浏览器会话里。刷新后依然保留,开启新会话则从“当前”开始。你不会在下周打开世界库时,一不小心往过去里打字。
  • **只有在有东西可选时才会出现。**一个既没有世界时间点、也没有叙事节点的世界库,根本不会显示“查看”控件。历史是可选的;从不使用它的世界库,看起来和原来没有任何区别。
  • **时间线只跟随世界时间点。**在时间线页面选择一个稿件中的时间点,会显示一条提示:时间线展示的是世界年表;叙事节点和对比功能适用于条目页面。
  • **并非处处都有。**写作台和故事事件页面没有这个控件。写作台的地图面板会跟随你正在写的章节,而不会改变世界库其他部分正在查看的时刻。

一些标记可以解释那些可能让你困惑的值:查看第一条已记录变化之前的时刻时显示最早的记录;没有任何历史的字段显示无历史 — 当前值;在你还没记录读者被告知了什么的叙事节点上显示尚未记录。

对比:两个时刻并排查看

点击对比…,控件会分成左右两侧,中间用“对比”隔开。在条目页面上,有差异的行会被高亮,一眼就能回答“第 1 章和第 3 章之间变了什么?”或者“运粮之冬改变了什么?”。在地图上,对比会为每个移动过的人画出箭头。停止对比回到单个时刻;返回当前回到“当前”。

读者还没被告知的内容

叙事节点带来一个问题:在一个你什么都没记录的叙事节点上,字段应该显示什么?Lokee 让你在设置 → 写作 → 尚未记录读者所知内容时中按世界库决定:

  • 显示正史值:在你另行记录之前,默认读者看到的就是真相。适合揭秘只是例外的、情节直白的书。
  • 不显示值:在你记录稿件呈现了什么之前,什么都不显示。适合悬疑小说,因为“默认读者已经知道某件事”恰恰就是你想抓出来的那种漏洞。

无论选哪一种,这个字段都会被标记为尚未记录,而不是“未知”,因为 Lokee 无法知道你的文字暗示了什么。

在条目的历史标签页上,呈现于一栏可以快速审查单个角色:在稿件中选一个时间点,就能逐个字段看到读者到那时被告知了什么、是从哪个时间点开始的,以及旁边正史中的值是什么。

叙事顺序与时间顺序:分开之后能避免的错误

把三种“何时”混在一起,会造成一些具体而常见的错误。把它们分开,就能逐一防止。

**过早泄底。**你在写第 5 章时把 Iseult 的卡片更新为“Ashen Circle”,然后开着卡片重读第 1 章,结果在一个读者理应仍然信任她的场景里,不小心让她用叛军的方式思考。有了叙事节点,查看第 1 章时显示的是王室。卡片告诉你读者在那一刻相信什么,而这正是你修改那一章时需要的。

穿越时间的事实。在一个发生于 Rowan 加入卫队之前的场景里,他却带着卫队的印章戒指,因为他的卡片上写着他有。有了世界时间点,查看那个更早的时刻,就会显示字段当时的样子。如果你只记录了他拿到戒指的那一天,更早的视图仍会显示这枚戒指,但会标记为最早的记录,这是在提示你去记录他之前的状态。

**“修正”顺序的闪回。**第 9 章的一段闪回讲的是运粮之冬。如果只有一条时间线,既要表示阅读顺序又要表示年表,你就只能把运粮之冬放在第 8 章的事件之后(世界错了),或者把第 9 章标成发生得很早(书错了)。有了两条轴,这段闪回只不过是第 9 章里的一个叙事节点,呈现的是早期某个世界时间点上的事情。

**被遗忘的揭秘。**你知道读者在第 2 章得知账本的事,你的合著者却不知道。为它建一个有名字的叙事节点,揭秘就成了稿件中一个看得见的对象,而不只是你脑子里的一句话。一致性检查会把这类地方列在“读者还不知道”下面:这是提示信息,从来不是错误。

**悄无声息的改写。**你决定 Iseult 倒戈的时间比原先设想的晚一年。有了世界时间点,你删掉一条已记录的变化,在另一个时间点重新记录一次。没有它们,你就得改写十几条笔记,并祈祷自己没有漏掉哪条。

Iseult 的秘密,从头到尾

下面是整件事做一遍的过程,按我自己会采用的顺序,在一个只有 Iseult 的卡片和一个效忠字段、别的什么都没有的世界库上。

  1. **两个世界时间点。**在时间线上添加“Iseult 成年”,然后添加“第一个运粮之冬”。第二个会排在第一个下面,正是你要的顺序。不需要日期。
  2. 两个叙事节点。在写作台里打开第 1 章,在视图 → 叙事顺序下添加“Iseult 在公爵的餐桌旁”,关联到整章。打开第 2 章,添加“Iseult 翻开账本”,关联到账本那场戏的标题。
  3. 世界的版本。在 Iseult 的卡片上,点击效忠旁边的记录一次变化…。选择“Iseult 成年”,值填“王室”。记录。再来一次:“第一个运粮之冬”,值填“Ashen Circle”。
  4. **读者的版本。**同一个链接,再点两次:在“第 1 章 — Iseult 在公爵的餐桌旁”,值填“王室”;在“第 2 章 — Iseult 翻开账本”,值填“Ashen Circle”。
  5. **核对“当前”。**它仍然写着“Ashen Circle”,因为记录从不会碰它。如果它写的是别的,你就在这里、在“当前”把它改对。
  6. 看一看。把查看设为“Iseult 成年”:王室。设为“第一个运粮之冬”:Ashen Circle。设为第 1 章:王室。设为第 2 章:Ashen Circle。点击对比…,左边放第 1 章,右边放第 2 章,效忠就是那一行被高亮的字段。那行高亮,就是揭秘本身,一个你可以用手指点到的对象。

四条记录,四个时间点。之后的一切,第 9 章的闪回、Rowan 想明白的那一刻、Ophelia 的怀疑,都不过是同样的事再做一遍。

常见错误

只记录“之后”。最常见的一个。之前的每个视图都会显示新值,旁边带着最早的记录,于是大家把它当成 bug。其实那是 Lokee 拒绝瞎猜。把“之前”记录下来。

**把读者的版本记到了世界轴上。**Iseult 在第 3 章对 Ophelia 说的不在场证明不是世界里的事实;它是读者听到的东西。把它记录在叙事节点上。让推理小说保持公平整篇指南都围绕着这个区别。

每个场景都建一个时间点。“查看”列表会变成一堵墙。在有东西发生变化的地方建时间点。一章里没有任何人的事实发生变动,就根本不需要世界时间点。

**相信日期多过相信顺序。**当 Lokee 提示日期早于上一个时间点时,大家往往去改顺序来迁就日期。有时候笔误的是日期。决定你对那个时间点信任哪一个,并记住:所有视图都是按顺序运转的。

把状态时间线的笔记当成历史。卡片上的状态时间线框只是草稿区;“查看”不读它。想在过去某个时刻看到它,就得把它变成一条已记录的变化。

不小心改了过去。好消息是:你改不了。过去时刻的卡片在任何事发生之前都会先问如何记录这次修改?。读一读那个问题;两个答案做的是不同的事。

Lokee 在这里不会替你做的事

Lokee 不会读你的文字来推断读者知道什么。叙事节点和在节点上呈现的值都得由你来记录(AI 审校在提取出一项变化时,可以提议一个读者在哪里得知的章节,但仍然要你确认)。所以读者这条轴的完整程度,取决于你做到哪一步;合理的范围是情节所系的那三四个秘密,而不是书里的每一个事实。

写作台没有查看控件。你不能把编辑器设成“第 1 章”,然后让正文里的提及显示读者的版本;你得去看卡片,把“查看”设为那一章。而且这个控件只在本次会话有效,所以一轮跨越好几天的修改,意味着每天早上都要重新设一次。这是刻意的设计,可我自己也照样会忘。

给现有草稿的五分钟设置

你不需要把整本书都建模出来。从利害最大的地方开始:

  1. 在时间线上,为五到十个发生变化的时刻添加世界时间点:一次加冕、一次背叛、一次死亡、一次搬迁。
  2. 在写作台里,为每个包含揭秘的章节添加一个叙事节点,关联到该场景的标题。
  3. 对于那两三个秘密推动着情节的角色,在会变化的字段旁边使用记录一次变化…:在早期的世界时间点记录旧值,在发生变化的时间点记录新值;然后在读者被告知每个版本的叙事节点上,同样各记录一次。
  4. 把查看设为第 1 章,读一读这些卡片。任何让你意外的地方,要么是你忘了的揭秘,要么是你还没写出来的泄底。

如果你还在写初稿,世界随着写作不断长大,边写边构建世界观讲的是怎样在场景提出问题时顺手添加时间点和记录,而不是一次坐下来全部做完。

帮助中心的时间一节及其完整示例用另一组人物展示了同样的模型;随时间变化的条目列出了所有标记。演示世界库里有 Iseult 和其他人物的卡片,但还没有任何时间点或记录,所以它是个安全的地方,可以在碰自己的书之前先试试上面那四个时间点和四条记录。然后请继续阅读记录变化,而不是覆盖。

常见问题

故事时间线上的每个事件都必须标注日期吗?

不必。Lokee 以你排列世界时间点的顺序为准。日期只是可选的注释,可以用现实历法,也可以用自创历法;没有日期的时间点在任何地方都和有日期的一样好用。在日期对情节重要的地方标上日期,其余的只排顺序就好。

为什么查看过去某个时刻时,不能直接编辑角色卡片?

因为过去时刻的卡片是历史的视图,而不是当前值。在那里编辑字段时,Lokee 会先问你的意思:是在那个时刻记录一次变化,还是编辑之前设定该值的那条记录。无论选哪一种,当前值都保持不变。

怎样追踪读者在每一章知道了什么?

在写作台里添加叙事节点:打开一个章节,选择“视图”,再选“叙事顺序”,添加一个节点,关联到整章或章节中的某个标题。然后记录稿件在那个节点呈现了什么。之后,“查看”控件就能把任何卡片显示成读者读到那一章时所知道的样子。

“查看”控件会记住我的选择吗?

只在当前浏览器会话中记住。刷新页面后选择仍在;开启新会话时会重新从“当前”开始,这样你就不会在不知不觉中一边看着过去、一边编辑世界库。

叙事顺序和时间顺序有什么区别?

时间顺序是事情在故事世界里发生的先后。叙事顺序是稿件讲给读者听的先后。闪回,或者一段发生在多年以前的序章,正是两者分道扬镳的地方;只追踪其中一种的故事设定集,描述不了这种情况。

在你自己的故事里试一试

演示版在浏览器中运行,带有一个示例故事,无需注册账号。桌面应用把本地保管库保存在你的电脑上,免费使用。