Files
gplan-2/design/gdd/c2-adventure-structure.md
T
2026-09-14 18:18:49 +08:00

25 KiB
Raw Blame History

C2 冒险结构(Adventure Structure)

状态:Approved · lean 格式 版本:v1 · 2026-09-14 · 作者:DK + design-system 承载支柱:P4 地牢下探的探险氛围(主——序列推进 = 不断下探更险的层)· P3(恢复点/囤积决策的冒险级容器)· P1("这局我到第几层"的冒险级对照物) 一句话:C2 管一次冒险的骨架——关卡序列怎么排、通关给什么、死了怎么重来;位于 C1 关内行进之上、B1 战斗结算之下。 复核注记:v1 solo 出稿 → 经 /design-review(--solo 快速审批)APPROVED(0 blocking / 3 recommended——recommended 随下次修订批执行);专员/总监代理未咨询——生产前人工复核保留。评审日志:design/gdd/reviews/c2-adventure-structure-review-log.md。

速览

关键问题 答案
定位 冒险/序列层编排:冒险生命周期、关卡序列、跨战斗 HP 账本、关卡大奖励、失败重开——C1 关内行进的上层结构,B1 战斗结算的入参供给方
拥有 冒险状态机与结果语义 · 关卡序列定义(LevelTable 行集内容 owner + 推进规则)· HP 账本(跨战斗持久性的 C2 半边兑现)· 关卡大奖励 · 失败重开语义 · master_seed 接线(冒险 = 种子域单位)· 冒险摘要
不拥有 关内节点行进与节点兑付触发(C1)· 战斗结算与关卡清库调用(B1)· 奖励内容与库存语义(B4/C3)· 数值曲线(C3)· 代币持久化与天赋(C4/D3)· 呈现(D1)
上游输入 C3 期望表与带锚(逐关通关率带 = 序列难度排布)· C3 L2 深度轴行值(序列行集扩展随批填充)· D2 LevelTable schema / ConfigDB / RngService · B1 出口分发语义(level_clear 上层调用面)
下游输出 给 C1 的接口契约四件套 · begin_battle 入参供给(关卡序号 / hero_hp / 上限覆盖值)· 冒险摘要(C4 代币入账与 D3 快照的消费位)
硬约束 零随机(零流消费、单一种子注入点)· 序列覆盖(冒险关数 ⊆ 表内容覆盖——越界关卡 = 内容生产缺口)· 死亡即冒险终(Roguelike 语义已锁)· 不碰库存域(关卡末清库由 C1 收束点触发 B1 level_clear)

体验锚点

支柱 关键词 机制承诺
P4 下探节奏 "又清完一层,再往下" 序列推进 + 关卡大奖励 = 下探途中的喘息台阶;每关一个可命名的新层(display_name),难度台阶可感知(雾解锁 / 数值跳升 / 通关率带下移)
P3 恢复点囤积 "Boss 前把血囤满" HP 账本跨战斗延续 + 恢复点节点按比例回血——血是冒险内唯一带得走的资源,恢复点位置就是决策压力点
P1 冒险级掌控 "这局我到第二层" 冒险摘要(到达层 / 通关数 / 代币记账)给每次死亡一个可对照的坐标;重开 = 新种子新局面,不是同一关的复读
锚点时刻 "这层清完了" Boss 倒下 → 大奖励兑付 → 下一层开门的节拍;死亡 → 摘要结算 → 一键再来

全局流程

冒险生命周期

新冒险(Idle)
  │ ① reseed(master_seed)——RngService 种子注入,冒险域单位恰一次
  │ ② HP 账本置满 · 序列位置 = 1
  ▼
start_level(1) ──► 关内行进(C1 域:节点链逐节点推进)
  ▲                    │
  │                    ├─ battle/boss 节点 ─► C1 组装 begin_battle(L, D, hero_hp, override) → B1
  │                    ├─ reward 节点 ─► B4 节点奖励入库(关内域库存)
  │                    └─ rest 节点 ─► C2 账本恢复(比例 = rest_heal_pct)
  │                    │
  │              关卡收束点 = Boss 战胜利 ∨ 英雄死亡
  │                    │ C1:调 B1 level_clear(库存关卡域清空 + 快照计数)
  │                    ▼
  │              level_end{result: cleared | defeated}(C1 → C2)
  ├────────────────────────────────────────────┐
  │ cleared 且当前关 < N                        │ defeated ∨ abandoned
  │  ▼                                         │  ▼
  │ 关卡大奖励(上限提升 · 血回满 · 代币记账)    │ 冒险失败结算
  │  ▼                                         │
  └─ start_level(L+1)                          │
  │                                            │
  └─ cleared 且当前关 = N ──► 冒险完成结算       │
                                  │            │
                                  ▼            ▼
                              冒险摘要 → Idle(重开 = 全新一轮)
