19 KiB
A5 扫雷辅助道具 设计推演
状态:concluded · 本文只装"为什么"——
design/gdd/a5-minesweeper-aux-items.md只收本文的结论。 修订时新增问题节,不删旧节(历史即依据)。
问题:为什么"看雷"必须窄域(≤3×3)而"看数字/看奖励"可以全图?
广度分析
- 全图级真视常态化:扫雷退化为路径优化——P1"我算对了"塌方,推理玩法自废(反向对照 = 全图透视挂件)。
- 全面禁止真视:雷险(risk)维度无道具承载,五维度覆盖破缺,"买情报"承诺对雷险困境无货可卖。
- 窄域真视(≤3×3):代答锁在救急档——玩家买的是一次局部确定性,不是整图答案。
深度分析
信息效果分两级:恢复推理原料(雾格数字、奖励身份)放大玩家自己的推理,越大越好;替代推理(直接雷位)直接给答案,必须小而贵。全图看数字后玩家仍要自己推雷(推理面最大化而非代答),全图看雷则推理整段消失——两者的体验后果不对称。
护栏若只是设计倡议会被后续内容侵蚀,所以落成 schema 校验:target 必须 ∈ 各空间 kind 支持域交集,mine_reveal 行 target=board_wide 直接加载致命(夹具 a5_target_violation 为承重校验的测试落点)。
综合判断
真视上限 area_3x3、board_wide 仅对 fog_reveal/reward_preview 开放——恢复推理可全图、替代推理必窄域。design 的规则 3、目标域开放表、校验类别表只承载此结论。
问题:无效/零信息目标为什么不可用不消耗(可用性门)?
广度分析
- 照常消耗(B4 E10 道具段拍板同款):防结算管线反抖动,但挖掘期玩家手滑点错白耗道具 = "烧包"挫败源(反向对照 = 无目标校验的"点了就没了")。
- 一律点击级拒绝:板级零信息时(全图无雾)玩家可反复尝试同一件道具,每次弹拒绝 = 噪音,且把"这张图用不了"的发现成本转嫁给玩家。
- 两级门:板级零信息 → 图标灰、入口禁用(B4 usable_now 先例前置呈现);点击级零信息/越板 → 该次拒绝零消耗 + 可辨提示。
深度分析
与 B4 E10 照常消耗是故意的不同,区分理由有三:挖掘期非结算管线(无反抖动压力)、可用性守卫在 A5 本地可判(读 A2 只读面即可,不依赖跨系统协调)、误操作代价不对称(消耗品稀缺,F1 供给有界)。A5 零事件订阅,板级判据随挖掘进展翻转,usable 按 query 时点现算——派生信息层零缓存义务。
两个附属拍板:① area_3x3 边缘窗口照常受理(resolved_target = 窗口 ∩ 板内格,角 4 格/边 6 格)——拒绝案被否决,因贴边拒绝会把烧包感反噬回护栏初衷,且护栏只缩不扩(≤3×3 不因裁剪放大);② 真视零雷恒有效——"这 9 格没雷"本身就是信息非空,不构成零信息拒绝;组合行各 kind 判据取 OR(爆破包因 ap_grant 恒可用;全图卷 = 有未开雾格 ∨ 有未开资格格)。
综合判断
零信息/无效目标不可用不消耗,板级判据走库存投影 usable=false 前置置灰、点击级判据拒绝零消耗。design 的规则 8、谓词表、EC17/EC18 承载此结论。
问题:辅助道具的供给渗透如何锚定?(F1 推导)
广度分析
- 高渗透(道具管够):道具依赖症——每轮必用、扫雷决策外包给道具,P1 观测面恶化。
- 零供给/纯战斗池:五维度承诺落空,A4"买情报"出口缺席。
- 低渗透有界供给:消耗品 + 稀有档分层,供给面天然限流,道具是救急而非常态。
深度分析
推导与验算:
E[N_aux/板] = |U| × (Σw_aux / W_total)
E[N_rare/板] = |U| × (w_scroll + w_blast) / W_total
默认根:Σw_aux = 5+5+4+4+1+1 = 20;W_total = 100(B4 原池)+ 20 = 120
|U| = 10(B4 direction_precheck 保守板口径)
| 情形 | 读数 | 验算 |
|---|---|---|
| 默认根 | E[N_aux] ≈ 10 × 20/120 ≈ 1.7 件/板 | 渗透率 ≈16.7%(战斗类 83.3%,约 17%——P3"买情报的代价是放弃一件战利品"的量化形态) |
| 稀有件 | E[N_rare] ≈ 10 × 2/120 ≈ 0.17 件/板 | ≈每 6 板一件稀有——"稀有"定位可感 |
| 输入缺口 | |U| 分布待 A1 actuals p10/p50 | 落地后重跑(B4 预检 11 同批) |
|U| 取 10 是保守板口径(B4 direction_precheck 同款),并非实测分布——A1 actuals 落地后须重跑;aux 行入池后 W_total 由 100 变 120,B4 侧 F1 有联动重算义务(B4×④),禁止两侧独立调参不看渗透率。
综合判断
期望 ≈1.7 件/板、稀有 ≈0.17 件/板——渗透率有界是 P1 护栏的供给面(道具不主导挖掘决策)。六行权重 5/5/4/4/1/1 全 provisional 归 C3;稀有可感度由失衡预警④与 OQ5 在 playtest 验证。
问题:信息道具的价值方向如何判定?(F3 推导与修正史)
广度分析
- 把显影价值读作"单次盲赌更安全":方向性错误——显影后残余池雷浓度反而升高。
- 把显影价值读作"少赌":盲赌次数(暴露)下降 → 期望踩雷下降,方向正确且与 P1 支柱对齐。
- 真视价值当量精确换算:涉及伏击暴露与 weaken 收益两期望差,MVP 不闭合、如实登记为间接效应。
深度分析
推导:
显影:fog_reveal k 格 → 板级 ι(免赌开据占比)上移
→ 残余盲猜安全格 n_s = (1−ι)×|S| 收缩 → 盲赌次数下降 → 期望踩雷 ↓
单次盲赌条件概率 P(雷) = |M| ÷ (|M| + n_s) 随 n_s 收缩而上行
(池内雷浓度升高——安全格被挖走;与 B1 F4 同式,
B1 F4 另设 n_s < 1 适用域守卫 → 残余集空时主式不评估、信息端平凡腿接管)
真视:mine_reveal k 格 → 该 k 格移出"盲挖候选域"
期望收益 = P(雷|盲) × (伏击暴露期望 − 标中 weaken 收益期望) 的差值锁定
精确当量归 B1 对照表(MVP 不闭合——间接效应如实登记)
| 情形 | 方向 | 说明 |
|---|---|---|
| 显影尘(一雾区) | n_s ↓ / 盲赌暴露 ↓ | 恢复推理原料——P1 正向;单赌 P(雷) 上行属正常(池雷浓度升高) |
| 全图卷(全雾显影) | n_s ↓↓ | 全图数字可读——推理面最大化而非代答(雾区无雷知识叠加) |
| 探巢摆钟(3×3 真视) | 决策域 −k 格 | 替代推理窄域化——稀有供给(F1)限流 |
修正史:初稿曾把方向写成"P(雷)↓",与引用式 P(雷) = |M| ÷ (|M| + (1−ι)×|S|) 自相矛盾——该式对 ι 递增;评审改为:显影挖走残余池中的安全格后池内雷浓度升高,单次盲赌命中率上行,收益在"少赌"而非"单赌更安全"(registry formulas 同批同步)。
综合判断
显影与真视均为正向信息增量;定量当量换算归 B1 条款①对照表扩列(义务 B1×④ 注记,MVP 不入对照表)。design 的 F3 节只承载结论与表达式。
问题:维度覆盖为什么做成加载断言而非内容建议?(F2)
广度分析
- 口头建议"每维度都出道具":内容收窄时静默破缺,玩家某类困境无货可买时无人发现。
- 加载后机器断言:coverage(d) 恒真是可执行的内容审计,破缺即加载期拦截。
深度分析
coverage(d) :⇔ ∃r ∈ AuxItemTable : d ∈ r.dimension_tags ∧ reward_row(r.item_id).weight > 0,断言 ∀d ∈ {info, risk, action, plan, counter}。注意"活行"双条件:定义表有行且 RewardTable 对应行 weight>0——光有定义没进池等于没有。维度本身是内容标尺非运行时逻辑,代码零维度分支;维度域外(空/枚举外值)为致命校验,因为那是 F2 的前提。
综合判断
五维度 coverage 恒真 = "每维度都有对应道具"的机器可查形态(AC-12);某维度零活行 = 内容收窄信号。design 的 F2 节与校验类别表承载结论。
问题:获取为什么挂 B4 奖励池、库存为什么与战斗背包正交?
广度分析
- 独立掉落流(A5 自建 roll):违反 RNG 单点与预分配确定性脊柱,且奖励归因链断裂。
- 入 B4 战斗库存混装:两域使用窗口/生命周期不同,混装会把挖掘期道具拖进结算窗口语义。
- 挂 B4 奖励池 aux 行 + A5 自持关卡域库存:获取归因与供给定价归一处,使用与消亡归另一处。
深度分析
P3 风险收益同源的信息切面:aux 行挤占战斗奖励池权重(渗透率 ≈17%,F1),买情报的代价是放弃一件战利品——代价发生在获取时刻而非使用时刻(故使用零 AP 成本,规则 9)。P2 归因:来源 {cell, round} 逐件记录,"这瓶显影尘是我上一轮捡到的";经真视插旗兑付的 weaken 走既有 flag_hit 结算行,归因链不断。两库存正交但生命周期同构——都活到关卡结束、关卡末同点清空(与 B4 clear_inventory 同点编排)。
综合判断
获取 = B4 roll_board 身份预分配 + B1 授予路由 add_item;库存 = A5 关卡域容器,与 B4 库存互不混装。design 的规则 4/5 与依赖节承载结论。
问题:叠加层为什么随图消亡、已花道具不返还?
广度分析
- 叠加层跨图保留:叠加层是板级派生信息层,格集离开棋盘事实即失效——跨图保留需要重映射,复杂度与误呈现风险双高。
- 消亡但返还道具:信息已消费(玩家看见了),返还等于白看——沉没语义被破坏。
- 随图消亡不返还:信息投资沉没,与既有先例一致。
深度分析
先例锚定:A3 旧板旗随旧板消亡同款——RAP 弃图刷新时玩家已理解"板上的投入随板走"。玩家侧含义直白:别在待弃板上花情报。叠加层零回写 A2/B4 状态、零事件订阅,消亡由 B1 在 board retire 点编排(与 B4 retire_mapping 同点),预读徽章因此绝不会指向已消亡映射(EC7)。
综合判断
叠加层随图消亡、不跨图、不返还(EC3/EC7)——design 的状态表与出口分发表承载结论。
体验锚点论证
| 支柱 | 关键词 | 机制承诺 |
|---|---|---|
| P1 我算对了 | "推不出的地方,我能买回线索" | 显影恢复雾格数字 = 推理原料回归(数字恒真透传,非新信息源);真视窄域护栏(≤3×3)把"代答"锁在救急档——恢复推理可全图、替代推理必窄域;道具零随机、不引入新赌点 |
| P2 扫雷的因战斗的果 | "这瓶显影尘是我上一轮捡到的" | 获取 = B4 奖励池 aux 行(来源 {cell, round} 逐件归因);使用 = 挖掘期自主时点、效果即时可见;经由真视插旗兑付的 weaken 走既有 flag_hit 结算行——归因链不断 |
| P3 风险收益同源(信息切面) | "买情报的代价是放弃一件战利品" | aux 行挤占战斗奖励池权重(渗透率 ≈17%,F1);叠加层随图消亡——弃图刷新时已花显影沉没(A3 旧板旗随旧板消亡同款先例);真视≠自动兑付(插旗仍花 1 AP) |
| P4 地牢探险氛围 | "地牢里前人留下的工具" | 主题命名(显影尘/探巢摆钟/地穴全图卷);icon 键入 art-bible §4.6 扩容(数据键 = item_id,形状+色相双通道);程序化占位先行(D1 既有裁决) |
| 反向护栏 | 处置 |
|---|---|
| 全图级真视常态化 = P1 塌方(扫雷退化为路径优化) | 真视窄域承重护栏——board_wide 目标域仅对 fog_reveal/reward_preview 开放;mine_reveal 上限 area_3x3,schema 校验强制 |
| 道具使用变成"烧包"挫败源(无效目标白耗) | 可用性门:板级零信息 → 图标灰、入口禁用;点击级零信息/越板 → 拒绝零消耗——与 B4 E10 照常消耗拍板区分 |
| 道具依赖症(每轮必用、扫雷决策外包给道具) | 失衡预警①道具依赖度(playtest 预注册);真视/显影为消耗品 + 渗透率有界(F1),供给面天然限流 |
参考感受:杀戮尖塔的消耗品(留着的牌永远是一份规划素材)+ Into the Breach 的信息工具(买的是确定性而非输出);反向对照 = 无目标校验的"点了就没了"(烧包挫败)与全图透视挂件(推理玩法自废)。
已裁决设计争议(速查)
| 争议 | 裁决 | 理由 |
|---|---|---|
| area_3x3 边缘窗口拒绝还是受理 | 照常受理,resolved_target = 窗口 ∩ 板内格(角 4 格/边 6 格) | 用户拍板——拒绝案的烧包感反噬护栏初衷;护栏只缩不扩 |
| 零信息目标照常消耗还是不消耗 | 不可用不消耗(板级图标灰/入口禁用、点击级拒绝、组合行取 OR、真视零雷恒有效) | 用户拍板——挖掘期非结算管线、守卫 A5 本地可判、无反抖动压力 |
| F3 显影价值方向 | 收益在盲赌暴露下降,非单赌命中率(P(雷) 对 ι 递增) | 评审修正初稿自相矛盾;registry 同批同步 |
| A5 零消耗 vs B4 E10 照常消耗 | 两制并存、故意不同 | 结算管线反抖动压力 vs 挖掘期手滑代价不对称 |
| 生效前 aux 行入池 | 加载致命(B4 Rule 1 预留值拒绝 fail-fast),AC-12/13 登记 deferral | 对侧义务登记即生效条件(A4 测试口径先例) |
开放问题(OQ)
| 编号 | 问题 | owner | 时机 |
|---|---|---|---|
| 1 | 命名与 icon 终稿:六行 display_name 为机制名候选——地牢隐喻风味词复核 + art-bible §4.6 样张批定 icon(D1 程序化占位不阻塞) | art-bible/D1 | 样张批 |
| 2 | 预读呈现深度细则:徽章呈现信息量(仅身份 vs 身份+tier——query_identity 投影含 tier)与板面视觉密度(预读徽章 × 未开格 × 变异纹理叠加)——D1 裁决,与 B4 Rule 8 已开格呈现同族复用 | D1 | D1 修订批 |
| 3 | 真视与标错惩罚交互:A2 OQ1 惩罚上线后,真视价值重估(真视→必标中→零惩罚风险——价值上行)与护旗类道具(防惩罚)是否入池 | C3 | A2 OQ1 关闭后 |
| 4 | 未来变异反制扩展:岩浆/冰冻行建行时反制道具语义(A4×③ 框架契约——每个新变异建行批随批出反制行) | 垂直切片批 | 随变异建行 |
| 5 | 全图卷稀有度验证:F1 稀有读数 ≈0.17 件/板在 playtest 的"稀有可感"验证——过疏(恒不见)过密(常态全图)均触发权重复核 | C3 | 垂直切片 playtest |
| 6 | 自动寻路终态声明:预读道具为 MVP 终态(寻路始终玩家心智)还是中间态——B4×⑤ 已声明"自动寻路不做",升格为永久设计态与否随 playtest | C3/CD | playtest 后 |
附录 A:验收覆盖矩阵(审计映射,自原 design 迁入)
| 类别 | 映射 |
|---|---|
| Core Rules | 1→AC-1/AC-12(F2)· 2→AC-1/AC-2/AC-15/AC-16 · 3→AC-2(a5_target_violation 腿)· 4→AC-12(B4×①…⑤ 生效前提)· 5→AC-3/AC-11 · 6→AC-4(相位 deferral B1×①)· 7→AC-4/AC-6/AC-8/AC-15/AC-16 · 8→AC-5/AC-15/AC-16(可用性门谓词表)· 9→AC-8(零 try_spend = API 负空间)· 10→AC-9/AC-14 |
| Formulas | F1→AC-12 · F2→AC-12 · F3→方向预检(非 AC——定量归 B1×④调参期) |
| Edge Cases | EC1→AC-5 · EC2→AC-5(无雾桩面同构)· EC3/EC7→AC-10 · EC4→AC-6 注记 · EC5/EC6→规则语义(A2/A3 域 OOS——真集成 deferral)· EC9→AC-11 · EC10→AC-7 · EC11→规则 7 序证明(构造不可达——负空间)· EC12→OOS A3 既有 AC(grant_ap 后 request_stop 转存——A3 修订批补腿)· EC13/EC14→AC-13 · EC15→D2 既有门(OOS)· EC16→B4 F2 域(OOS)· EC17→AC-15(边缘腿)· EC18→AC-16(板级/点击级腿) |
| 上游承接 | A4 EC6(显影语义)→规则 2 fog_reveal 行 · A4 OQ2(时效/定价)→收口声明(依赖节)· B4 OQ2(呈现深度)→B4×⑤ · A5-1(counter 回填+悬空校验)→A4×①② / AC-13 · 创意风险 #1(预读)→规则 2 reward_preview / B4×⑤ |
附录 B:双向一致性核对(历史审计,自原 design 迁入)
systems-index 依赖分层表核对:索引分层 A5 ← A2, A4, B4 ✓(A2/A4/B4 三硬上游全落依赖表;B1 编排 = 层 4 Presentation 消费侧的既有编排唯一性原则——B4 先例:编排调用权不构成依赖分层边);D2 为全员 Foundation 数据边。A4/A5 关系 = counter_item_ids 消费(A4 声明字段、A5 回填 owner)——与索引"A5 ← A4"方向一致。
去向映射(零丢失审计)
| 原文章节/表 | 落点 |
|---|---|
| 头部块(状态/版本/支柱/层级/一句话) | design 头部 |
| 速览表(定位/拥有/不拥有/上游/下游/硬约束) | design 设计目的 + 系统范围(含全局硬约束行)+ 依赖与输出 |
| 定位两段散文(信息与行动力市场/没有 A5) | design 设计目的 |
| 体验锚点支柱表 | design 设计目的(压缩为编号承诺)+ analysis 体验锚点论证(全文保留) |
| 反向护栏表 | analysis 体验锚点论证(护栏机制结论同时落 design 规则 3/8 与校验类别) |
| 参考感受行 | analysis 体验锚点论证 |
| 全局流程字符画 + 出口分发表 | design 核心循环 |
| 核心规则 1–10 | design 各领域章节编号人话句(规则编号保留;举证注记语义并入人话或各节表格) |
| 效果明细表 | design 使用效果与目标域 |
| 目标域允许范围表(规则 3 内) | design 使用效果与目标域·目标域开放表 |
| 使用编排分支表 | design 使用规则与校验 |
| 使用目标校验谓词表 + 可用性预判注记 | design 使用规则与校验 |
| 枚举·dimension_tags | design 道具定义 |
| AuxItemTable schema | design 道具定义 |
| MVP 内容行集 + 四条注记 | design 道具定义 |
| schema 校验类别表 | design 道具定义 |
| F1/F2/F3 结论 + 公式表达式 + 变量表 | design 数值结论 |
| F1/F2/F3 推导过程 + 情形/验算表 + F3 修正史 | analysis 问题三/四/五 |
| 状态表 + 不变式 | design 获取与库存·状态 |
| 边界情况 EC1–EC18 | design 使用规则与校验·边界情况(编号保留) |
| 依赖(上游/下游两表) | design 依赖与输出(合并为双向一张表) |
| 跨 GDD 义务清单 21 项 + 编号前缀注记 | design 依赖与输出·跨 GDD 义务清单(活契约,编号保留) |
| 双向一致性核对注记 | analysis 附录 B(历史审计) |
| 呈现与 UI 契约 6 行 + UX Flag + Asset Spec | design 依赖与输出·呈现数据面 |
| Tuning Knobs 表 + knob 交互/非 knob/调参所有权 | design 调参表 |
| 失衡预警 ①–④ | design 调参表·失衡预警 |
| 测试口径 / API 面 / 夹具与致命 manifest / AC 清单 AC-1–AC-16 / 缺口预检 1–5 | design 验收标准(编号保留) |
| 覆盖矩阵 | analysis 附录 A(审计映射) |
| 开放问题 OQ1–OQ6 | analysis 开放问题(编号保留) |
| 版本历史 v1.0-lean / v1.1-lean | design 版本历史(原行保留 + 追加 v2 迁移行) |