diff --git a/template/tpl-beat.md b/template/tpl-beat.md index 43e9ee8..783d67e 100644 --- a/template/tpl-beat.md +++ b/template/tpl-beat.md @@ -1,16 +1,17 @@ --- -id: "" # 内容命名,不含Day前缀,例:"火山-结巴" "梦-海边-姐姐" +id: "" # 遵循 Beats 命名约定:{场景/角色}-{事件},不含 Day,例:"诊室门口-年审公布" "梦-海边" type: beat beat_type: "" # 维修 | 场景对话 | 梦境 | 特殊 -day: "" +day: "" # 留空则进入 outline 的 Backlog order_in_day: 0 status: draft # draft | review | locked -dev_status: fiction # fiction | playable | function | close +dev_status: fiction # fiction | playable | function | prototype | close emotional_tone: "" # 情绪基调,例:"压抑/解脱" "荒诞/温暖" -cuttable: false -cut_cost: "" -characters: [] # 出场角色列表,例:[佩佩, 火山] -terms: [] # 关联的 term 条目名 +summary: "" # 一句话概述 +player_feels: "" # 本 Beat 情绪落点 +characters: [] # 出场角色(与 kb/bible/角色 挂接) +terms: [] # 涉及设定(与 kb/bible/设定 挂接) +reveals: [] # 本 Beat 对各实体的揭示,每项格式:【实体名】玩家得知...;例见佩佩-维修1 created: "" updated: "" tags: [beat] @@ -18,30 +19,7 @@ tags: [beat] # {{title}} -> **一句话概述**:{供 outline 显示} - ---- - -## 叙事状态 - -**设定放出进度**: -- 世界观已揭露:{到这个 beat 为止,玩家知道了哪些世界观真相} -- 本 beat 新揭露:{这个 beat 会放出什么新信息} -- 尚未揭露:{哪些真相此时还必须藏着} - -**角色状态快照**: -- [[角色A]]:{此时此刻的心理状态、与医生的关系阶段} -- [[角色B]]:{同上} - -**心流节奏**: -- 前一 beat 的情绪落点:{承接} -- 本 beat 的节奏:{如"极快,短句为主,压迫感" / "舒缓,长对话,允许走神"} -- 情绪落点:{玩家带着什么感受离开} - -> [!retcon] 待定/待改项 -> {列出本 beat 中所有拍脑袋的、可能被 eureka 推翻的内容} -> - `[#TBD: 说明]` -> - `[#Retcon: 哪个 eureka 触发的,影响什么]` +> **一句话概述**:{同步 frontmatter 的 summary} --- @@ -53,31 +31,8 @@ tags: [beat] --- -## Production - -**落地形式**:{纯对话 / 演出动画 / 沙盒交互 / 混合} -**沙盒逻辑**:{触发条件、分支、关键变量——用自然语言描述} - -**Yarn 节点**: -**美术文档**: -**程序文档**: - -**制作备注**: -- 演出: -- 机制: -- 关键变量: - -**任务单**: -```dataview -LIST -FROM "kb/tasks" -WHERE contains(beats, this.file.name) AND status != "完成" -``` - ---- - ## 变更日志 -| 日期 | 变更内容 | 决策理由 | 来源 | -|------|---------|---------|------| -| | | | | +| 日期 | 变更内容 | 决策理由 | +|------|---------|---------| +| | | | diff --git a/template/tpl-character.md b/template/tpl-character.md index 4a79a0c..73273c2 100644 --- a/template/tpl-character.md +++ b/template/tpl-character.md @@ -2,8 +2,7 @@ id: "" type: character aliases: [] # 别名/代号,如 ["Kirin", "调酒妹", "奇琳"] -status: active # active | suspended | archived -dev_status: fiction # fiction | playable | function | close +status: active # active | suspended | archived | ⚠️ Conflict | 🚧 WIP created: "" updated: "" tags: [character] @@ -13,82 +12,112 @@ related_worldbuilding: [] # {{name}} -> **一句话**:{用一句话说清楚这个角色是谁} -> **核心矛盾**:{他/她/它在两种力量之间撕裂——是什么 vs 什么} -> **创作意图**:{我们为什么要创作这个角色?想让玩家感受到什么?} - --- -## 基础信息 +## 🔒 1. 权威设定 (SSOT) — 单一信息源区 + +> *单一信源区,仅通过变更日志修改;下游文档以此为准。* +> *写作约定:每段用 **加粗关键词** 领起,句末标 `(来源)` 便于溯源;小节可按实际信息增减,不必机械填满。* + + + +### 1.0 核心简述 + +> - **核心矛盾**:{一句话,如:想象和创造力与命令和效率之间的矛盾} +> - **一句话描述**:{一句话,如:医生,连太阳和树叶的颜色都分不清,我还能画画么} + +### 1.1 基础信息 - **名称**: -- **代号**: +- **代号/别名**: - **年龄**: - **职业/机体类型**: -- **视觉描述**: -- **参考图**: +- **性别**:(可选) ---- +### 1.2 视觉设定(可选) -## 核心机制 +- **描述**:{外貌/场景中的视觉描述} +- **图片**:{参考图/立绘路径,可留空} -> 这个角色的 Gameplay 机制是什么?机制如何和角色的心理/叙事绑定? +### 1.3 特征 -**机制描述**: -**Gameplay 体现**: -**机制的叙事意义**: +- **{关键词}**:{短句说明}(来源) +- **{关键词}**:{短句说明}(来源) +- *涉及他者时用 [[角色名]]、[[设定名]] 关联。* ---- +### 1.4 核心机制与 Gameplay 锚点(可选) -## 声音 +- **机制描述**:{机制如何和角色心理/叙事绑定}(来源) +- **Gameplay 体现**:{关键流程/节拍中的体现}(来源) -> 给写作者和 AI 用的校准区。让这个角色"听起来像自己"。 +### 1.5 台词(可选) -**说话方式**:{句式、节奏、习惯——几句话描述就够} +- **说话方式**:{句式、节奏、习惯} +- **代表台词**: + - "…" + - "…" -**代表台词**: -- "…" -- "…" -- "…" +### 1.6 前史与核心矛盾 ---- +- **{阶段/事件}**:{短句,写清楚角色怎么变成现在这样}(来源) +- **{阶段/事件}**:{同上}(来源) +- *可多用 [[bible]] 关联。* -## 前史与核心矛盾 - -{自然语言,写清楚这个角色是怎么变成现在这样的。 -AI 和写作者都能从这里理解角色内部的逻辑。} - ---- - -## 关系网 +### 1.7 实体关系网 (Entity Graph) - **[[角色A]]**:{这段关系的本质和张力} - **[[角色B]]**:{同上} +- *涉及设定时链 [[设定/xxx]]。* ---- +### 1.8 叙事时间线 (Narrative Timeline) -## Arc 追踪 +> *聚合该角色所有已知剧情动态,按叙事顺序排列。「关联 Beat」为空 = 尚无 beat 承载。Bible ↔ Beat 双向同步此表。* +> *状态:✅ 已落地(bible 与 beat 一致) | 🔹 无Beat(bible 有、beat 未承载) | 🆕 仅Beat(beat 有揭示、bible 未记录,需反向补 SSOT) | ⚠️ 有出入(双方内容/粒度不一致) | 🚧 草稿(beat 为 draft)* -> AI 在每次聚合后更新。写作者写某个 beat 时,可以直接引用这里的最新状态。 +| # | 阶段 | 剧情点 | 关联 Beat | 状态 | 来源 | +|---|------|--------|-----------|------|------| +| | | | | | | -| Beat | Day | 事件 | 角色内部变化 | 关系变化 | -|------|-----|------|------------|---------| -| | | | | | +#### 关联 Beats(自动索引) ---- - -## 关联 Beats +> *dataview 自动生成,与上表交叉核对:出现在此但不在上表 = 表格待补;出现在上表但不在此 = beat 的 characters 字段待补。新建时把 `"角色名"` 替换为 frontmatter 的 `id`。* ```dataview -TABLE beat_type AS "类型", day AS "Day", dev_status AS "制作状态" -FROM "kb/beats" -WHERE contains(terms, this.file.name) +TABLE file.link AS "Beat", day AS "Day", beat_type AS "类型" +FROM "beats" +WHERE contains(characters, "角色名") SORT day ASC, order_in_day ASC ``` --- -## 变更日志 +## ⏳ 2. 待确认 / 待办 + +- [ ] {待决项 1} +- [ ] {待决项 2} +*无则写「无」或省略。* + +--- + +## ⚠️ 3. 冲突记录 + +| 冲突点 | 版本A | 版本B | 来源 | 状态 | +|--------|-------|-------|------|------| +| | | | | 待裁决 / ✅ 已决议 | + +*已决议可保留并标 ✅;决议说明可归档至 `kb/decisions` 后在此留简短引用。* + +--- + +## 📋 4. 变更日志 | 日期 | 变更内容 | 决策理由 | 来源 | |------|---------|---------|------| @@ -96,22 +125,27 @@ SORT day ASC, order_in_day ASC --- -## 冲突记录 +## 🔗 5. 来源索引 (Context & Index) -| 冲突描述 | 版本A | 版本B | 来源 | 状态 | -|---------|-------|-------|------|------| -| | | | | 待裁决 | +> *放在最后。点击条目可跳转原文;下表概括各来源「主要提供的信息」。* ---- +### 核心设定源 -## TODO +| # | 来源 | 主要提供的信息 | +|---|------|----------------| +| 1 | [[inbox/xxx]] | {该来源主要提供的信息} | +| 2 | [[inbox/yyy]] | {同上} | -> [!todo] +### 角色/关系与世界观(可选) ---- +| # | 来源 | 主要提供的信息 | +|---|------|----------------| +| | [[inbox/zzz]] | {同上} | -## 原始来源 +### 参考与会议(可选) -| 来源 | 状态 | -|------|------| -| | 已聚合 | +| # | 来源 | 主要提供的信息 | +|---|------|----------------| +| | | | + +*无来源时本节可留空或写「待补充」。* diff --git a/template/tpl-day.md b/template/tpl-day.md index 53a6e46..5f655b0 100644 --- a/template/tpl-day.md +++ b/template/tpl-day.md @@ -18,9 +18,19 @@ tags: [day] ## Beat 列表 -| 顺序 | Beat | 类型 | 情绪基调 | 落地形式 | 制作状态 | -|------|------|------|---------|---------|---------| -| 1 | [[]] | | | | | +> 由 beat 文件的 `day` / `order_in_day` 驱动,与 outline、Kanban 一致。未建文件的 beat 需在 `kb/beats` 下新建并在 Kanban 中归属到本日。 + +```dataview +TABLE + order_in_day as "顺序", + file.link as "Beat", + beat_type as "类型", + emotional_tone as "情绪基调", + dev_status as "制作状态" +FROM "kb/beats" +WHERE type = "beat" AND day = this.id +SORT order_in_day ASC +``` --- diff --git a/template/tpl-eureka.md b/template/tpl-eureka.md index d15979e..853b369 100644 --- a/template/tpl-eureka.md +++ b/template/tpl-eureka.md @@ -4,7 +4,7 @@ status: unprocessed # unprocessed | processing | done priority: normal # urgent | normal | low created: "" source: "" # 会议 | 脑暴 | 飞书 | 灵感 | 测试反馈 -affects: [] # AI 填充:受影响的 term/beat 文件名列表 +affects: [] # AI 填充:受影响的 bible/beat 文件名列表 tags: [eureka] --- diff --git a/template/tpl-worldbuilding.md b/template/tpl-worldbuilding.md index 4ae6e0a..073f50d 100644 --- a/template/tpl-worldbuilding.md +++ b/template/tpl-worldbuilding.md @@ -2,7 +2,6 @@ id: "" type: worldbuilding category: "" # 社会制度 | 技术 | 地理 | 历史事件 | 组织 | 物品 -tier: "" # T0(核心不变) | T1(重要) | T2(可调整) aliases: [] # 别名,如 ["蜂群思维", "蜂群", "Hivemind"] status: active # active | disputed | deprecated created: "" @@ -14,43 +13,88 @@ related_worldbuilding: [] # {{term_name}} -> **一句话定义**:{最简洁的描述} -> **叙事功能**:{这个设定在故事里服务于什么?} - --- -## 权威设定 +## 🔒 1. 权威设定 (SSOT) — 单一信息源区 -{自然语言,写清楚这个设定的完整真相:核心规则、边界、例外、历史背景。 -不考虑玩家视角,写的是世界"实际上"怎么运作的。} +> *单一信源区,仅通过变更日志修改;下游文档以此为准。* +> *写作约定:每段用 **加粗关键词** 领起,句末标 `(来源)` 便于溯源;小节可按实际信息增减,不必机械填满。* ---- + -## 玩家认知 +### 1.0 核心简述(可选) -**玩家最终知道什么**: -{游戏结束时玩家对这个设定的完整理解} +> {一两句:该设定在剧情中的锚点。} -**玩家起初以为是什么**: -{初次接触时的错误或不完整认知} +### 1.1 核心定义 -**揭露路径**: -{通过哪些 beats,一点点揭开?自然语言描述即可。} +- **{关键词}**:{短句,权威定义}(来源) +- **{关键词}**:{补充定义}(来源) ---- +### 1.2 关键特征 -## 在故事中的体现 +- **{关键词}**:{规则、边界、例外}(来源) + +### 1.3 历史背景 + +- **{阶段/事件}**:{该设定如何形成、演变}(来源) + +### 1.4 实体关系网(可选) + +*若该设定与角色、其他设定强绑定时填写。* + +- **[[角色A]]**:{关系简述} +- **[[设定/xxx]]**:{同上} + +### 1.5 叙事时间线(可选) + +> *若该设定在剧情中有关键揭示/变化点,可按叙事顺序列出。「关联 Beat」为空 = 尚无 beat 承载。Bible ↔ Beat 双向同步此表。* +> *状态:✅ 已落地(bible 与 beat 一致) | 🔹 无Beat(bible 有、beat 未承载) | 🆕 仅Beat(beat 有揭示、bible 未记录,需反向补 SSOT) | ⚠️ 有出入(双方内容/粒度不一致) | 🚧 草稿(beat 为 draft)* + +| # | 阶段 | 剧情点/揭示 | 关联 Beat | 状态 | 来源 | +|---|------|-------------|-----------|------|------| +| | | | | | | + +#### 关联 Beats(自动索引) + +> *dataview 自动生成,与上表交叉核对:出现在此但不在上表 = 表格待补;出现在上表但不在此 = beat 的 terms 字段待补。* ```dataview TABLE day AS "Day", beat_type AS "类型", file.link AS "Beat" -FROM "kb/beats" -WHERE contains(terms, this.file.name) +FROM "beats" +WHERE contains(terms, this.id) SORT day ASC ``` --- -## 变更日志 +## ⏳ 3. 待确认 / 待办 + +- [ ] {待决项 1} +- [ ] {待决项 2} +*无则写「无」或省略。* + +--- + +## ⚠️ 4. 冲突记录 + +| 冲突点 | 版本A | 版本B | 来源 | 状态 | +|--------|-------|-------|------|------| +| | | | | 待裁决 / ✅ 已决议 | + +*已决议可保留并标 ✅;决议说明可归档至 `kb/decisions` 后在此留简短引用。* + +--- + +## 📋 5. 变更日志 | 日期 | 变更内容 | 决策理由 | 来源 | |------|---------|---------|------| @@ -58,22 +102,27 @@ SORT day ASC --- -## 冲突记录 +## 🔗 6. 来源索引 (Context & Index) -| 冲突描述 | 版本A | 版本B | 来源 | 状态 | -|---------|-------|-------|------|------| -| | | | | 待裁决 | +> *放在最后。点击条目可跳转原文;下表概括各来源「主要提供的信息」。* ---- +### 核心设定源 -## TODO +| # | 来源 | 主要提供的信息 | +|---|------|----------------| +| 1 | [[inbox/xxx]] | {该来源主要提供的信息} | +| 2 | [[inbox/yyy]] | {同上} | -> [!todo] +### 角色/关系与世界观(可选) ---- +| # | 来源 | 主要提供的信息 | +|---|------|----------------| +| | [[inbox/zzz]] | {同上} | -## 原始来源 +### 参考与会议(可选) -| 来源 | 状态 | -|------|------| -| | 已聚合 | +| # | 来源 | 主要提供的信息 | +|---|------|----------------| +| | | | + +*无来源时本节可留空或写「待补充」。*