角色与世界
这一页讲的是开局和世界本身:游戏开始时发生什么,主角怎么创建,世界里的人物、规则、时间和新发现怎么被记下来。
这一页按你在游戏里遇到这些插件的顺序介绍:先是开局会运行的四个,再是随着剧情不断更新的五个。
角色追踪、世界事实提取和维度更新会同时读取每段对白或动作的署名,区分 NPC 与玩家的行为。未署名、无法消歧的内容不应猜成玩家行为。正文和历史仍保持原样,模型提取的事实也仍可能判断错误。
| 插件 | 一句话 |
|---|---|
开局准备(pregame) | 开局时读取世界资料,准备第一段冒险 |
角色创建(char-creator) | 开局让你填写主角,并记录故事里的人物 |
角色资料(character-blueprint) | 保存世界预设的人物资料和立绘 |
世界维度(world-init) | 准备角色属性和世界维度,并持续更新 |
世界时间(world-time) | 记录世界里的日期和时段 |
世界规则(living-world-rules) | 展示世界里长期有效的规则和禁忌 |
设定图鉴(codex) | 自动整理新发现的地点、人物、物品 |
关系图谱(npc-graph) | 记录人物之间的关系 |
世界事实提取(world-ir) | 在后台整理每回合的事实,供别的插件用 |
NOTE
这一页的插件都没有需要玩家调整的设置,所以下面没有“可以调什么”。默认开着的插件(kind: core)可以在准备页关掉;其余插件由世界或方案决定,装法见安装与管理。
开局准备(pregame)
开局前先读一遍世界资料,准备好第一段冒险,并弹出一条欢迎通知。它不调用模型,几乎瞬间完成。
你会看到什么:一条“欢迎来到某某世界”的通知。
什么时候启用:默认开着(kind: core),可以在准备页关掉。
角色创建(char-creator)
开场角色模板须包含每个收集字段的占位符。模板和默认值错误属于可修正的 invalid-input,见角色工具。
是否已有主角按本次行动的角色判断,没有行动角色时取主座位的当前角色;建角姓名检查也只豁免这个角色,其他玩家角色的姓名仍算占用。
开局时引导你创建主角:给你一段到达世界的开场文字,再给你一张小表单,填完主角就进入故事。故事进行中,它还会把新出现的重要人物记成角色,并更新他们的状态、伤势和装备。
你会看到什么
- 开局的角色表单。第一栏是角色名,其余栏目最多再有三项,来自世界为角色定义的文字或选项类属性。数字类属性不在表单里填,用世界给的默认值。
- 右侧“角色”页签里的角色列表。每个角色是一张可展开的卡片,带头像,别名显示在名字下面,只读。类型徽标按界面语言显示“玩家”“NPC”“同伴”;世界自己定义的类型照世界里的写法显示。
什么时候启用:默认开着(kind: core),可以在准备页关掉。传统故事模式、对话模式和低成本都包含它。
注意
- 开场默认值会填回叙事供模型复核,职业或身份使用世界中的具体选择。发现重复措辞或“待定”占位值时,模型会先修改再显示表单。
- 每个可编辑字段都保留叙事占位符,提交后的开场使用你修改过的答案。模型把字段写成固定默认文字时,表单会先被拒绝并要求修正。
- 角色名不能和世界里已有角色的名字或别名重复。重复时表单会在名字下面提示,换个名字再提交即可。
- 如果世界后来不再接受你之前填的某些内容,表单会重新出现,仍然有效的答案已经填好,并说明原因。
- 故事里已有的人物不会被重复建档。叙事换了一个称呼,只会给原角色加上一个别名。
- 角色的名字、类型和简介受保护,不会被剧情里的转述或回忆改写。
角色资料(character-blueprint)
保存世界作者给人物写好的扮演说明:性格、说话口吻、秘密、与别人的关系。人物在这局游戏里时,叙事会照这份说明来演。说明里的“秘密”作为角色资料交给叙事,提示词要求避免提前揭露;这不构成数据访问隔离,见下方提醒。人物本身由世界的角色文件创建,没有这个插件也照样存在。
叙事只跳过主座位当前扮演角色的说明,其他玩家角色的说明照常提供。
你会看到什么
- “角色立绘”页签:每个角色的头像和立绘,可以上传一张图替换。
- 扮演说明没有自己的页签:人物在“角色”页签的角色列表里。游玩中不能新增或修改扮演说明。
什么时候启用:可选。对话模式包含它,雾港等自带角色的世界会把它加进自己的方案。传统故事模式和低成本不含。
NOTE
扮演说明里的“秘密”和规则存在公开的插件数据里。人物面板不显示它们,但右侧“数据库”页签会原样显示。不想剧透自己,就别翻那一页。
世界作者可以预置什么
| 内容 | 文件 |
|---|---|
| 人物的扮演说明 | characters/characters.json 里每个角色的 blueprint 字段 |
| 立绘映射 | media/presence.json |
| 立绘图片 | media/portraits/ |
立绘映射不要手写,它是生成立绘之后产出的,做法见角色立绘。字段和示例见世界数据,也可以在仓库根目录运行 pnpm describe:authoring 查看。
搭配:只有会话里已有角色记录的人物才会提供扮演说明,不要求人物当前在舞台上。每张卡每行最多 300 字符,整体篇幅有限;放不下时先删示例台词,再删规则。
世界维度(world-init)
维度工具把不符合 schema 的值报告为可修正的输入错误,见 update-dimensions。
开局时准备好这个世界的角色属性结构和“维度”。维度是世界里会被记录、可能变化的数据,比如声望、城墙状态、倒计时。游玩中,每回合结束后它按世界作者写的更新规则改动维度的值。
你会看到什么
- 右侧“世界资料”页签里的“总览”和“角色属性”。角色属性直接显示当前会话的角色属性定义;已有属性定义的存档打开就能查看。属性类型和分类徽标按界面语言显示。
- 维度的当前值也在面板里显示,可以手动改。如果某一回合的结算失败,面板会提示,你可以重试、标记已人工处理,或明确跳过。下一次行动前,系统会先自动重试一次。
什么时候启用:默认开着(kind: core),可以在准备页关掉。三个内置方案都包含它。
世界作者可以预置什么:在 data/dimensions.yaml 里声明维度的结构、初值和更新规则。写法见世界数据,维度怎么更新见动态世界维度。
注意
- 世界作者写的初值不会被游戏过程覆盖。每一局的当前值各自独立。
- 世界里已经有足够的数据时,开局不会重新生成,也不会重置已经变化的值。插件升级重跑开局准备时,只补上新增的维度,不重复写入系统消息。
- 随时间变化的维度(比如倒计时)会跟着世界时间走。
世界时间(world-time)
给世界一份自己的日历。每个回合故事结束后,它根据剧情判断过去了多久,更新日期和时段。下一回合的叙事开始前,它会把当前时间告诉叙事。
明确跳到某个时间时,工具计算它与当前时钟的差值;没有目标时才估计活动耗时。模型只读取本轮正文和当前时钟,避免把旧解释当作起点。
遥风学园的时间规则提供了午休、放学和社团活动的作息,供模型确定这些转场的目标钟点,并计入略过的课程和等待时间。
你会看到什么
- “世界时间”面板:当前时间。
- “时间规则”面板:这个世界怎么计时。第一个回合之前就能看到。它列出时段或历法、起点、时间往哪个方向走,以及每回合默认和最多推进多少。
- 没有文件目录的世界也能通过契约数据提供多语言的周期、纪年、时段和星期名称,规则面板会解析这些显示文字。
- 状态摘要里有一行“世界时间:……”。
- 输入
/time:查看当前世界时间。它只是读取,不调用模型,不推进回合。故事还没开始时会提示时间尚未记录。
什么时候启用:默认开着(kind: core),可以在准备页关掉。每个成功的叙事回合通常会多一次模型调用。
世界作者可以预置什么:data/time.yaml,写一个 id: world 和一份 definition。可以是只有几个时段循环的世界,也可以是有月和日的日历,还可以设定时间正着走、倒着走、双向走或随机走,并用一段话说明各种行动大约耗时多久。字段见世界时间。
注意
- 世界没有写时间时,用通用世界历:每年 12 个月,每月 30 天,一天 24 小时,从第 1 年 1 月 1 日 08:00 开始。这不是公历。
- 一局开始记录之后,时间定义就固定了。之后改世界文件,不会改变已有存档的时间,新开一局才生效。
- 叙事失败或回合回滚时,时间不会前进。
- 保存回合时会检查时间数据集中的结算记录;记录不合规时,跳过本轮时间结算,故事照常保存。
世界规则(living-world-rules)
展示世界里长期有效的规则:风俗、禁忌、法律、特殊设定。这些规则会进入提示词,让故事不要自相矛盾。
你会看到什么:右侧“世界资料”页签里的“世界规则”,只读。游玩中不能新增或修改规则。规则的类别徽标跟随界面语言显示。
什么时候启用:可选。三个内置方案都包含它。
世界作者可以预置什么:data/rules/ 下的 .yaml 文件,一个文件一组规则,按文件名顺序导入。每条规则写一件叙事不能违背的事,用平实的句子说清规则和后果。不要把已经由维度记录的数值再写一遍。字段见世界数据,也可以运行 pnpm describe:authoring。
设定图鉴(codex)
故事里第一次出现有名字的地点、人物、物品、技能、传说或怪物时,自动记进图鉴,之后随时翻看。同一个名字再次出现,只会补充原有词条,不会重复建。
你会看到什么:右侧“图鉴”页签:可以搜索,按人物、地点、物品、技能、传说、怪物分类,底部显示“共 N 条记录”。每个回合下方还会有“本轮发现”卡片。词条徽标与分类页签按界面语言显示同一套名称,稀有度的强调色由图鉴面板设定。
什么时候启用:可选。传统故事模式包含它。需要“世界事实提取”,装上它时会一起启用。
注意
- 它很挑剔:宁可漏记,也不记错。一回合最多记 3 条,多数回合什么都不记。
- 角色的状态和关系不记在这里,那是角色创建和关系图谱的事。图鉴里的人物只记背景:路人、传说里的人,或者出身和典故。
- 每次整理会多一次模型调用。
关系图谱(npc-graph)
开发期存档如果有同一关系的多个开放版本,会拒绝这次写入,不再边玩边修复。需要重建受影响的图谱数据,或重新开局。当前关系没有 invalidAt 时仍表示开放版本。
记录人物、团体和势力之间的关系。整理新关系时,会先参考已有的节点和关系;故事再提到他们时,叙事会想起这些关系,不容易前后矛盾。
你会看到什么:右侧“关系图谱”页签:节点是人物或势力,绿线是正向关系,红线是负向关系,灰线是中立关系。点节点能看档案。
什么时候启用:可选。传统故事模式包含它,对话模式把它列为推荐。需要“世界事实提取”,会一起启用。
注意
- 一条关系变了,旧的那条会被收起,新的接上,不会同时存在两条矛盾的关系。
- 图里只放人物、团体和势力,地点和物品不进图。
- 每段新叙事之后都会整理一次,会多一次模型调用。
世界事实提取(world-ir)
玩家看不到它,它没有任何面板。它在每个回合结束后,把这一回合发生的人物、关系、事件和线索整理成一份清单,交给图鉴、关系图谱、任务、物品这些插件使用,免得每个插件各自再读一遍故事。
只要你用到这些插件,就让它开着:关掉它,依赖它的插件就拿不到事实,也不能启用。它每回合会多一次模型调用,想省钱就连同依赖它的插件一起去掉,选“低成本”方案最简单。
什么时候启用:可选。你启用了依赖它的插件时,它会自动一起启用,不用单独选。
提取也会看到本轮已经通过工具作出的变化。正文呈现其中一项时,按工具请求中相同的物品名和数量记录事件;正文没有呈现的变化,不凭空生成事件。行囊跳过工具已处理的变化,其他插件仍能读取这些事件。
世界事实提取会逐项评估已有任务的未完成目标,并检查达成判断与任务事件一致。计划、部分工作、失败和未核实的说法不能作为完成;语义判断仍可能出错,规则见逐目标评估。