出口 触发 动作序列 约束
下一关 level_end(cleared) 且当前关 < N 大奖励兑付 → start_level(L+1) 大奖励在清库之后(C1 收束点已先调 B1 level_clear)
冒险完成 level_end(cleared) 且当前关 = N 冒险结算(不再发上限提升——没有下一战可受益) 摘要标记 run_completed
冒险失败 level_end(defeated) 冒险结算 库存已由收束点清空;血条归零即终
冒险放弃 玩家发起、非战斗期受理 冒险结算(结果 = abandoned) 已获大奖励不追回;与失败同型

核心规则

# 规则 要点 依据
1 冒险从第一关开始,倒下即终、清完末关即成 冒险 = 从序列第 1 关起步的完整一轮;关卡通关(Boss 战胜利)→ 自动进下一关;末关通关 = 冒险完成;任意战斗死亡 = 冒险结束。MVP 线性序列——无跳关、无回头路 game-concept 冒险语义;C3 Boss 通关编排归属(C1/C2 域)
2 每关是一条预置节点链,冒险关数不得超出表内容覆盖 C2 为 LevelTable 行集内容 owner——链 = 战斗/奖励/恢复/Boss 节点依序排列、Boss 恒为末节点;战斗节点深度 = 前序战斗节点计数(Boss = Dmax);冒险关数 = 行集关数,加关 = 内容批(链行 + 敌我数值 + 变异解锁同批落,禁止只加序列不加内容);序列难度排布消费 C3 通关率带(L1→L2 带下移 + 雾解锁台阶) D2 跨表校验;C3 期望表与 OQ1;A4 unlock_level=2
3 主角一条血走完整个冒险,关卡只换地图不换血条 账本收支四口——冒险开始置满 / 每战开始交出 / 战后收回 / 恢复点与大奖励入账;关卡切换零结算(血条跨关延续);血 = 冒险内唯一跨战斗资源(buff 战斗域清、库存关卡域清、RAP 战斗域清) B2 hp_persistence 归 C1/C2;B1 begin_battle 入参;B4 关内延续同构
4 清完一关,下探前发一次大奖励:上限提升加回满 兑付时点 = 关卡收束清库之后、下一关开始之前;构成三件——HP 上限提升(+level_clear_hp_bonus)、血回满、代币记账加一份;不进背包不占库存域;末关通关不兑付 B4 库存关卡域裁决;C3 区间平移换算率;C4 记账位
5 主角死亡冒险即终,重开是全新冒险不是关卡重试 失败 = 冒险终(无关卡重试、无检查点——Roguelike 语义已锁);重开 = 全新一轮(新种子 / 第 1 关 / 满血 / 空手);中途放弃与失败同型结算(已到手的保留);保留面 = 冒险摘要,清零面 = 账本 / 库存 / 种子域 game-concept"死亡则冒险结束";A3 RAP 战斗域生命周期
6 一次冒险一粒种子 种子注入时点 = 冒险开始恰一次;冒险内雷图生成 / 奖励抽取 / 遭遇掷骰全部派生自该种子;冒险内不重置(切片逐关播种为其无冒险层的历史简化,本条转正为冒险域单种子);冒险可复现域 = master_seed + 三流计数器 registry rng_service 快照契约;D3 消费方
7 关卡收束在关内宣布,冒险层只接结果 C1 拥有关内一切行进(节点移动 / 兑付触发 / 战斗发起——参数组装:深度取链位、关卡序号与血条取 C2 下放);收束点(Boss 胜或死亡)C1 先调 B1 level_clear、再向 C2 宣布结果;C2 零战斗域直调、零库存域直调 B1 出口分发"关卡结束 = 上层显式调用";切片 level_runner 先例转正

规则 2 细则:深度标号与覆盖

