Files
gplan-2/design/gdd/c3-difficulty-curve.md
T
2026-09-14 18:18:49 +08:00

54 KiB
Raw Blame History

C3 难度曲线与精英/Boss(Difficulty Curve & Elite/Boss)

状态:In Design · lean 格式 版本:v2 · 2026-09-14 · 作者:DK + design-system 承载支柱:P4 地牢下探的探险氛围(主)· P1 推理的掌控感 / P3 风险与收益同源(难度即压力源) 一句话:C3 定义"难度 = f(关卡序号, 节点深度, 精英/Boss 修饰)"中每一项随进度如何变化——敌人强度曲线、雷图压力曲线、奖励供给曲线与精英/Boss 修饰语义的唯一数值所有者。 复核注记:v1 solo 出稿 → 经 /design-review(lean 单会话)NEEDS REVISION 8 blocking,同日修订核销(本 v2);专员/总监代理未咨询——生产前人工复核保留。

速览

关键问题 答案
定位 数值 owner 而非机制 owner:表结构归 D2、生成算法归 A1、结算规则归 B1、敌种机制归 B2——C3 以行值与参数驱动已定稿机制,形成"越下越险"的进度体感(P4);玩家不直接感知本系统(Indirect),它是体感背后的统一坐标系
拥有 EnemyTable / BoardGenTable / RewardTable / RewardConfigTable / HeroTable 行值与参数 · DifficultyTable 修饰结构位(MVP 空表)· 难度期望表(按 (L,D) 的期望胜轮带 / 期望承伤占 max_hp 比 / 通关率目标带 / 通关余量带——调参的"正确行为"基准)· 生存链区间模型(替代关级供给带:每战 S/K 区间三档判定 + 关级通关恒等式 + 输出占比带)· 七步调参流程 · P_perfect 乘数调参权 · m_w 调参通道(终值共裁 B4/B1)· B1 对账约束清单的承接与消解
不拥有 表结构(D2)· 生成算法(A1)· 结算规则与护甲克制矩阵机制(B1——C3 投值)· 敌种机制(B2)· 变异机制框架(A4——C3 只投内容行)· 精英节点完整语义(C1 联动)· 元进度天赋数值(C4——C3 是其世界侧对照物)· 呈现(B2/B5/D1)· encounter 掷骰执行(B1 编排)· 供给控制器机制本体(B4——C3 投参数)
上游输入 D2 表 schema 与 R1 解析 · B1 条款③⑤对账输出(B1 F4/F5 = 约束生成器)· B2 字段语义与校验域 · B4 联动重算义务与供给控制器机制 · A1 F4 批量红线 · 切片 v3 行集实测数据(含减伤墙批)
下游输出 各基表行值(经 ConfigDB 单点读取)· 每战 S/K 区间与三档判定数据面(level_monte_carlo actuals 生产,B4/B1 对账消费)· 难度期望表(C2 难度排布 / C4 天赋标定基准——区间平移换算率:+10hp ≈ +1 轮、atk 翻倍 ≈ K 减半)· unlock_level 投放计划(A4)· "何时变难"数据面(B2/B5/D1 呈现消费)
硬约束 运行时零新增公式(C3 侧数值直填基表行;机制本体——encounter 掷骰 / 护甲克制 / 供给控制器——归各 owner GDD,C3 只投行值与参数)· 可推理率 target ∈ [0.85, 1] 绝对锚不可下探 · 条款③⑤与预警⑥约束内调参或显式扩界 · 联动网络六组禁独立调参 · 每次修订强制走七步流程 · 全部值 provisional 起步随 playtest 修正

体验锚点

Indirect 体验一句话:玩家不操作本系统,但每一分钟都在感受它——第二层的熊地精比第一层的地精更凶、关底 Boss 的压迫性血量、"这一层开始有雾了"的解锁节奏,本系统是这些体感背后的统一坐标系。

支柱 关键词 机制承诺
P4 越下越险的压迫节奏 "这一层开始有雾了" 每层一个可感知难度台阶:新敌种登场 / 新行为环段 / 新变异解锁 + 基准数值跳升(L 轴)与温和加压(D 轴);台阶可感知但可解释——跃升可归因于可见变化而非纯数字膨胀(后者产生"被坑"感而非"变险"感);可量化形态 = S/K 区间随 (L,D) 的漂移轨迹(绿→黄→红空间分布)
P1 攻克的对照物 "我变强了" 首关基线明显吃紧但多数玩家能过(通关率目标带);后续关卡陡升使 C4 天赋提升产生可测量的通关期望改善——区间平移换算率(+10hp ≈ +1 轮、atk 翻倍 ≈ K 减半)使"我变强了"从体感变为可推导结论
P3 压迫的顶点 "Boss 房开门前" 恢复点/囤刀决策压力顶点——供给稀缺性在此处兑现价值;Boss 血量压迫由 Boss 血量锚承载
锚点时刻 "三拍 vs 单拍" 第二层首遇熊地精——三拍行为环 vs 地精单拍攻击,难度跃升有具体面孔;击杀 Boss——"这层我算下来了"的完成感
  • 参考感受合成:Peglin 的地图难度爬升 × 杀戮尖塔的 Act 结构(普通→精英→Boss 三段节奏)→ 本作 = 关间大台阶 × 关内小坡度 × Boss=Dmax 关底压轴。

全局流程

难度曲线生成(设计期直填 → 运行时直读)

设计期(本 GDD 唯一产出物 = 表行值)
  │ ① L 轴台阶:每关 ≥1 项新内容投放(新敌种/新环段/新变异)+ base 跳升 k_L ∈ [1.3, 1.6]
  │ ② D 轴坡度:同敌种 hp 平缓上移(坡度域)+ 板参数温和加压(target ≥ 0.85 绝对锚)
  │ ③ Boss 行:Dmax 直填行(数值大台阶 + 专属行为环 + 本关最大板形)
  │ ④ 七步调参流程走查 → 行值写入 enemy / board_gen / reward / reward_config / hero .tres
  ▼
运行时(C3 零公式;机制归各 owner)
  │ ⑤ B1.begin_battle 实例化期:unit_count 区间均匀骰(encounter 封闭流)→ 本战实际数量
  │ ⑥ B2.spawn(L, D):R1 floor 解析 → 行值快照 → DifficultyTable 修饰套乘(快照之前;MVP 空表无修饰)
  │ ⑦ A1 读 BoardGenTable 行生成 → 挖掘期 → B1 结算(既有乘区:护甲克制 / 状态池 / 充能伤害)
  ▼
战斗/挖掘按既有系统运作(C3 运行时零公式)

F7 调参流程(每次行值修订强制走完——七步)

