故事设定集很少在第一天就崩溃。它通常崩在第两百条左右:同样叫“位置”,一张卡片上写的是城市,另一张写的是酒馆,第三张干脆是一句随手记下的“好像在码头附近?”;一半派系打了标签,另一半没有;家族树上只显示了 Mira 的三个亲戚,第四个被漏掉了,因为他的关系类型被设成了“有关联”。到了那一步,想理顺结构,就得把每张卡片重新打开一遍。
下面这份故事设定集模板,就是我会在那一切发生之前搭好的东西:你需要哪些条目类型,它们带哪些字段,用哪些关系类型把它们连起来,以及条目多到三百个时怎样还能找得到东西。我设计 Lokee 时,特意让这里的每一个决定以后都可以改,而不会弄坏任何东西。但前期稍作设计,每一百个条目仍能为你省下一个晚上的整理时间。这话我说得有底气:我把自己的小说 Medalion 变成世界库时,那个整理的晚上是亲自熬过的。
贯穿全文的例子是演示故事《灰烬结社》(The Ashen Circle):城墙环绕的城市 Duskhollow 里的一个反抗网络,人物有 Rowan Ashe、他的姐姐 Mira Voss、Lady Iseult Varnhold、Magistrate Ophelia Crane(王室法官),还有一家名叫 Gilded Lantern 的酒馆。如果你的世界还是一张白纸,请先读小说世界观设定怎么开始,再回到这篇;这里我默认你已经大致知道书里有谁。
从你会提的问题出发,而不是从一张空表单出发
在打开设置之前,先写下你在写作中途可能会向故事设定集提出的问题。以《灰烬结社》为例,大概是这样:
- 卫队突袭 Gilded Lantern 酒馆时,Rowan 在哪里?
- Varnhold 家里有谁知道那本账本?
- 哪些角色属于 Ashen Circle,哪些只是与它合作?
- Finn 的母亲被捕时,他几岁?
每个问题都指向一块结构。“在哪里”需要一个指明地点的字段。“谁属于”需要一个含义明确的关系类型。“几岁”需要一个用你世界里的历法记录的出生日期。“谁知道”则是关于时间和读者的问题,三种“何时”那篇指南会讲到;但它同样要求相关的人物和关系先存在。
凡是不会出现在任何问题里的内容,都可以留在描述里。只有当你会在不同条目之间比较它、按它筛选、或观察它的变化时,一个字段才算物有所值。
你到底需要几个条目类型?
条目类型位于设置 → 结构 → 条目类型。每个类型有名称、颜色、形状(圆形、方形、菱形或三角形)、自己的字段,以及一个在图谱中默认隐藏开关。
演示故事用了三个类型:Character(角色)、Location(地点)和 Faction(派系)。这个规模对大多数小说来说已经很接近合适了。常见的错误是按角色功能建类型:反派、恋爱对象、导师、守卫。角色功能在一本书里会变,而一个条目只能有一个类型,所以按功能划分的类型会在你的导师叛变的那一刻立刻变得不对。类型用来描述一样东西是什么(一个人、一个地方、一个组织、一件物品、一个事件),功能则放进字段、标签或关系里。
三条规则在规模变大后依然站得住:
- **给每个类型独有的颜色和形状。**图谱用它们来绘制每个条目;只靠颜色区分,对一部分读者以及打印出来的图都行不通。
- 在图谱里隐藏数量庞大的类型。如果你为次要物品或只出场一次的路人建了类型,就勾选在图谱中默认隐藏,让关系图谱保持清晰可读。需要时,类型筛选按钮能把它们找回来。
- **合并,不要删除。**只要还有条目在用某个类型,Lokee 就不会删除它(“无法删除 —— 有 12 个条目正在使用此类型。”)。先把这些条目移到别的类型;类型承载着条目所依赖的字段定义。
哪种字段类型对应哪种问题?
在类型里点击**+ 添加字段**。每个字段都有名称,以及七种字段类型之一:文本、数字、是/否、日期、列表、故事日期和地点。字段类型决定了 Lokee 能用这个值做什么,所以它是这个页面上影响最大的选择。
| 字段类型 | 适合用来记录 | 能带来什么 |
|---|---|---|
| 文本 | 头衔、效忠对象、眼睛颜色、一句话的状态 | 随时间变化的历史、搜索 |
| 数字 | 年龄、军衔等级、兵力 | 比较、历史 |
| 是/否 | 是否在世、是否已婚、是否知道秘密 | 在历史中清楚地区分前后 |
| 日期 | 现实日期,年份从 0001 到 9999 | 时间线轨道、按日期范围筛选 |
| 列表 | 语言、拥有的头衔、技能 | 记录变化时可以添加或移除单个项目 |
| 故事日期 | 你自创历法中的日期 | 每种历法一条时间线轨道,没有年份限制 |
| 地点 | 某人住在哪里、此刻身在何处 | 链接到地点条目、地图、“同时在两处”检查 |
其中三个选择值得细看。
故事日期还是日期。日期字段用的是浏览器自带的日期选择器,往后到 9999 年为止,往前到 1 年为止。如果是虚构世界,先在设置 → 结构 → 历法系统里定义一种历法(一个名称加上按顺序排列的单位,比如演示中的“Ashen Calendar”,单位是 Era、Year 和 Day,即纪元、年和日),然后使用故事日期字段。每种历法都会在时间线上成为单独的一条轨道。演示中的 Character 类型就有一个这种类型的 Born(出生)字段:Rowan 生于第 2 纪元第 44 年第 22 日。每一段都请用零到几十万之间的整数;负数年份和特别大的数字目前排序会出错。为虚构世界构建历法与时间线一文会讲得更深入。
**列表还是文本。**凡是会不断累积的东西(头衔、语言、伤疤),都用列表。以后当你记录 Iseult 在某个时刻获得了一个新头衔时,列表让你可以只记录“添加这一项”,而不必把整个值重新输入一遍,历史读起来也就是一连串的获得与失去。
表示位置时,用地点字段还是文本字段。这是人们最常后悔的决定。地点字段(在卡片上显示为选择地点…)指向你世界库中的另一个条目,所以 Gilded Lantern 就是一样东西,而不是同一个名字的五种写法。它可以用在地图上标注钉在地图上的某个精确位置;在任何画出了这个地点的地图上,它都会把相关角色显示出来;一致性检查也会用它来发现某人同时出现在两个地方。演示给 Character 和 Location 都设了一个名为 Location 的地点字段:Rowan 的 Location 是 Gilded Lantern,Gilded Lantern 的 Location 是 Tarnside,Tarnside 的 Location 是 Duskhollow。正是这条链,让城市地图能显示 Rowan 在酒馆里,而更大范围的地图则显示他在 Tarnside 某处。
每个字段旁边的四个复选框
每一行字段都有四个复选框。它们很容易被忽略,但很重要。
- 必填会随字段一起保存。目前 Lokee 并不会阻止你保存这一项为空的条目,所以请把它当作写给自己和合著者的提示:每个条目都应该填写哪些字段。
- 在家族树上显示会把该字段的值印在家族树中这个人的卡片上。每个类型最多可以显示三个字段,常见的是出生日期、头衔和家族。
- 表示某人所在的位置告诉 Lokee 这个字段记录的是一个地点。Lokee 无法猜出“Whereabouts”“Lieu”或“所在地”指的是地点,而一致性检查必须先知道这一点,才能发现某人同时出现在两个地方。地点字段会自动计入;在保存地点信息的文本字段上勾选这一项即可。
- 家族树标记会把字段变成一组选项,每个选项都有标签、符号和颜色:比如人类、精灵和半兽人,或者一部家族史诗中的各大家族。之后你可以在条目上按百分比分配这些值,混合血统就是这样显示在家族树上的。家族史诗与继承一文展示了实际用法。
有了条目之后再添加字段
你一定会在已经有条目之后再添加字段。谁都会。这时打开类型,添加字段,保存,然后点击补齐缺失字段。Lokee 会把这个空字段添加到该类型的每个现有条目上,并告诉你更新了多少个条目、多少个条目本来就有全部字段。如果不补齐,旧条目只有在你手动添加时才会有这个字段。
关系类型:一个类型只表达一种含义
关系类型位于设置 → 结构 → 关系类型,你也可以在条目的关系面板中用**+ 新建关系类型…**当场创建一个。每个关系类型都有:
- 一个内部标识(snake_case),例如
member_of,这是类型的内部标识符; - 一个显示标签,例如“Member Of”,这是你实际看到的名字;
- 一个可选的聚类关系标记,它会让图谱布局中相连的条目靠得更近;
- 推荐的条目类型(仅作提示,不强制);
- 一个在地图上的角色;
- 一个家谱角色;
- 连线颜色、线条样式(实线、虚线或点线),以及连接强度。
演示中有六个关系类型:Knows(认识)、Sibling Of(兄弟姐妹)、Parent Of(父母)、Member Of(隶属于)、Allies With(结盟)和 Rival Of(敌对)。注意这里没有什么:没有“有关联”,也没有“与……相连”。含糊的关系类型就相当于一个名叫“备注”的文本字段:它只记录了“这里有点什么”,却回答不了任何问题。
方向同样重要。Lokee 存储的关系是从第一个条目指向第二个条目,标签应该在这个方向上读得通:Rowan Member Of Ashen Circle(Rowan 隶属于 Ashen Circle),Cassian Parent Of Iseult(Cassian 是 Iseult 的父亲)。每个类型只定一次方向,然后始终遵守。
让关系真正发挥作用的角色设置
有三项设置,能把一个关系类型从图谱上的一条线,变成 Lokee 其他部分也能理解的东西。
家谱角色。选择父母、子女、伴侣、兄弟姐妹或其他亲属,或者保持不在家谱中。“父母”表示第一个条目是第二个条目的父母;“子女”表示第一个条目是第二个条目的子女。家族树完全是由这些角色构建出来的,所以如果一条亲子关系用的类型没有设置角色,它就根本不会出现在家族树上。如果你写的是家族史诗,请在添加第一个家族之前就设置好角色,并且只用一个“父母”类型,而不是分别建“父亲”和“母亲”两个类型,除非你的故事确实需要这种区分。
在地图上。选择表示某物所在位置(位置),表示第一个条目位于第二个条目之中,比如“驻扎于”。选择表示归属于谁(归属),表示第二个条目拥有第一个条目,比如“统治者为”;与被拥有条目相关联的区域会以拥有者的颜色绘制,图案在绘制为下选择(填充、斜线、交叉线、圆点或仅边框)。“位置”角色会把人物放到地图上,但只有字段才会为“同时在两处”检查标记某人的位置,所以对会移动的角色,请优先使用地点字段。为不断变化的世界绘制地图一文用“归属”来表示领土。
推荐的条目类型。给 Member Of 勾选 Character 和 Faction,并不会禁止任何东西。它的作用是:只要关系的一端是 Character 或 Faction,Member Of 就会出现在类型选择器顶部的推荐分组里。在一个有二十种关系类型的世界库里,这就是选对类型和随手选了第一个之间的差别。
聚类关系适合成员类的关系类型。演示把 Member Of 设为聚类关系,于是 Crown Watch 和 Ashen Circle 各自把成员吸引到一起,形成清晰可见的群组。
条目到了 300 个,怎样还能找到东西?
类型说明一样东西是什么。文件夹、标签和别名则决定你还能不能再找到它。(如果你的素材还散落在笔记本和聊天记录里,世界观设定笔记怎么整理讲的是怎样把它们搬进世界库。)
文件夹
每个条目可以放在一个文件夹路径下。在条目卡片上点击选择文件夹,输入类似 book1/chapter3 的路径;或者在列表中选中多个条目,使用移入文件夹。侧边栏的文件夹树就会显示出层级结构,最上面是全部条目和未归类。文件夹本身不能被重命名或删除;只要里面还有东西,文件夹就存在。因此,最好选择以后不需要改名的路径:系列作品按书和故事线分,架空世界按地区分,而不要按那些写到一半就会改名的东西来分。
标签
标签必须使用 type:value 格式。不带冒号的标签会被 Lokee 拒绝,并给出示例 faction:house-lannister。这条规则其实是件好事:它逼着你说清楚每个标签是哪一类标记。对《灰烬结社》来说:secret:ashen-circle 标记暗中为 Ashen Circle 做事的人,pov:rowan 标记视角人物,status:draft 标记你还没核对过的条目。之后你可以用标签(type:value)筛选侧边栏搜索,时间线的筛选里也提供标签筛选。匹配是精确的,所以要尽早统一写法:pov:rowan 和 pov:Rowan 是两个不同的标签。
标签适合那些不值得建立一条关系的横向事实。如果“暗中为 Ashen Circle 做事”这件事会在书中发生变化,就把它放进字段或关系里。标签没有历史。
别名
Sera Nightingale 以“Kestrel”的名号行事,Ashen Circle 里的大多数人只知道她这个名字。用添加别名…把“Kestrel”加到别名下。别名不是装饰:输入 Kestrel 时,搜索面板(Ctrl+K 或 ⌘+K)会找到 Sera;在写作台里用 @ 提及时,会把她作为候选;被动提及建议会在你的稿件中给“Kestrel”加下划线,提示可以链接到她;AI 提取也会把这个名字匹配到她身上,而不是再创建一个人。你现在加上的每一个昵称、当作名字使用的头衔(“the Magistrate”)和异写,都是以后不必再合并的一个重复条目。
状态时间线只是草稿区
每张卡片上还有一个状态时间线区域,里面有“里程碑”和“发生了什么变化…”两个输入框。它用来随手记录某个角色当前的处境。它永远不会改变任何值,“查看”控件也不会读取它。当一个值真的发生变化,头衔、效忠对象或者住处,请改用该字段旁边的记录一次变化…,具体做法见记录变化,而不是覆盖。
为《灰烬结社》搭建故事设定集模板:一步一步来
如果要在一个空的世界库里从头搭建演示故事的结构,我会按这个顺序来,然后一路做到最初的几张卡片。
- **先建历法。**设置 → 结构 → 历法系统 → + 添加历法系统:“Ashen Calendar”,单位依次为 Era、Year、Day。
- **类型。**Character(靛蓝色圆形)、Location(绿色方形)、Faction(琥珀色菱形)。只有当某件物品对情节真正重要时,再添加 Object(物品)类型。
- 角色字段。Born(故事日期)、Location(地点)、效忠(文本,一个会随时间改变的单一值)、头衔(列表)。为 Born 勾选在家族树上显示。
- **地点字段。**Location(地点),这样每个地方都能归属于一个更大的地方。
- **关系类型。**Knows、Sibling Of(家谱角色:兄弟姐妹)、Parent Of(父母)、Member Of(聚类关系,推荐用于 Character 和 Faction)、Allies With、Rival Of(红色、虚线)。给 Knows 设一个较低的连接强度,免得它主导整个布局。
- 文件夹。
characters/circle、characters/watch、characters/varnhold、places/duskhollow。 - 标签。
pov:用于视角人物,secret:用于隐藏的效忠关系。
接着是最初的几张卡片。先添加 Duskhollow,再添加 Tarnside,Location 设为 Duskhollow,然后是 Gilded Lantern,Location 设为 Tarnside。添加 Crown Watch 和 Ashen Circle。然后是 Rowan:Born 填第 2 纪元第 44 年第 22 日;Location 选 Gilded Lantern;效忠填“Ashen Circle”;标签 pov:rowan;文件夹 characters/circle。用同样的方式添加 Mira,然后从 Rowan 到 Mira 画一条 Sibling Of,从 Rowan 到 Ashen Circle 画一条 Member Of。再添加 Duke Cassian(卡西安公爵)和 Lady Iseult,从 Cassian 到 Iseult 画一条 Parent Of。
然后检查结构是否尽到了职责。打开图谱:Rowan 和 Mira 紧挨着 Ashen Circle,因为 Member Of 是聚类类型。打开家族树:Cassian 站在 Iseult 上方,因为 Parent Of 带有“父母”角色;Rowan 的卡片上显示着出生日期,因为 Born 勾选了在家族树上显示。打开一张 Duskhollow 的地图,其中酒馆的形状已经关联到它的条目:Rowan 就站在那里,因为他的 Location 是地点字段。在搜索面板里输入“Kestrel”,Sera 出现了。哪一项没通过,修法都只是“结构”里的一个设置;现在只有八张卡片,改起来比以后三百张便宜得多。
常见错误与修正方法
结构会慢慢走样。下面这些信号值得你采取行动,每一条都附了修法。
- **同一个事实出现在两个字段里。**如果一个类型上有两个同名的日期字段,而它们记录了相同的日期,一致性检查就会列出一条“Conflicting”发现。保留一个,然后补齐。
- 文本字段里填满了地名。在开始记录人物移动之前,把它们改成地点字段,或者至少勾选表示某人所在的位置。事后再改,此前针对文本字段记录的每一次移动都只是一串没人能画到地图上的文字。
- **按角色功能建类型。**你的“导师”类型里出了一个叛徒。把这些条目移到 Character,添加一个效忠字段或一条 Rival Of 关系,然后删除空掉的类型。
- 使用次数少于三次的关系类型。侧边栏里的关系页面会在每个类型旁边显示使用次数;只用过一两次的类型,通常是另一个类型被贴错了标签。把那几条改成正确的类型,再删掉多出来的那个。
- “未归类”文件夹越来越大。选中列表,点移入文件夹,搞定。
- **同一个人有两张卡片。**把第二张卡片上用过的称呼作为别名加到第一张上,把值得保留的内容挪过去,然后删除重复的那张。在桌面应用的本地世界库里,合并重复项页面会替你找出这类成对的条目;云端世界库目前还没有这个功能。
- **什么都写在描述里。**如果你总在描述里搜“住在”,那这个事实其实想要一个字段。添加它,补齐,然后每碰到一张卡片就顺手填上。
Lokee 在这里不会替你做的事
Lokee 不会替你设计结构。如果你通过引导式设置创建世界库,它会请你选择一个起点(小说、世界观创作、家族传奇、历史,以及另外几种),每个起点都自带一组类型,下一步就可以编辑。模板能帮的忙到此为止。应用里没有任何东西知道你的这本书需要一个效忠字段,或者“统治者为”需要归属角色;这些来自你最初写下的那些问题。速记在提交时,如果提取出的东西不属于你现有的任何类型,会自动新建一个条目类型。这很方便,也正因如此,一轮长时间的速记之后值得去设置 → 结构看一眼:从一条语音笔记里生出来的类型,很少会带着你本来会给它的那些字段。
还有两个小限制。必填只是记录下来,并不强制。而且设置里没有办法为自定义类型配一个反向类型:一条设为 Mentor Of(导师)的关系,从学生那一侧看过去也还是 Mentor Of。预置的亲属类型是例外(Lokee 会自己把 Parent Of 和 Child Of 配成一对),这也是又一个理由:亲属关系用预置类型,别自己发明。
五分钟自查
如果你已经有一个世界库,想知道它的结构撑不撑得住:
- 打开设置 → 结构 → 条目类型。每个类型都是“一种东西”,而不是一种角色功能吗?每个类型的颜色和形状都不一样吗?
- 对每个类型,找出保存地点的那个字段。它是地点字段吗?或者是勾选了表示某人所在的位置的文本字段?
- 打开关系类型。每一种亲属关系都有家谱角色吗?有没有一个含糊的“有关联”类型?如果有,它最常见的三种用法是什么?
- 打开条目列表,看看未归类。超过一屏?选中,移入文件夹。
- 搜索主角的昵称。什么都没搜到?把它加到别名下。
接下来读什么
类型、字段和关系都就位之后,下一步是时间:现在什么是真的,在你的世界里某个时刻什么是真的,以及到某一章为止读者知道了什么。接下来请读三种“何时”,然后读记录变化,而不是覆盖。帮助中心的条目与关系和世界库设置两节介绍了其余的按钮。想看看上面这套设置在卡片填好之后的样子,可以在演示里打开《灰烬结社》,看看它的“结构”设置。