项 语义
节点类型 battle / boss / reward / rest——reward、rest 不占深度、不查战斗表;battle、boss 占深度
深度标号 战斗节点深度 = 该节点之前(含同链)已排 battle/boss 节点数,从 0 起计;Boss 恒为链末节点且深度 = Dmax
链模板(MVP) battle(D0) → battle(D1) → reward → battle(D2) → battle(D3) → rest → boss(D4)——每关 7 节点 5 战斗深度;L1/L2 同构复用,模板修订随内容批
覆盖义务 冒烟断言:行集内每个 battle/boss 节点 (L, D) 在 enemy / board_gen 两表存在精确行(D2 跨表校验复用 + 序列关数断言)——序列关数 ⊆ 内容覆盖,越界 = 内容生产缺口
生效前提 N=2 行集扩展前提 = C3 L2 深度轴行值填充批落地;未填充期冒险以单关行集运行(N=1 合法态——切片现状)

规则 4 细则:大奖励构成

件 内容 载体 数值
上限提升 max_hp_eff += level_clear_hp_bonus(冒险内生效——经 begin_battle 覆盖值传入后续每战) C2 账本 + AdventureTable +10 provisional(C3 区间平移换算率锚:+10hp ≈ +1 轮)
血回满 HP 账本 = 提升后 max_hp_eff C2 账本 结构定式(非 knob——与 C3 满血开局校准口径闭合)
代币记账 tokens += token_per_level 冒险摘要 10/关 provisional(消费方 C4)

规则 7 细则:C1/C2 编排边界(给 C1 的接口契约——C1 GDD 强制输入)

接口 方向 载荷 时点
start_level(level_index, ctx) C2 → C1 ctx = {level_index, hero_hp, hero_max_hp_eff} 冒险开始 / 每次关卡推进
report_battle_end(hp) C1 → C2 战后英雄 HP 终值(胜负皆报) 每场战斗结束后
heal_clamped(pct) C1 → C2 rest 节点恢复请求(比例取关卡行 rest_heal_pct) 恢复点节点兑付
level_end{result, hp, node_index} C1 → C2 result ∈ {cleared, defeated}(C1 已先调 B1 level_clear) 关卡收束点
冒险放弃(abandoned) D1 → C2 无载荷 非战斗期受理(MVP 无 UI 入口——语义预留)
战斗发起组装 C1 编排 begin_battle(L, D, hero_hp, hero_atk, hero_max_hp):L / hero_hp / hero_max_hp 取 C2 下放,D 取链位,hero_atk 传表值通道(MVP 冒险内不提升攻击) battle/boss 节点行进至

枚举

冒险结果(封闭枚举)

值 触发 摘要标记
completed 末关 level_end(cleared) run_completed = true
failed level_end(defeated) run_completed = false
abandoned 玩家放弃(非战斗期) run_completed = false

关卡收束结果(封闭枚举)

值 触发 后续
cleared Boss 节点战斗胜利 末关判定 → 大奖励 + 推进 / 冒险完成
defeated 任意战斗英雄死亡 冒险失败结算

冒险摘要(结算产出,消费方 C4 / D3 / playtest 日志)

字段 类型 语义
run_completed bool 冒险是否打穿序列
levels_cleared int 已通关数(代币记账乘子)
level_reached int 止步关卡序号(失败 / 放弃时 = 当前关)
tokens_recorded int levels_cleared × token_per_level
master_seed int64 本冒险种子(复盘 / 快照域标识)

数值结论与推导

C2 是结构系统——运行时零新增公式,以下为账本结算式与设计期合成式;全部数值 provisional,调参所有权见 Tuning Knobs。

F1 冒险通关率合成(设计期工具式)

结论:P(冒险通关) = Π P(L_i 通关);MVP N=2 合成带 = [6%, 20%](L1 [30,50]% × L2 [20,40]%)——冒险长度即难度总闸。

推导

P_run = Π_{i=1..N} P(L_i)        (逐关独立满血开局口径)
变量 符号 类型 范围 说明
各关通关率 P(L_i) float (0,1) C3 期望表逐关目标带(L1 [30,50]% / L2 [20,40]% / L3+ [10,25]% 预留)
冒险关数 N int [1, 行集关数] LevelTable 行集关数——MVP 2
验算 读数 判定
N=2 合成 [0.30×0.20, 0.50×0.40] = [6%, 20%] 单次通关率带合理(Roguelike 体感:多数局止步中途)
口径闭合 C3 带按每关满血开局校准;大奖励血回满使该口径跨关成立 ✓(若未来大奖励改部分恢复,本式失效须改口径)

F2 HP 账本结算式

结论:账本三写口全部 clamp 于 [0, max_hp_eff];大奖励回满使每关开局恒满血——血条跨关只降不自动回,恢复只来自恢复点与大奖励两个显式口。