① 改表值(C3 直辖 knob)
  │ ② smoke_all 全绿(含 A1 生成质量闸——d0.28 回退先例的拦截点)
  │ ③ level_monte_carlo 扫描(通关率带 + 三档判定 + 通关余量 + 输出占比)
  │ ④ B4 登记常数与对账重制(AC-19 对账对漂移检测 / AC-6 分支 4 / AC-18 重跑——B4 义务 #10)
  │ ⑤ 对账复算(条款③⑤ / 预警⑥)
  │ ⑥ README 调参日志登记(含期望偏离)
  ▼
行值生效(任一步 FAIL → 回滚或登记 OQ——禁止带病前进)

出口分发

出口 触发 动作/去向 约束
调参通过 七步全 PASS 行值生效 → 期望表复算 → 调参日志登记 期望偏离必须登记,禁止静默出带
调参失败 任一步 FAIL 回滚行值或登记 OQ 禁止带病前进
红档组合 任一战 S_max ≤ K_min 扫描步拦截,行值禁止入表 配置事故——区间模型判定
期望表偏离 调参后越出通关率/余量带 回滚或 OQ 登记 禁止静默出带(状态表同名行)
投放断档 某关无新敌种且无新环段 流程投放检查项拦截 内容生产缺口——C3 调参无法修补(数值不是内容)

核心规则

# 规则 要点 依据
1 难度承载结构 = 直填行值主体 + DifficultyTable 修饰结构位 全部 (level_index, node_depth) 维度最终数值直填各基表行(EnemyTable / BoardGenTable / RewardTable——切片已验证的工作方式:R1 floor 解析直读、零新机制);DifficultyTable 仅承载"按坐标施加的全局修饰"结构位(键 (L,D)、乘数域;施加点 = B2.spawn 实例化时套乘于行值快照之前)——MVP 不产生任何修饰行(空表结构位;首个使用场景 = 精英节点;Boss 走 Dmax 直填行、不走修饰表) D2 接口漂移规则;registry difficulty_table;B2 实例化条款"接口未定"预留由本条兑现
2 难度 = f(L, D) 双轴语义 L 维(关间)= 大台阶——每关至少一项新内容投放(新敌种 或 新行为环段 或 新变异解锁)+ 基准数值跳升;D 维(关内)= 小坡度——同敌种数值平缓上移(坡度域见关内深度坡度公式)、板参数温和加压(尺寸/密度小步上调,推理率 target 不低于 0.85 绝对锚);Boss = 各关 Dmax 行(A1 登记约定兑现)——数值大台阶 + 专属行为环 + 专属板形,见 Boss 遭遇语义条 B2 投放节奏规则(OQ8);Boss 血量锚公式(F3);A1 第三轴登记约定
3 敌种投放节奏 每关至少一个新敌种或既有敌种新环段投放;MVP 投放 = L1 三段(goblin→bugbear→ogre_chief,行值总表);DND 更名批生效:grub→goblin、ambusher→bugbear、boss_guardian→ogre_chief——registry/B2/D1/art-bible 键集随本修订批对齐;多敌种同深度选择规则:MVP 每行集恰一敌种(B2 锁定),C1 分支地图定稿时若需同深度多敌种选择,走预登记改键通道——本 GDD 预留不定义 B2 投放节奏规则(OQ8);B2 多敌种共裁项(OQ7);D1 键集冲突②
4 切片行集转正为 MVP 默认曲线 垂直切片调参登记的行集有实测依据,转正为 MVP 默认值——权威枚举 = 「MVP 行值总表」(v3,出处 = 切片 .tres),旧登记表(grub 时代值)由本表替代;后续 L2+ 曲线数值随关卡内容扩展填充(结构本条已定,数值行随内容扩展) MVP 行值总表;L2+ 数值开放问题(OQ1)
5 Boss 遭遇语义 ① Boss = 关卡末节点 = Dmax 行(LevelTable 末节点必须 Boss——schema 校验);② Boss 数值台阶 = hp 取本关普通战斗 hp 期望总和的 0.5–1.1 倍 + atk ≥ 本关普通战最高行 atk(本次重定义——原"高于均值一档"无档位定义;现值 Boss 9 ≥ bugbear 9 ✓)+ 专属行为环(含 charge 拍——玩家可规划的安全挖掘拍);③ Boss 板 = 本关最大板形 + 密度上探(受可推理率 target 绝对锚约束);④ Boss 战胜利 = 关卡通关(C1/C2 域编排) Boss 血量锚公式(F3,加难走廊 [1.1, 1.35] 预登记);LevelTable schema 校验;A1 第三轴登记约定
6 精英节点(MVP 不实现,语义预留) elite_ / boss_ 前缀字段命名空间预留保留;精英修饰完整语义(独立节点类型/词缀系统/出现规则)归 C1 关卡节点地图定稿后的联动设计——分支地图中"同深度并存精英与普通节点"触发棋盘生成端强制重审(改键走 D2 接口漂移规则);本 GDD 承诺:DifficultyTable 结构位 + 命名空间预留足以承载,不预写语义 A1 第三轴登记约定(命名空间预留 + 定稿强制重审)
7 A4 全局变异语义(scope=global 兑现) scope=global 行 = 该变异施加于整板全部合格格(区别于 region 的区域布置);全局变异仅 Boss/精英图可产生(普通图禁用——加载期校验:global 变异的布置行须伴随 elite/boss 标记;MVP 无标记字段前 = MVP 不产生 global 行,A4 既有 warning 承载);MVP 不定义任何具体全局变异行(岩浆/冰冻无 MVP 容器——A4 锁定),本条只锁定语义框架与禁用面 A4 scope=global 预留位条款;A4 例外表 warning 行
8 遭遇随机化(区间 unit_count) EnemyTable 行 unit_count 升级为区间语义 [unit_count, unit_count_max](域 [unit_count, 3],B2 上界锁定不变);掷骰经 RngService encounter 封闭流——接口漂移登记完成:registry 流集合含 encounter、B1 begin_battle 掷骰增补、B2 spawn override 参数与 unit_count_max 字段增补、D2 schema 两字段增补;细则见下表 registry rng_service(encounter 增流登记);B1/B2/D2 增补条款(X-6~X-8);遭遇随机化细则表
9 调参约束内工作纪律(B1 对账输出承接) C3 每次行值修订必须走满七步调参流程,且不得触碰已锁约束边界——四条边界见下表(B1 条款③⑤对账输出与预警⑥ = "禁止独立调参"纪律的量化边界,C3 调参必须在其内工作或显式扩界;registry 回执见依赖节对账登记表) F7 七步流程;B1 条款③⑤对账输出;对账登记表

MVP 行值总表(权威枚举,出处 = 切片 .tres v3)

关卡 深度 enemy_id display_name hp atk(区间) unit_count(_max) pattern armor_type
L1 D0 goblin 地精 24 7 [4,10] 1 (2) [attack] none
L1 D1 goblin 地精一伙 13 5 [2,8] 2 (3) [attack] none
L1 D2 bugbear 熊地精 40 9 [6,12] 1 [attack, charge, heavy] a
L1 D3 bugbear 熊地精双雄 18 6 [3,9] 2 (3) [attack, charge, heavy] a
L1 D4 ogre_chief 食人魔酋长 150 9 [6,12] 1 [attack, attack, charge, heavy] b
L2 D0 bugbear 熊地精 30 7 [4,10] 1 [attack, charge, heavy] a
表 转正行集(登记值)
BoardGenTable L1 深度轴 D0/D1 10×10 · D2–D4 12×12 · d0.25/t0.88 · attempts 24
HeroTable atk = 6 · max_hp = 50
RewardTable 要点 格子池四行即时类(attack_up 20 / defense_up 16 / spark_aoe 16 / heal_minor 15)· 注入池三行可选类(knife_t1 60 / knife_adv 30 / heal_pack 10——供给控制器注入)· clear_blast 40(clear_default 槽,instant_aoe 当场兑付,完美 ×2)
RewardConfigTable t_fog_min=2 · k_dmg=0(保底语义由战斗首件保证取代)· n_draft=32 · p_min=8 · active_p0=0.4 · active_decay=0.5
SettlementTable 增补字段 damage_a_per_cell=1 · damage_a_cap=8 · damage_b_per_flag=2 · armor_effectiveness 克制矩阵(base/dmg_a/dmg_b × none/a/b——特化 ×150 / 无甲 ×100 / 对位 ×50)· p_perfect=200 · D_ref=12
  • 实测依据:期望扫描 N=15–30 × 多种子 + 8 种子密度实验 + 试玩批次 1 + 减伤墙批。
  • v3 数值批(试玩批次 1 裁决):atk 4/4/6/4/7 → 7/5/9/6/9(约 +50%,承伤侧主杠杆);D0 24 保持防秒杀(20hp 会被首轮盲挖粉尘秒杀——12+9);Boss 130→150(用户拍板可上调)。
  • 区间批(现行):奖励五行 power 区间化(heal_minor [2,6] / knife_t1 [5,11] / heal_pack [6,18] / knife_adv [10,22] / clear_blast [25,55]——身份批内 roll,中点恒等原值)+ 敌方 atk 区间化(上表 [min,max],遭遇骰同流 spawn 期整战持久,±3 provisional)——宽度均 provisional 归本 GDD 测量迭代;A3 条款①当量锚以中点口径维持;验收口径 = 完美策略档 0 加成通关 ≤40%(OQ7)。
  • 加难走廊(带锚定稿预登记):L1 基线通关率目标 [30%, 50%],现扫描 60% 越上界——杠杆候选 = r_boss 上探走廊(Boss 180–207,见 Boss 血量锚公式)+ 群战上探 + 供给 decay 0.5→0.6;扫描验证待执行(OQ7——本会话无 godot 运行时),落带前 v3 值维持 provisional-pending-scan。

遭遇随机化细则(Core Rule 8)

项 语义
区间语义 unit_count 升级为 [unit_count, unit_count_max];unit_count_max 可省略——缺省 = 定值,旧行零迁移
域 [unit_count, 3](B2 unit_count 上界锁定不变)
掷骰时点 B1.begin_battle 实例化期(扫雷开始前)按区间均匀骰定本战实际数量(B1 GDD 增补条款)
敌种不变 同敌种掷骰——不触碰 B2"每行集恰一敌种"锁定
随机通道 RngService encounter 封闭流(registry 流集合已登记);scope_event_binding = 每次战斗实例化恰一 scope;发生在挖掘决策域之外(P1 合规)
消费方式 B1 掷骰 → B2.spawn 以 override 参数接收实际数量(B2 零随机纪律保持——收到的即确定值;B2 GDD 增补条款)
教学位豁免 新敌种首遇节点固定数量不加骰(D0 goblin ×1、D2 bugbear ×1 固定——行值总表)
可回放性 同种子全程可回放(流取号确定性不变)
设计原则 数量是比单体质变更优先的深度表达(关内深度坡度公式 Example 延伸);期望总量对齐关级恒等式检算

调参约束边界(Core Rule 9)

# 约束边界 内容
① 条款③满配破线 unit_count>1 的行须满足"降密度或降 m_amb"补偿——registry clause3_supply 已登记;切片群战行 hp/atk 下调为合规先例
② 条款⑤清图支配性 约束包①需求对 clear_blast(instant_aoe,C = power = 40)重推:缺口 = 46.1−40 = 6.1(L1)/ 91.8−40 = 51.8(L2)——登记为非支配设计态 + OQ4 playtest 观测弃图率(原 clear_knife C=8/16 模型由现行登记替代)
③ 可推理率绝对锚 target ∈ [0.85, 1] 不可下探(P1 生成端保证)
④ 期望表对照 调参后期望表必须复算并在 README 调参日志登记偏离

枚举

DifficultyTable(新表,MVP 空表——结构位)

项 值 语义
键 (level_index, node_depth) 按坐标施加的全局修饰
乘数域 [0.1, 10](registry 预登记) 套乘施加点 = B2.spawn 实例化时、行值快照之前;越域 → clamp 至域界 + warning(registry 登记的显式例外——组合事故非配置事故,非 fail-fast 场景)
MVP 行集 空(零修饰行) 首个使用场景 = 精英节点;Boss 走 Dmax 直填行、不走修饰表;建表走 D2 接口漂移规则

EnemyTable.unit_count 区间语义(Core Rule 8)

字段 域 语义
unit_count int [1, 3] 区间下界;旧行语义 = 固定数量
unit_count_max int [unit_count, 3],可省略 区间上界——缺省 = 定值,旧行零迁移;掷骰 = B1 实例化期区间均匀骰

RngService 流集合(encounter——已登记)

流 scope 绑定 消费点 语义
encounter 每次战斗实例化恰一 scope B1.begin_battle 实例化期(扫雷开始前) unit_count 区间均匀骰——同敌种数量随机;发生在挖掘决策域之外(P1 合规);同种子全程可回放

A4 变异 unlock_level 门控序列(投放计划归 C3)

序 内容 门控 说明
1 普通图(无变异) 基线 —
2 雾 unlock_level = 2(A4 锁定) 雾参数 f≤8d / ≤0.25(P1 度量绝对上限)
3 岩浆/冰冻 随关卡扩展 无 MVP 容器(A4 锁定)——投放计划归 C3

数值结论与推导

定位声明:C3 是数据系统——运行时零新增公式(数值直填基表行,运行时仅经既有 B1 乘区 / B2 接口 / R1 直读运作)。本节全部公式为设计期工具式(曲线拟合基准、区间估算、对账复算),执行载体 = 调参期批量工具(level_monte_carlo.gd / reward_expectation.gd,见 F7),不进入游戏运行时。全部数值 provisional 起步,随 playtest 修正。

F1 关内深度坡度(D 轴小坡度)

结论:hp_D = round(hp_0 × (1 + s_hp × D))——每档 +5%–20%,Dmax=4 处 1.2–1.8 × D0、Dmax=5 处 1.25–2.0 × D0(同敌种内);MVP 直填行近似此式、不运行时计算;敌种切换(新敌种登场)不受本式约束——台阶值直接定。

推导

hp_D = round(hp_0 × (1 + s_hp × D))

Variables:

Variable Symbol Type Range Description
深度基准值 hp_0 int [1,999] 该敌种 D0 行 hp
坡度系数 s_hp float [0.05, 0.20] 每深度档增幅
节点深度 D int [0, Dmax] 节点深度(Boss = Dmax)

验算与边界:

项 内容
Example goblin 24hp:D1 理论 24×1.1 ≈ 26——切片实际以"群×2"(13hp ×2–3 只)表达深度压力:数量是比单体质变更优先的深度表达(保持单拍环低威胁读数、总量受控)

F2 关间台阶(L 轴大台阶)

结论:base(L+1) ≈ base(L).Dmax × k_L、k_L ∈ [1.3, 1.6]——k_L 作用于同敌种基准(敌种延续场景,如 L2 bugbear 延续至 L3);新敌种登场时基准按其环复杂度重定(三拍环单位 hp 低于单拍环同关值——切片先例:bugbear 40/18 < goblin 群总量但威胁更高)。

推导

base(L+1) ≈ base(L).Dmax × k_L        k_L ∈ [1.3, 1.6]

Variables:

Variable Symbol Type Range Description
关间系数 k_L float [1.3, 1.6] 下一关 D0 基准 = 本关 Dmax × k_L(数值跳升 + 新敌种/新变异共同构成台阶感)

验算与边界:

项 内容
Output Range 相邻关数值倍率 1.3–1.6;叠加新敌种环复杂度,实际体感台阶更大
反例 L1 Dmax 酋长 150hp → L2 D0 bugbear 基准 ≈ 210 的直推不成立——新敌种登场基准按环复杂度重定,k_L 仅适用于敌种延续场景(L2 锚行 30/7 为内容行非 k_L 直推)

F3 Boss 血量锚

结论:boss_hp ≈ round(Σ普通战斗hp期望 × r_boss)、r_boss ∈ [0.5, 1.1]——"Boss 是本关最大的单场消耗",量级上探至全关消耗;加难走廊 [1.1, 1.35] 预登记(带锚定稿——L1 通关率压带首选杠杆,扫描终裁后落带)。

推导

boss_hp ≈ round(Σ普通战斗hp期望 × r_boss)        r_boss ∈ [0.5, 1.1](走廊 [1.1, 1.35])

Variables:

Variable Symbol Type Range Description
本关普通战斗 hp 期望总和 Σ普通战斗hp期望 float [1,999]×N 本关全部非 Boss 节点的敌方 hp 期望合计(含 unit_count 区间骰期望——口径与击杀侧恒等式统一)
Boss 占比 r_boss float [0.5, 1.1](走廊 [1.1, 1.35]) Boss 相对全关消耗的血量锚

验算与边界:

验算 读数 判定
L1 v3:Σ = 36(D0 [1,2]×24)+ 32.5(D1 [2,3]×13)+ 40(D2)+ 45(D3 [2,3]×18)= 153.5 → Boss 150/153.5 ≈ 0.98 带内 ✓(口径更正:旧验算 Σ=142 为固定数量口径与旧 Boss 值混算,由本行替代;口径与击杀侧恒等式统一)
走廊验算 Boss 180/153.5 ≈ 1.17、200/153.5 ≈ 1.30 ∈ [1.1, 1.35] 走廊内 ✓
败北分布 向 Boss 集中(4/6) 符合压迫预期 ✓

F4 生存侧:期望承伤与 S 区间

结论:E[承伤/场] ≈ Σ_rounds Σ_enemies E[beat_dmg] × (1 − E[减伤] − weaken覆盖);对照带 ≤20%/普通场、≤50%/Boss 场。派生生存区间 S = [(HP进战 + 治疗下界) ÷ 入伤峰值, (HP进战 + 治疗上界) ÷ 入伤谷值]——区间模型三档判定的生存侧输入。

推导

E[承伤/场] ≈ Σ_rounds Σ_enemies E[beat_dmg] × (1 − E[减伤] − E[weaken覆盖])
S = [ (HP进战 + 治疗min) ÷ 入伤峰值 ,  (HP进战 + 治疗max) ÷ 入伤谷值 ]

Variables:

Variable Symbol Type Range Description
每拍期望伤害 E[beat_dmg] float [0,999] 敌 atk × 拍别乘数(heavy=2)+ 伏击 flat(+3×层数,帽 4)——行为环确定性轮转
减伤期望 E[减伤] float [0,0.6] defense_up 授予率 × 当次减伤(−30×2 层帽 −60%——减伤墙批现行值)
weaken 覆盖 E[weaken覆盖] float [0,0.65] 标中旗 −65% 输出对战斗轮的覆盖期望——生存侧最大单一杠杆(P3 兑现点)
入伤峰值/谷值 d_max / d_min float [0,999] 峰值 = heavy 齐射尖峰 + 伏击满层、零减伤;谷值 = charge 拍 + 全减伤

验算与边界:

验算 读数 判定
D0 goblin ×1(7atk 单拍环)每结算恒 7 × (1−0.22 平均减伤) ≈ 5.5/轮 → 裸 R_survive ≈ 50/5.5 ≈ 9 轮 — L1 五战 S 区间手算见区间模型验算表
减伤墙批注 defense_scan 实测墙轮 39%、真人 12/12 轮零承伤满血通关 → defense_up −50→−30、石肤权重 24→16 承伤带复验责任随批(B3 侧注记已挂)

F5 通关率目标带(期望表核心)

结论:通关率按 (L, 天赋档) 目标带验收——L1 基线 30–50%(带锚定稿,替换原 40–60%);区间机制解释:+100% atk → K 区间近似减半 → K_max ≈ S_min 转绿档 → ≥95%。真人方向更正:批次 1 实测真人显著强于模拟者(v2 真人 100% vs 模拟 80%)——原"真人预期低于模拟"方向声明由本结论更正;带按模拟口径定义,真人系数批次 2 标定(OQ3)。

推导

Variables(目标带):

目标带 基线(无天赋) 中天赋(+100% atk) 高天赋(+200%)
L1(首关) 30–50% ≥95% 100%
L2 20–40%(provisional,随 OQ1 校准) 60–80% ≥90%
L3+ 10–25%(provisional) 40–60% 60–80%

验算与边界:

项 内容
v3 扫描 基线 60%——越 [30,50] 上界 → 加难杠杆批内即调(带锚定稿杠杆:r_boss 走廊 + 群战上探 + decay 0.6 候选);扫描落带前登记 provisional-pending-scan(OQ7)
完美策略档扫描(OQ7;工具 = smoke/auto_player.gd 完美档求解器 + level_monte_carlo 策略轴) 区间批后复测(2026-09-14,N=30):0 加成通关仍 100%、剩余 HP 均 47.4/50、承伤均 3.9(区间前 3.5)、踩雷 0.00/局——+50%~+200% 恒 100%;承伤带与 F5 带对技能轴上界零分辨力(calibration_gap 定量读数)。实测结论:奖励侧 + 敌方侧数值区间已全部落地仍压不动完美档——其结构性优势(零踩雷直伤 + 全标旗 weaken 顶格 + 快杀)使 47/50 血缓冲吞掉全部值域方差;≤40% 验收线需结构性杠杆(承伤硬地板 / weaken 饱和语义 / 完美度定价)或极端宽度(毁基线与可读性,建议否决)——待用户裁决(OQ7 待拍板主项)
败北分布 向 Boss 集中(4/6)✓;+200% 天赋 100% ✓
机制钩子 天赋列由区间位移承载(K 减半 → 绿档),非独立拍脑袋带

F6 生存链区间模型(替代关级供给带)

结论:原关级供给带(比值 ∈ [1.1, 2.0])由本模型替代——其验算 0.54"短缺态"与实测 60% 通关矛盾,方向指引反指(对偏易的游戏报"加供给")。现行 = 生存链区间模型:每战 S/K 区间三档判定(绿=稳定通过 / 黄=期望通过 / 红=配置事故禁止入表)+ 关级通关恒等式 + 输出占比带。设计期工具式,运行时零公式。

推导

S = [ (HP进战 + 治疗min) ÷ 入伤峰值 ,  (HP进战 + 治疗max) ÷ 入伤谷值 ]   (生存区间——F4)
K = [ (Σ敌hp − 一次性伤害max) ÷ 输出峰值 ,  (Σ敌hp − 一次性伤害min) ÷ 输出谷值 ]  (击杀区间)

绿档: S_min > K_max        —— 最坏也能过,与运气无关(教学位必须绿档)
黄档: E[S] ≥ E[K] + 1 且非绿 —— 有失败分支,期望占优(margin ≥ 1 轮最低阈值)
红档: S_max ≤ K_min        —— 最好也打不过,配置事故(F7 第③步拦截)

关级恒等式: atk × Σ R_survive(i) + Σ奖励输出 ≈ Σ敌hp期望 × (1 + 缓冲)
            (actuals 逐项审计闭合——五项输出 × 三项输入全部入账)

Variables:

Variable 来源 Description
入伤 表值 + actuals 敌 atk × 拍别乘数 + 伏击 flat − 减伤 − weaken(F4)
输出 表值 + actuals 基础攻击 6×(1+attack_up) + 伤害A(开格充能 1/格 帽 8,甲A ×1.5/甲B ×0.5)+ 伤害B(标雷充能 2/雷,甲B ×1.5/甲A ×0.5)+ 刀(8/16,不吃 percent)
一次性伤害 表值 + actuals clear_blast 40×清图数(完美 ×2)、囤刀倾泻
治疗 表值 + actuals heal_pack 12 + heal_minor 4(注入/格子池期望)
数量骰 表值 unit_count 区间 [unit_count, unit_count_max]

验算与边界:

项 内容
L1 五战区间手算(≈ 估算,p10–p90 口径) D0 goblin×1(教学位固定):S≈[7,12] vs K≈[2,4] → 绿 ✓ · D1 ×[2,3]:S≈[4,10] vs K≈[2,6] → 黄 · D2 bugbear(首遇固定):S≈[4,12] vs K≈[2,6] → 黄 · D3 ×[2,3]:S≈[2,6] vs K≈[2,7] → 黄偏红 · Boss 酋长:S≈[4,15](旗覆盖率主导)vs K≈[7,18](囤刀+甲B 对策)→ 黄红边缘
L1 形态带 ≥1 绿(教学位)+ 中段黄 + Boss 黄不红——手算形态符合 ✓
关级恒等式漏项审计 原供给 180 的漏项:clear_blast 只算一次(实际 ×清图数 3–4 = 120–160)、伤害A/B 充能、attack_up 增量、RAP 刷新新板追加供给——逐项入账后闭合,"0.54 短缺"消失
输出占比带 奖励侧输出(刀+clear_blast+A/B 充能)÷ 总输出 ∈ [15%, 40%]——<15% 奖励摆设、>40% 供给依赖(AC-14)
口径注记 区间两口径:公式包络(必过/必死结论)与 actuals p10–p90(日常判定——B1 actuals p10 纪律同构);HP 持久化耦合各战区间,联合分布由 monte_carlo 裁决
C4 平移换算率 +10hp ≈ +1 轮(÷d̄≈8–10);atk 翻倍 ≈ K 减半——区间位移机制承载通关率天赋列,非独立拍带

F7 调参流程(每次修订强制走完——七步)

结论:改表值 → smoke_all 全绿 → level_monte_carlo 扫描(通关率带 + 三档判定 + 通关余量 + 占比)→ B4 登记常数与对账重制 → 对账复算(条款③⑤/预警⑥)→ README 调参日志登记——任一步 FAIL → 回滚或登记 OQ,禁止带病前进。

推导

Variables:

Variable Symbol Type Range Description
批量样本量 N int ≥256(正式)/ 15–30(切片临时) 正式批量工具 = level_monte_carlo 扩展(逐行聚合 + N 参数化 + 区间分位/降级统计)——扫描执行本体归 A1 F4 工具交付(A1 OQ1),C3 的 level_monte_carlo 扩展为消费方(所有权澄清:A1 工具产出 actuals → C3 扫描消费,非替代)

验算与边界:

项 内容
Output Range 任一步 FAIL → 回滚或登记 OQ,禁止带病前进
Example 切片 d0.28 回退先例:d0.28/t0.87 → best≈0.81 降级告警 → 回退 0.25/0.88——第 2 步(A1 生成质量闸)拦截的成功案例
第④步依据 B4 义务 #10:"C3 调参流程若无'登记常数与对账重制'步骤则相关 AC 假失败"(T_fog_min/K_dmg/N_draft/P_min/默认根行值调参 → B4 AC-19 对账对 (knife_adv, attack_up_basic) 漂移检测、AC-6 分支 4、AC-18 重跑)

状态

状态 进入条件 行为/出口
未调参行 新增 (L,D) 行仅有结构占位 经七步流程 → 已调参
已调参行 行值经批量仿真 + 期望表对照 + 对账复算 任何修订 → 重走七步流程
SLICE-TUNED 转正 切片临时值经本 GDD 背书(行值总表 v3) → 已调参(切片行集转正条款)
provisional-pending-scan 加难杠杆候选值已登记、扫描步未执行 扫描落带 → 已调参;越带 → 回滚候选
期望表偏离 调参后期望值越出目标带 → 回滚或 OQ 登记(禁止静默出带)

不变式:C3 无运行时状态机(数值系统);设计期任一行值恒处于上表五态之一;期望表偏离禁止静默出带。

边界情况

条件 行为 依据
unit_count>1 行与高密度板组合 条款③满配语境破线(B1 F4 双轴约束)——该组合禁止入表;切片先例 = 群战行 hp/atk 下调补偿;对账复算在流程第 5 步强制执行 Core Rule 9① / B1 F4
关卡深度轴缺行(如 D3 缺失、D4 存在) 调参期冒烟断言拦截(跨表存在性检查——C3 调参工具域载体;D2 R1 fail-fast 语义不动);R1 floor 解析静默兜底至低档(难度降而非崩)+ ConfigDB warning 四元组仅作运行时兜底——缺行根因是调参事故而非运行时事件 AC-1 / D2 R1
请求越界关卡(level 999) R1 floor 解析至表尾行(难度封顶 = 尾行值)+ warning——冒险结构(C2)应在其内容覆盖范围内生成关卡序列;越界 = 内容生产缺口,非玩家可达态 D2 R1
玩家天赋拉满(atk+200%)打最低难度行 速杀退化(预警⑥——战斗 1–2 轮终局、奖励系统饿死自己的高光);处置 = 预警⑥仪表监控(战斗结束未开资格格占比 >70% 警)+ 接受——低难度行被高天赋速杀是 Roguelike 成长兑现的合法形态,无需修复(区间形态:K_min < 2 = 预警⑥观测位) 区间模型 / 预警⑥
密度上探压垮推理率(d0.28 案例) best inferability ≈0.81 < target 0.87 → 降级告警"接受最优出图";处置 = 回退(切片先例:0.28/0.87 → 0.25/0.88)——密度与 target 是联动对(A1 求解器能力的天花板内联动调参),禁止为难度牺牲 P1 度量达标;流程第 2 步闸拦截 F7 / A1 F4
条款⑤清图支配性反转(弃图率 >30%) 玩家普遍发现"挖一半就弃图刷 RAP"优于"推到底清图"→ 清图奖励与清图体验被支配;处置 = OQ4 playtest 观测(自动模拟者不弃图,测不到真人策略);届时杠杆 = C 量级上调(B1 约束包①,现值 clear_blast 40)或弃图成本重定价(A3 域)——MVP 接受当前非支配设计态(缺口 6.1/51.8,实测后再裁) B1 F5 / OQ4
投放节奏断档(某关无新敌种且无新环段) OQ8 违例——敌信息总量见底,学习曲线枯竭;处置 = 流程投放检查项(每关至少一项新内容——敌种投放节奏条款);违规 = 内容生产缺口,C3 调参无法修补(数值不是内容) B2 OQ8 / AC-6
全部行值调至域上限(hp 999 等) 数值可行但可玩性崩塌;处置 = 通关率带对照拦截(期望表全面越带 = 配置事故)+ 域校验既有护栏;本场景属调参事故而非玩家可达态 F5 / D2 域校验
DifficultyTable 修饰行与直填行值叠加后越域(首个精英节点上线时) B2.spawn 套乘后 hp >999 → clamp 至域界 + warning(fail-fast 不适用——修饰乘数是合法配置,越界是组合事故;域界 = 玩法硬顶);MVP 空表无此场景,规则预登记 DifficultyTable 乘数域
通关余量越带 p90 >13(赢得从容)→ 生存侧杠杆优先(治疗稀有度下调 / 敌 atk 上探),击杀侧杠杆次之;p10 <3(1–2 血惨胜成常态)→ 治疗供给上浮或 Boss 前恢复点增益——余量是形态指标,与通关率带联合判读 AC-13 / 区间模型

依赖

上游:

系统 性质 接口要点
D2 上游(硬) 全部基表 schema、R1 解析、ConfigDB 单点读取归 D2;C3 产出 = 行值;DifficultyTable 新表走 D2 接口漂移规则(registry difficulty_table 已登记);禁绕过 ConfigDB 自建 load(D2 Rule 2);RngService encounter 封闭流(registry 已登记);EnemyTable schema +2 字段(unit_count_max、armor_type)——接口漂移已回写 D2
B2 上游(硬) EnemyTable/HeroTable 行值由 C3 填(B2 拥有字段语义与校验域);修饰施加点 = B2.spawn(实例化时套乘、行值快照之前);spawn override 参数 + unit_count_max 字段语义 + 物种集 {goblin, bugbear, ogre_chief}——接口漂移已回写 B2;投放节奏 OQ8 共担;多敌种同深度选择规则共裁(OQ7——C1 联动)
B1 上游(soft,事实依赖) 条款③⑤对账输出 = 调参约束输入(B1 F4/F5 = 约束生成器);P_perfect 乘数调参权归 C3(B1 登记);begin_battle encounter 掷骰增补 + 护甲克制结算(armor_effectiveness/damage_a/damage_b 字段)——接口漂移已回写 B1;期望口径双读数纪律(锚行读数不得用于 unit_count=2 放行);对账复算义务随每次修订
B4 上游(soft) RewardTable/RewardConfigTable 参数值归 C3;供给控制器机制本体归 B4(转正登记——首件保证 + 指数递减注入,active_p0/active_decay 参数归 C3);clear_blast 换位 + K_dmg=0 转正(B4 保底语义迁移);敌 hp 曲线与奖励供给禁止独立调参(registry 联动重算义务——区间模型恒等式为联合检算工具);调参期批量仿真义务载体
A1 上游(类型依赖) BoardGenTable 行值归 C3(含 max_gen_attempts 策略);禁反向调用生成(仅经 D2/编排器传值);F4 批量红线(严格零降级)= 调参闸;F4 全量批量工具 = A1 交付物(A1 OQ1),C3 level_monte_carlo 扩展为消费方;d0.28 回退先例 = 密度×target 联动调参的实证;黄金向量/solver_rules 冻结不经 C3
A4 上游(soft) scope=global 语义由本 GDD 定稿(Core Rule 7);unlock_level 门控序列投放计划归 C3(随关卡扩展);AC-11 未来腿 = elite/boss 标记字段落地时 A4 warning 升闸——已登记为 A4 接口漂移义务
A3 上游(soft) ActionEconomyTable 联动观测(ap_per_round 双重身份——节奏兼 RAP 转存规模)——联动评估归 C3,调参所有权归 A3(措辞更正:A3 GDD 无调参权授予回执);跨字段校验(动作成本 ≤ ap_per_round)约束内观测
B3 上游(soft) StatusEffectTable 四行强度(attack_up +50 / defense_up −30 / weaken −65 / ambush +3)provisional 归 C3 联动评估(B1 免伤轮合法性注记——强度评估归 C3 对账联动);减伤墙批(−50→−30)为 B3 侧行值批,C3 承伤带复验随批

下游:

系统 接口要点
C1 节点深度语义消费;精英节点形态联动(精英节点预留条款 / A1 定稿强制重审);未设计——Boss=Dmax 约定即为其预留的接口
C2 关卡序列的难度排布消费本 GDD 期望表;越界关卡 = 内容生产缺口(边界情况表);未设计
C4 下游(远)——元进度天赋数值的"世界侧对照物":通关率目标带(F5)是 C4 天赋强度的标定基准;区间平移换算率(+10hp ≈ +1 轮、atk 翻倍 ≈ K 减半)为 C4 设计输入;未设计
呈现层(B5/D1) Boss 登场仪式感 / 难度台阶可感知性——视觉义务归 B2/B5,C3 仅提供"何时变难"的数据(见呈现与 UI 契约)

双向一致性核对(registry / systems-index 回执):

编号 内容 对侧 状态
X-1 systems-index 依赖表 C3 ← D2,B2;B1 块增补"C3 消费 B1 对账输出的事实依赖成立" systems-index ✅
X-2 "敌种 hp/atk/pattern 曲线数值、难度修饰 → C3" B2 ✅
X-3 "C3 = 条款③⑤约束输入方" B1 ✅
X-4 "权重/档位/威力曲线 + RewardConfigTable 参数归 C3" B4 ✅
X-5 "每行难度数值与曲线 → C3" A1 ✅
X-6 B1:begin_battle encounter 掷骰增补 + 扫描 scope 腿 + B1"零随机"边界扩界注记(encounter 流在结算步流之外) B1 ✅(本次修订批回写)
X-7 B2:spawn override 参数、unit_count_max 字段语义与实例化记号调和、物种集 {goblin, bugbear, ogre_chief} B2 ✅(本次修订批回写)
X-8 D2:EnemyTable schema +2 字段(unit_count_max、armor_type);SettlementTable +4 字段(damage_a_per_cell/damage_a_cap/damage_b_per_flag/armor_effectiveness) D2 ✅(本次修订批回写)
X-9 B4:供给控制器机制承接 + clear_blast 换位 + K_dmg=0 禁区条款解除(保底语义迁移) B4 ✅(本次修订批回写)
X-10 A4:elite/boss 标记字段落地时 warning 升闸(AC-11 未来腿) A4 ✅(义务登记)

对账与义务登记(B1 对账输出承接——审计资产):

编号 内容 对侧 状态
条款③ 满配破线两轴:unit_count>1 行须满足"降密度或降 m_amb"补偿(B1 F4 双轴约束)——registry clause3_supply 登记在案 B1 / registry 已登记——切片群战行 hp/atk 下调为合规先例
条款⑤ 清图支配性:46.1/91.8 需求 vs clear_blast C=40 现值(缺口 6.1/51.8,对 clear_blast 重推)——登记为非支配设计态;预留杠杆 = C 量级上调(B1 约束包①)或弃图成本重定价(A3 域) B1(B1 F5) 已登记——OQ4 playtest 持续观测弃图率
预警⑥ 快杀退化:战斗结束未开资格格占比 >70% 警——高天赋速杀低难度行 = 合法形态,仪表监控不修复;区间形态钩子 = K_min < 2 观测位 B4 / B1 已登记
unit_count 约束 区间 [unit_count, unit_count_max] ⊆ [1,3];>1 行联动条款③复算(流程第 5 步强制) B1 / B2 已登记
期望口径双读数 锚行读数(2.0×/2.6× 类)不得作为 unit_count=2 的放行依据 B1 已登记

呈现与 UI 契约

C3 无自有视觉/音频/UI 资产(数值系统)——义务转注如下;无新增资产需求、无 D1 新增义务登记。

# 义务 归属
1 Boss 登场呈现(仪式感锚点——体验锚点"压迫的顶点");设计输入 = Boss=Dmax 行的数据面(本 GDD 提供) B5 战斗表现 / D1
2 难度台阶可感知性:新敌种 = 新图像线索 = 台阶的可视面孔(意图推测型——图像线索档位编码,"这只比上层的硬"可读) B2(D1×4 义务)
3 变异解锁的"这一层有雾了":图例与首遇提示(已登记义务) A4 / D1
4 期望表 / 批量仿真输出 = 调参期开发工具(headless——非游戏内 UI) 开发工具
5 恢复点/奖励点呈现:C1-lite 切片已实现的节点覆盖层;正式形态归 D1/C1 D1 / C1

Tuning Knobs

C3 是全项目 knob 保有量最大的系统(数值 owner)。全部值 provisional 起步;域与校验归各表 schema(D2);本表只登记所有权、联动与危险方向。

Knob 表 域 联动 过高 过低
EnemyTable.hp/atk(逐行) enemy.tres [1,999] / [0,999] 与 B4 供给禁独立调参(区间模型恒等式联合检算);cap×atk 禁独立(B2) 打不死、战斗冗长 快杀退化预警⑥
EnemyTable.unit_count / unit_count_max(逐行) enemy.tres [1,3] / [unit_count,3] >1 行须降密度或降 m_amb(条款③);区间骰经 encounter 流 条款③破线 压力不足/遭遇零随机
EnemyTable.pattern(逐行) enemy.tres MVP 三值组合 OQ8 投放节奏(每关新环段) 信息过载 学习曲线枯竭
EnemyTable.armor_type(逐行) enemy.tres {none, a, b} 克制矩阵联动(settlement armor_effectiveness);伤害A/B 充能消费面(B1 域,C3 投值) 克制失配 特化对策失效
HeroTable.atk/max_hp hero.tres [1,999] 全部输出式的分母锚(F4/F6) 奖励价值稀释 挫败感
BoardGenTable 尺寸/密度/attempts(逐行) board_gen.tres 域见 schema 密度×target 联动(d0.28 回退先例);unit_count>1 行联动 推理率不达标降级 板退化(低密度先布后删)
BoardGenTable.inferability_target(逐行) board_gen.tres [0.85,1] 绝对锚 与密度成反耦 生成耗时/降级 P1 空心化
BoardGenTable 雾参数 board_gen.tres f≤8d / ≤0.25 unlock_level=2 锁定 P1 度量空心(绝对上限) 雾内容缺位
RewardTable.weight/power/tier(逐行) reward.tres 域见 schema 区间模型恒等式;攻击面稀释;clear_blast 单行槽 即时类淹没明细/可选类贬值 窗口空转/重 roll 频发
RewardConfigTable.{t_fog_min,k_dmg,n_draft,p_min} reward_config.tres 域见 schema k_dmg=0 = 保底断言关闭(禁区条款已解除——保底语义由首件保证取代) 保底永不触发 种子轮盘致命
供给控制器 active_p0/active_decay reward_config.tres [0,1] / (0,1] E[战斗获取]≈1 目标(B4 机制本体承接);与敌 hp 联动 速杀+囤积回归 可选类绝育
SettlementTable.{damage_a_per_cell,damage_a_cap,damage_b_per_flag,armor_effectiveness} settlement.tres 域见 schema Boss 甲B 对策 = B 充能;A 克制甲A;联动网络 #6 Boss 裸打过慢 充能失效
ActionEconomyTable.{ap_per_round,rap_refresh_cost,refresh_max_per_round} action_economy.tres 域见 schema ap 兼 RAP 转存规模;调参所有权归 A3,C3 联动评估 轮次冗长 决策密度坍缩
SettlementTable.P_perfect(乘数) settlement.tres {100,200} 完美排雷×清图支配性互 feed 钓鱼线(护栏 B) 高光缺位
DifficultyTable 修饰乘数(MVP 空表) difficulty.tres(待建) [0.1,10](registry 预登记) 精英节点上线时启用 越域 clamp+warning 无修饰

DifficultyTable schema(difficulty.tres 待建——D2 接口漂移建表)

字段 类型/域 默认 knob
level_index + node_depth(复合键) int × int — ✗(结构键)
修饰乘数 float [0.1, 10](registry 预登记域) —(MVP 空表无行) ✓(精英节点上线时启用;越域 clamp + warning——域界 = 玩法硬顶)
elite_ / boss_ 前缀预留字段位 命名空间预留(D2 schema 断言期望暴露) 无 ✗(预留,随精英节点语义定稿)

联动网络(禁止独立调参清单)

# 联动 纪律
1 敌 hp ↔ 奖励供给(registry 已锁) 单边移动必走区间模型恒等式联合检算
2 unit_count ↔ 密度/m_amb(条款③) 群战行上线前的强制复算
3 密度 ↔ target ↔ attempts(A1) d0.28 回退先例的三元组
4 ap_per_round ↔ RAP 体系 ↔ refresh 上限(A3 + 轮内刷新批) 跨字段校验闸承载
5 m_w(weaken −65)↔ 锚对照表(B1 F0) 终值共裁 B4/B1,调参走 C3 提案通道
6 armor_type ↔ 伤害A/B 充能 ↔ 克制矩阵(B1 域) 敌种甲型变更须复算 Boss/普通战 K 区间

验收标准

AC Given When Then
AC-1 LevelTable 任一 battle/boss 节点 (L,D);ConfigDB 加载全部表 调参期冒烟断言逐节点查两表 board_gen 与 enemy 两表存在该 (L,D) 精确行(跨表护栏⑧转正——载体 = C3 调参期冒烟断言;运行时 floor 兜底属 D2 R1 既有语义)
AC-2 MVP 全部 (L,D) 行 逐行扫描 inferability(批量 N=256/行——A1 F4 工具交付后的正式红线) 全部行 inferability ≥ target ≥ 0.85(P1 绝对锚)且 A1 断言族(退化板/R₀≠S)零违例
AC-3 EnemyTable 全部 unit_count>1 行 条款③复算(密度 × m_amb 组合) 无破线组合存在(Core Rule 9①)
AC-4 MVP 全部行集(区间模型) level_monte_carlo 逐战 S/K 区间扫描 零红档组合(S_max ≤ K_min 禁止入表);教学位绿档;L1 形态带 = D0 绿 + 中段黄 + Boss 黄不红(F6 三档判定)
AC-5 期望表目标带(F5) level_monte_carlo 全带扫描(基线/+100%/+200%) L1 基线通关率 ∈ [30, 50](现值 60% 越上界——加难杠杆批内执行,扫描落带前 provisional-pending-scan);越带须 OQ 登记——禁止静默出带
AC-6 L1 全部行集 枚举敌种与环段 每关至少一项新投放(新敌种或新环段——OQ8;L1 = goblin→bugbear→ogre_chief 三段 ✓)
AC-7 Boss 行(Dmax) F3 检算(期望口径 Σ=153.5) r_boss 记录在案(现值 0.98 带内 ✓;越带须 OQ 登记——加难走廊 [1.1,1.35] 走 OQ2/扫描)
AC-8 每轮刷新 计数达 refresh_max_per_round 第 N+1 次拒绝(表值驱动——A3 域行为,C3 侧验收 = 联动评估记录存在)
AC-9 任何 C3 直辖 knob 修订 检查其联动网络(Tuning Knobs 六组) 对应联合检算记录存在于调参日志(禁止独立调参纪律的流程面)
AC-10 DifficultyTable MVP 空表 B2.spawn 任一 (L,D) 无修饰行被消费(结构位不产生行为)且未来首行上线时套乘点 = 行值快照前
AC-11 scope=global 变异行 MVP 腿:扫描 VariationTable 全行 MVP 无 global 行存在(表级约束)且 A4 warning 通道在位;未来腿:elite/boss 标记字段落地时加载/生成期拒绝(A4 接口漂移义务——X-10)
AC-12 每次调参批 检查 README 调参日志 七步流程的执行记录齐备(流程纪律的可审计面)
AC-13 通关余量(新指标) level_monte_carlo 通关轨迹采集 E[HP_end | 通关] 的 p90 ≤ 13 且 p10 ≥ 3("只剩一点血"量化带——越带按边界情况表杠杆处置)
AC-14 关级恒等式闭合 actuals 逐项审计(流程第③步输出) 输出侧五项(基础攻击/刀/clear_blast/A+B 充能/attack_up)与输入侧(承伤/治疗/减伤)合计闭合 Σ敌hp期望×(1+缓冲),残差 <5%(provisional 阈值)且奖励输出占比 ∈ [15%, 40%]

开放问题

# 悬案 进展 owner 时机
OQ1 L2+ 曲线数值——本 GDD 定结构/流程/目标带;具体数值行随关卡内容扩展填充(内容与数值同批——C2 关卡序列定稿后) 结构已定 C3 随批 L2 内容扩展时
OQ2 Boss 血量占比——v3 记录值更正 0.98(153.5 期望口径,带内 ✓);加难走廊 [1.1, 1.35] 预登记(Boss 180–207 候选);真人实测 Boss 战时长后终裁 走廊预登记 C3 F7 扫描 + playtest 批次 2
OQ3 真人修正系数——批次 1 方向确认:真人显著强于模拟者(v2 真人 100% vs 模拟 80%);F5 方向声明已更正落地;真人系数待 v3 试玩采集定量 方向已定 C3 + playtest playtest 批次 2
OQ4 条款⑤支配性真人观测——批次 1 初步裁决:真人零弃图倾向 → 非支配设计态成立、C 量级不上调 ✓(B1 约束包②采信);P1 对冲弱化同步声明(B1 ② 条件):本裁决弱化 A3 条款⑤对 P1 失败模式的经济对冲,弃图率观测加权监控随之;维持登记:单一样本 初步裁决 C3 + B4 持续
OQ5 精英节点形态——完整语义(独立节点/词缀/出现规则)= C1 分支地图定稿后的联动设计(A1 定稿强制重审随之触发) 未设计 C3 + C1 C1 GDD 定稿
OQ6 轮内刷新对难度模型的冲击——批次 1 初步读数:刷新零使用,根因是盲猜墙不足(inferability 0.88);杠杆预登记:密度联动上探(d0.28/t0.85——A1 回退先例风险);保持开放 初步读数 C3 playtest 批次 2
OQ7 加难杠杆扫描执行 + 完美策略档测量——杠杆候选(r_boss 走廊 180–207 / 群战上探 / decay 0.6)已预登记;执行 = 七步流程第③步 level_monte_carlo 扫描(三档判定 + 通关率带 + 通关余量 + 占比四表对照)。2026-09-14 完美策略档落地(用户拍板):零盲挖/全标旗/卡死刷新技能轴上界测量仪(godot 本机可用已验证)。区间批已落地并复测(同日拍板②——奖励五行 power 区间 + 敌方 atk 区间 ±3):完美档 0 加成仍 100%(承伤 3.5→3.9)——数值区间杠杆族对 ≤40% 验收线无效已实测坐实;主项待裁决 = 结构性杠杆三选(承伤硬地板〔不可减免平伤,B1/B2 域〕/ weaken 饱和语义〔全标旗收益递减,B3/B1 域〕/ 极端区间宽度〔建议否决——毁基线与数字可读性锚〕);落带前 v3 值 provisional-pending-scan 完美档已测;区间批无效性已证;结构杠杆待裁决 C3 用户裁决后

试玩批次记录

批次 日期 数值基线 读数 裁决产出
批次 1(用户本人) 2026-09-12 v2 全部满血通关(清图为主/优先标雷/不用道具三策略均通)——基线难度不足定量坐实;Boss 血量 OK 或可上调;刷新零使用;零弃图倾向;治疗包零使用(不掉血伴生);伤害道具无特色(暂保留) v3 数值批(atk 4/4/6/4/7 → 7/5/9/6/9;D0 24 保持防秒杀、Boss 130→150)+ DND 命名批(goblin/bugbear/ogre_chief——用户指令)+ 护甲克制批(armor_type none/a/b + 克制矩阵,数值 provisional)+ F3 带修订 + OQ2/3/4/6 读数;v3 扫描:基线 60%、败北向 Boss 集中 4/6、+200% 100%;下一批 = v3 真人试玩(OQ3 定量 + OQ2 终裁)
减伤墙批(defense_scan 触发) 2026-09-13 v3 + 减伤墙批 defense_scan 实测墙轮 39%、真人局 12/12 轮零承伤满血通关——减伤墙过强定量坐实 defense_up magnitude −50→−30(叠满两层 = −60 帽)+ 石肤权重 24→16(attack_up 升池内最高行)——B3 侧行值批,C3 承伤带(F4)复验责任随批

版本历史

版本 日期 改动
v2 2026-09-14 /design-review 修订批(8 blocking 核销 + 4 项用户拍板):F6 供给带退役 → 生存链区间模型(S/K 区间三档判定 + 关级恒等式 + 输出占比带 + C4 平移换算率——用户设计)· 带锚定稿(通关率 [30,50] / 通关余量 p90≤13 & p10≥3 / L1 形态带)· F3 口径统一 Σ=153.5 / r_boss 0.98(旧验算 142 替代)+ 加难走廊预登记 · F4 升级生存侧(S 区间)· F5 带 [30,50] + 真人方向更正 · MVP 行值总表 v3 转正(切片 .tres 权威源,旧 SLICE-TUNED 表替代)· DND 更名生效(goblin/bugbear/ogre_chief)· 四批转正登记(armor_type / K_dmg=0 / clear_blast 换位 / 供给控制器归 B4——用户拍板)· B1/B2/D2/registry 接口漂移回写(X-6~X-10)· F7 六步→七步(B4 对账重制步)· AC-4/5 重写 + AC-13/14 新增 · 条款⑤重推(C=40,缺口 6.1/51.8)· Boss atk 台阶重定义 · 减伤墙批补录 · OQ7 新增(扫描执行)
v1-lean 2026-09-13 格式迁移:legacy 原稿按 lean 样例重排——修订注记出正文收敛至本表;规则/枚举/边界情况/对账登记/AC 转表格;曲线生成与调参流程转字符画;公式、Variables 与验算数据全保留;F3 带按现行 [0.5, 1.1] 成文;语义零变更
试玩批次 1 / v3 数值批 2026-09-12 遭遇随机化引入(unit_count 区间语义 + RngService encounter 封闭流——Roguelike 局感引入批,Peglin 对比报告结论 2 的本切片落地项);F3 带修订 [0.35, 0.55] → [0.5, 1.1];v3 数值批(atk 7/5/9/6/9、Boss 130→150、D0 24 保持防秒杀)+ DND 命名批 + 护甲克制批;OQ2/3/4/6 读数登记(条款⑤非支配设计态采信)
初稿 2026-09-12 solo 模式出稿:九核心规则 + F1–F7 + 12 AC + 六 OQ;SLICE-TUNED 转正声明;Boss=Dmax 约定、DifficultyTable 结构位与 scope=global 语义定稿