推导

战后回写:      hp := report_battle_end(hp)                 (victory 腿 hp ∈ [1, max_hp_eff];defeat 腿 = 0 → 冒险终)
恢复点:        hp := min(hp + floor(max_hp_eff × rest_heal_pct ÷ 100), max_hp_eff)
大奖励:        max_hp_eff := max_hp_eff + level_clear_hp_bonus;  hp := max_hp_eff
战斗输入:      begin_battle(hero_hp = hp, hero_max_hp = max_hp_eff, hero_atk = 表值通道)
变量 符号 类型 范围 说明
账本血量 hp int [0, max_hp_eff] C2 冒险域持有;战斗内由 B2 承载
生效上限 max_hp_eff int [表值, 表值+加成×已通关数] HeroTable.max_hp + Σ大奖励提升
恢复比例 rest_heal_pct int [0,100] LevelTable 逐关行字段(切片 30 转正 provisional——数值复验归 C3)
上限提升 level_clear_hp_bonus int [0,999] AdventureTable 单行全局(默认 10)
验算(示例轨迹,表值上限 50) 账本读数
冒险开始 50/50
D0–D3 逐战后(示例) 43 → 31 → 24 → 17
恢复点(30% × 50 = 15) min(17+15, 50) = 32
Boss 胜后(假设余 8)→ 大奖励 max_hp_eff = 60、HP = 60
L2 开局 60/60 满血(C3 带口径闭合)

F3 冒险代币记账式

结论:tokens = levels_cleared × token_per_level——通关与中途死亡同式,差异只在 run_completed 标记;通关加成位预留(MVP 不启用,裁决归 C4)。

推导

tokens_recorded = levels_cleared × token_per_level        (token_per_level 默认 10,消费方 C4)
变量 符号 类型 范围 说明
通关数 levels_cleared int [0, N] 摘要字段
每关代币 token_per_level int [0,999] AdventureTable 单行全局——值归 C4
验算 levels_cleared tokens
死在 L1 0 0
清 L1 死在 L2 1 10
打穿 N=2 2 20 + run_completed 标记

状态

状态 进入条件 行为/出口
Idle 冷启动 / 冒险结算完成 唯一出口 = 开始新冒险(reseed → 置账本 → start_level(1))
RunActive start_level(L) 受理 关内行进委托 C1;C2 只守账本写口与收束监听;放弃请求非战斗期受理
Settling level_end 或 abandoned 受理 cleared 非末关 → 大奖励 → start_level(L+1) 回 RunActive;末关 cleared / defeated / abandoned → 摘要产出 → Idle

不变式:RunActive 期恰一关卡在飞;master_seed 冒险内恒定;HP 账本 ∈ [0, max_hp_eff];Settling 恰一次(重复宣布拒绝 + 诊断);冒险内零流消费(RngService open_stream 零命中)。

边界情况

条件 行为 依据
末关 Boss 战胜利 冒险完成结算——不发上限提升(无下一战可受益)、无 start_level(N+1);代币照记 规则 1/4
start_level 请求超出行集关数 防御 fail-fast(序列配置违约);运行时战斗表 floor 兜底属 D2 既有语义——C2 不产生越界请求,玩家不可达越界关 规则 2 / C3 边界情况表
行集战斗节点无对应 enemy/board_gen 行(内容缺口) 冒烟断言拦截(覆盖义务);未填充期以单关行集运行(N=1 合法态) 规则 2 细则
level_end 重复宣布 幂等:已 Settling 的冒险拒绝重复兑付 + 诊断,账本与摘要零变化 状态不变式
恢复点满血触发 回复 0、合法(账本静默——无明细行协议,与战斗域"奖励未生效"族不同层) F2
大奖励时上限已有加成 累加(每关一份;N=2 冒险至多一次) 规则 4
放弃请求在战斗中 拒绝(战斗域单事务在飞;入口呈现仅非战斗期可达——MVP 无 UI 入口) 规则 5 / 规则 7 细则
英雄死亡但战斗判定为胜利 结构不可达(B1 判定 hero 先判);防御断言:cleared 收束要求账本入账 hp > 0 规则 3 / B1 判定段
重开种子与上局相同 合法态(熵源小域);约束 = 种子生成禁走玩法随机通道、冒险内计数器随 reseed 归零——种子值生成源裁决归实现期 ADR 规则 6 / 开放问题
冒险内跨关遗留物查询 无遗留——buff 战斗域清(B1)、库存关卡域清(C1 收束点)、RAP 战斗域清(A3);冒险层账本与摘要是唯一跨关状态 规则 3/7
关卡行缺失(LevelTable 无该 level_index 行) fail-fast——序列配置事故非玩家可达态;与战斗表 floor 兜底分属两层 规则 2

依赖

上游:

系统 性质 接口要点
C3 hard 期望表逐关通关率带 = 序列难度排布输入;L2 深度轴行值(enemy / board_gen 的 (2, D1–D4))随批填充 = N=2 生效前提;大奖励 / 恢复点数值联动复验(区间平移换算率锚)
D2 hard LevelTable schema(切片建表——C2 为行集内容 owner)· AdventureTable 新表走 D2 接口漂移规则(单行全局,C2 回填 owner)· ConfigDB 单点读取 · RngService 种子注入入口(新面——义务登记)· 跨表校验复用
B1 hard(下游消费面) begin_battle 入参 (L, D, hero_hp, hero_atk, hero_max_hp) 供给方转正 = C1 组装 / C2 供值;level_clear 调用方 = C1 收束点(C2 零直调);战后 HP 读回 = B1 呈现面英雄投影(载荷自包含)
B2 间接 hero hp_persistence 归 C1/C2——本 GDD 兑现 C2 半边(账本);B2 单位接口零变更
B4 间接 库存关卡域清空触发源 = C1 收束点;节点奖励兑付归 C1;大奖励不进库存域(零接触)
A4 间接 雾 unlock_level=2 = L2 台阶的内容面(序列难度排布消费)

下游:

依赖方 性质 接口
C1 hard 接口契约四件套 + 收束点语义 + 战斗发起组装权(规则 7 细则表全文)——C1 GDD 强制输入,门禁评审核对项;切片 level_runner 为其实现先例(冒险域职责切出后归 C2 侧新 owner)
B1 下游(消费 C2 供值) begin_battle 入参面;B1 依赖表 C1/C2 provisional 行由本 GDD 收编转正
C4 远 冒险摘要 = 代币入账位;冒险开始参数面 = 天赋注入预留位(MVP 空参数——开始新冒险时注入,结构同 begin_battle 覆盖值通道)
D3 远 快照契约域单位 = 冒险(master_seed + 三流计数器);摘要字段含 master_seed 供复盘
呈现层(D1) soft 冒险摘要结算画面 / 关卡推进指示 / 放弃入口(非战斗期)——数据源 = 本 GDD 摘要与状态投影

跨 GDD 义务清单(对侧修订批逐项核对,缺项即阻塞级按各自门禁):

对侧 内容 状态
C3 L2 深度轴行值填充(enemy 四行 + board_gen 四行,(2, D1–D4))——OQ1"内容与数值同批"机制的兑现批 N=2 生效前提
D2 RngService 种子注入入口登记(reseed——provisional 名,实现载体随 ADR) 义务登记
D2 AdventureTable 建表(单行全局两字段——Rule 4 豁免,HeroTable/SettlementTable 先例;C2 回填 owner) 接口漂移
B1 begin_battle 入参供给方转正(依赖表 C1/C2 行收编——本 GDD 为 C2 半边定义源) 转正登记
registry level_table / adventure_table / hero_override_parameter_passing 三条目登记(本定稿批执行) 本批
C1 接口契约四件套 + 收束点语义全款承接(C1 GDD 门禁评审核对——C2 在 C1 之前设计,本表即其接口基线) 待 C1 定稿核对
C4 token_per_level 记账消费 + 天赋注入位消费 远(C4 期)

Tuning Knobs

字段 类型/域 默认 knob 说明
LevelTable 行集(N 与链模板) level.tres 逐关行 L1 现行 + L2 随批 ✓(结构) 加关 = 内容批(链行 + C3 数值 + 变异解锁同批);过长 = 内容缺口,过短 = 冒险时长不足(愿景 20–40 分钟 vs MVP 两关,真人数据后定扩展节奏)
LevelTable.rest_heal_pct int [0,100] 逐关行 30 ✓ 恢复点比例;数值复验归 C3;100 = 恢复点变全满泉、0 = 死节点
AdventureTable.level_clear_hp_bonus int [0,999] 单行全局 10 ✓ 大奖励上限提升;值锚 = C3 平移换算率(+10hp ≈ +1 轮);上调须 C3 重扫 L2 带
AdventureTable.token_per_level int [0,999] 单行全局 10 ✓ 代币记账;消费方 C4
链模板节点构成 level.tres nodes 数组 战×2→奖励→战×2→恢复→Boss 内容批 节点类型序列修订 = 内容批(随 C3 数值同批验带),非调参
  • 非 knob(结构冻结):序列线性无跳关、Boss 恒末节点、死亡即冒险终、大奖励三件构成、冒险内零流消费、收束点编排边界。
  • Knob 交互:level_clear_hp_bonus × C3 L2 通关率带(回满 + 上限共同抬开局强度——上调走 C3 重扫);rest_heal_pct × 通关余量带(C3 通关余量 p10 ≥ 3 的对冲杠杆)。

验收标准

AC Given When Then
AC-1 冒险 Idle 开始新冒险 reseed 恰一次注入新 master_seed;HP 账本 = 表值上限满血;start_level(1) 受理;L1 行集加载零诊断
AC-2 RunActive 当前关 < N level_end(cleared) 大奖励恰一次:max_hp_eff += level_clear_hp_bonus、账本 = max_hp_eff、tokens += token_per_level;随后 start_level(L+1)
AC-3 RunActive 当前关 = N level_end(cleared) 冒险完成结算:无上限提升、无 start_level(N+1);摘要 run_completed = true、tokens = N × token_per_level
AC-4 RunActive 任意战斗 英雄死亡 → level_end(defeated) 冒险失败结算;摘要 levels_cleared = 已通关数、level_reached = 当前关;账本封闭
AC-5 冒险结算后 开始新冒险 全状态重置(账本 / 序列位置 / 库存域空 / 摘要新生成);reseed 新种子注入
AC-6 RunActive 全程 逐战核对入参 begin_battle.hero_hp = 账本当前值、hero_max_hp = max_hp_eff;战后账本 = 英雄终值投影(载荷自包含)
AC-7 MVP 全行集 冒烟跨表断言 每关 battle/boss 节点 (L,D) 在 enemy / board_gen 有精确行;序列关数 = 行集关数
AC-8 C2 文件集 静态扫描 RngService 流消费(open_stream)零命中;reseed 每冒险恰一次调用
AC-9 Settling 已受理 level_end 重复宣布 拒绝 + 诊断;账本与摘要零变化
AC-10 生效前提未兑现(L2 行集缺行) 冒烟运行 以单关行集载体运行(N=1 合法态);N=2 断言显式 SKIP 非 FAIL
AC-11 RunActive 战斗中提交放弃请求 请求受理判定 拒绝;非战斗期受理 → abandoned 同失败型结算、已获大奖励不追回
AC-12 大奖励后首战 begin_battle 入参核对 hero_max_hp = 旧上限 + level_clear_hp_bonus(覆盖值通道);hero_atk 走表值通道(MVP 恒不覆盖)
AC-13 rest 节点兑付 满血 / 缺血两腿 恢复 = floor(max_hp_eff × rest_heal_pct ÷ 100) clamp 上限;满血腿回复 0 合法

开放问题

# 悬案 owner 时机
OQ1 冒险长度扩展节奏——MVP N=2(约 15–25 分钟)vs 愿景单局 20–40 分钟;扩关 = 内容批,节奏按真人单关时长数据定 C2 + C3 playtest 批次 2 后
OQ2 大奖励形态扩展(三选一 / 攻击型 / 通关加成)——AdventureTable 扩列结构位已留,设计随 C4 元进度 C2 + C4 C4 GDD
OQ3 master_seed 生成源(熵源通道禁走玩法随机——种子值生成器归属) D2 / 实现期 ADR 实现期
OQ4 放弃入口呈现与受理细节(仅语义已定:非战斗期受理、同失败型结算) D1 D1 / UX 批
OQ5 L2 display_name 表现层命名(provisional 名"第二层 · 雾漫巢径"——风格对齐 L1"苔藓回廊") C2 表现层 L2 内容批

版本历史

版本 日期 改动
v1 2026-09-14 初版 solo 出稿:七核心规则(冒险骨架 / 序列覆盖 / HP 账本 / 大奖励 / 失败重开 / 种子接线 / C1-C2 编排边界)+ F1–F3 + 13 AC + 给 C1 接口契约四件套;MVP N=2 + AdventureTable 单行全局 + N=2 生效前提登记;切片 level_runner 关卡域先例切分转正(冒险域归 C2、关内行进归 C1)
v1.1 2026-09-14 评审通过状态同步:状态头 In Design → Approved、复核注记更新(--solo APPROVED + 日志路径登记);零规则变更