diff --git a/design/gdd/06-待办清单.md b/design/gdd/06-待办清单.md index a552a330..9d66a482 100644 --- a/design/gdd/06-待办清单.md +++ b/design/gdd/06-待办清单.md @@ -52,7 +52,7 @@ **归属**:视野迷雾实施批(呈现批,编排归主线 roadmap;概念正主已落 [HUD框架](systems/表现与支撑/HUD框架.md)「视野迷雾」节,黑暗区域渲染规格连带 art-bible 修订随实施批) -**状态**:**已拍板(2026-09-30 用户四项裁决)**:①案甲视野迷雾立项(纯呈现层,不配套收窄);②已开格政策=暗淡记忆态(区外已开格灰显可见、数字可读);③菱形灯光半径起步=与微光环 8 格同圈;④魔法提灯=灯甲视野外扩 +2 格、类型微光不随视野扩。初始展开收窄后置——与「雷格与安全格的资源分布差异化(Alpha 批)」窗口合并再议;实施待主线编卡。 +**状态**:**已拍板(2026-09-30 用户四项裁决)**:①案甲视野迷雾立项(纯呈现层,不配套收窄);②已开格政策=暗淡记忆态(区外已开格灰显可见、数字可读);③菱形灯光半径起步=与微光环 8 格同圈;④魔法提灯=灯甲视野外扩 +2 格、类型微光不随视野扩。初始展开收窄后置——与「雷格与安全格的资源分布差异化(Alpha 批)」窗口合并再议;实施待主线编卡;**编卡草案已出**(2026-10-02,[任务书-视野迷雾实施批-2026-10-02.md](../research/任务书-视野迷雾实施批-2026-10-02.md)——裁决已齐零待裁项,T0-T6,提灯效果面划归 Alpha 信息件批;默认 M-4 窗口,插 Alpha 前须用户点名并接受 T19 真人读数顺延) ### 魔法道具 @@ -248,7 +248,7 @@ **归属**:GP 商店房重构批(主责:商店 UI+购买/重抽逻辑+定价表+读数复测)+ 元进度/关卡节点地图/难度曲线与Boss 随批连带;A/b 系数研究归 game-balancer 工作流随批执行。 -**状态**:已拍板待立项(2026-10-02;开工=用户发任务书;排期建议=Alpha 读数后 M-4 迭代 11 评估窗口,与同调实施批/反制批并列排序——动奖励经济必扰通关率读数,迭代 10 刚锚 80000) +**状态**:已拍板待立项(2026-10-02;排期建议=Alpha 读数后 M-4 迭代 11 评估窗口,与同调实施批/反制批并列排序——动奖励经济必扰通关率读数,迭代 10 刚锚 80000);**任务书草案已出**(2026-10-02,[任务书-GP商店房重构-三选一同构化-2026-10-02.md](../research/任务书-GP商店房重构-三选一同构化-2026-10-02.md)——P1-P5 拍板点呈报:池扩容/断点粒度/UI 档位/取整/研究时点,裁后生效) ### 关卡节点地图 diff --git a/design/research/任务书-GP商店房重构-三选一同构化-2026-10-02.md b/design/research/任务书-GP商店房重构-三选一同构化-2026-10-02.md new file mode 100644 index 00000000..a45ccb0b --- /dev/null +++ b/design/research/任务书-GP商店房重构-三选一同构化-2026-10-02.md @@ -0,0 +1,84 @@ +# 任务书:GP 商店房重构——三选一同构化(草案,P1-P5 裁后生效) + +> 成文 2026-10-02。裁决权威 = [06-待办清单](../gdd/06-待办清单.md)「GP 商店房重构——三选一同构化」条(2026-10-02 用户裁决,取代 2026-09-20「三件全陈列、无刷新」裁决)。**开工门 = Alpha 到手后 M-4 迭代 11 评估窗口(与同调实施批并列排序,动奖励经济必扰通关率读数);排期随用户发令,本文不占迭代号。批体估 4-5 工作日 = 知情超限单批(迭代 9/同调批 P6 先例)。** + +## 一、迭代目标与完成定义 + +**目标一句话**:商店房从「固定三件常驻、按件计档加价」改写为与三选一奖励同构的「进店抽 3、买 1 全重抽、双系数乘法定价」的重复购买循环——奖励=一次免费购买,商店=付费可重复购买,同一个交互语言。 + +**完成定义**:①进店从随机池抽 3 展示(统一随机流新用途标签);②买 1 → 三个全重抽(未买不保留),金币够可无限循环;③价格 = 基价 × b^(关序−1) × A^(本次进店已购次数)(A/b 表 knob,provisional);④池扩容落地(P1 裁决形态);⑤断点兼容(P2 裁决形态);⑥MC autoplay 策略更新+shop=off/on 分层+通关率双窗复测出讫;⑦连带修订面落文+重闸全绿+出口人闸过。 + +## 二、现状事实(代码级,2026-10-02 核证) + +| 面 | 现状 | 位置 | +|---|---|---| +| 商品面 | **固定三件常驻**:atk_up+1 价 4 / hp_up+3 价 2 / armor_up+1 价 4;买完不消失、可对同件重复购买加档 | `game/data/tables/shop.tres` products 三行 | +| 定价 | 加法公式:`base_price + price_level_bonus(关) + price_increment(步长2) × 该件已购档数` | `game/core/level_runner.gd:620-626`(呈现层禁复算定价公式——只读投影纪律) | +| 购买 | `buy_product`:未知商品/属性键出域/余额不足三拒绝零副作用;出账→加算区→购血同步当前生命封顶 | `level_runner.gd:632-654` | +| 断点 | `shop_purchased`(product_id→档数)入 run 快照七字段;冒险开始清零 | `level_runner.gd:62,145,187`;`save_manager.gd:148,705` | +| rng | 用途标签封闭词表,扩签=改代码+评审(未知标签 assert 致命 EC12)——商店抽签需新标签 | `game/core/rng_service.gd:17,94-98` | +| 模拟面 | MC autoplay 商店策略=「贪心买齐」(读 shop_products 投影逐件买至钱尽),shop_gp_seq 读数面在册 | `game/smoke/level_autoplay.gd:25,212-213,258-273` | +| 冒烟断言 | 现价硬编码断言(现价 6/4/6 等)——新公式下期望随动 | `game/smoke/smoke_all.gd:476,3240-3267` | +| registry | shop_table 行族四轴(gp_drops/level_gp_bonus/products/price_level_bonus),全 provisional-pending-调参批 | `design/registry/entities.yaml:573-585` | + +## 三、设计契约(违反即返工,🔴 触碰=L3 停机) + +1. 🔴 **三轴 doctrine**:商店池**纯数值道具**(flat 攻/血/甲族+P1 若裁经济商品亦属数值轴),机制件永不入店(2026-09-22 同调裁决 1 锁死)。 +2. 🔴 **核心层零 await**——MC 逐位对拍漂移即 L3;**shop=off 必须与现行锚逐位一致**(商店关着时零扰动是硬断言)。 +3. **统一随机流纪律**:商店抽签=新用途标签扩签(单盐派生),不私开流、不复用战斗流取数。 +4. **呈现层禁复算定价公式**(现行纪律维持):现价只在 core 现算,UI 只读投影。 +5. **数值主权**:池行值/A/b/取整档全部 provisional 归难度曲线与Boss;本文与任务卡只锁形态。 +6. **断点确定性**:断点写读往返+续玩确定性对拍不破(迭代 8 纪律)。 +7. 素材不入 git;UI 程序占位(P3 甲)用 UiKit 既有件。 + +## 四、范围边界 + +**本批做**:池扩容表+抽签货架+重抽循环+乘法定价+断点改写+UI 程序占位+MC/读数复测+连带修订面。 + +**本批不做**:商店房节点位置/出现规则改版(关卡节点图不动);GP 掉落面(gp_drops 行族零触碰);机制件入店(永久);UI 视觉终稿(P3 甲,归表现批);三选一奖励侧任何改动(其刷新增强归同调批)。 + +## 五、前置拍板点呈报(U0 随批裁,列全备选案) + +| # | 拍板点 | 备选案 | 依据/代价 | +|---|---|---|---| +| P1 | **池扩容**(不扩则「抽 3」恒等于现三件,重抽空转) | 甲·同属性分档扩容(3 属性×大小档=6 行起步,方向:小攻+1/大攻+2、小血+3/大血+6、小甲+1/大甲+2——具体值归研究卡)/ 乙·甲+经济商品新类型(如「本关 GP 掉落+1」行,仍数值轴)/ 丙·维持三件(重抽零意义,**不推荐**) | 甲最小可用;乙多一类定位但需 GP 供给对账面;抽签默认**无放回抽 3**(池 <3 才回补重复——形态细节代拍板可) | +| P2 | 断点粒度(商店内中断续玩) | 甲·货架三件入断点(恢复原货架,确定性对拍最友好,多存 3 个 id)/ 乙·只存 A 链计数,续玩重抽新货架(断点瘦,重抽消费签) | 现行纪律「中断恢复至最近停点」倾向**甲** | +| P3 | UI 档位 | 甲·程序占位(同调批 P2 甲同口径,视觉终稿归表现批,推荐)/ 乙·连视觉终稿 | 甲不卡样张闸 | +| P4 | 乘法价格取整 | 甲·ceil(玩家不利向,防 1 元套利,推荐)/ 乙·round | 现行加法全整数;乘法必出小数须定 | +| P5 | A/b 系数研究 | 甲·随批立项先跑 game-balancer(定价锚沿用现行「正常运气/运气极好可购档数」期望读数纪律,出提案值你拍板)/ 乙·先按现行加法读数等值换算 provisional,研究后置 | 甲一次到位;乙快但两段调表 | + +## 六、任务卡(T0–T8) + +| 卡 | 内容 | 估时 | +|---|---|---| +| T0 | 开工基线:worktree+归属核对+冒烟复读+MC 现行锚对拍基准记档 | 0.5h | +| T1 | **表与 schema**:shop.tres 池行扩容(P1 形态,含 base_price/flat_value 分档)+A/b 两 knob+products 行族→shop_pool 行族 registry 改写;rng 扩签 `shop_draw`(改代码+评审通道) | 0.5d | +| T2 | **抽签货架**:进店抽 3(无放回,P1 注)、买 1 全重抽循环、shop=off 直通旧形态开关面(分层验证用) | 0.5d | +| T3 | **乘法定价**:基价×b^(关序−1)×A^(进店已购次数)(P4 取整);price_level_bonus/price_increment 退役改写;`_shop_purchased`→进店购买次计数 | 0.5d | +| T4 | **UI 程序占位**(P3 甲):商店覆盖层三选一卡面+买后重抽+现价贴卡(就近原则);wallet_changed 事件链适配;ui_click_probe 断言 | 0.5-1d | +| T5 | **断点改写**(P2 裁决形态):run 快照域扩列+写读往返+续玩确定性对拍断言 | 0.5d | +| T6 | **MC 与读数**:autoplay 贪心策略适配新池新价(买至 A 链阈值);shop=off/on 分层;通关率双窗复测;GP 供给对账窗口复跑(与关间大奖励/回复供给联动注记);A/b 研究卡(P5 甲)出提案值呈报 | 0.5-1d | +| T7 | **连带修订面**:冒险结构 GP 冒险账本节(定价公式换代)/关卡节点地图 商店房词条/难度曲线与Boss 商店与 GP 经济杠杆节/registry shop_table/06 收口 | 0.5d | +| T8 | 重闸+出口人闸:全量轻闸+doc 三闸+熵增闸+MC 对拍+出口检查单+代拍板追认 | 0.5h+人闸 | + +## 七、验证闸 + +轻闸(每轮):run_smoke 全量+ui_input_probe+ui_click_probe(商店覆盖层触碰 presentation)。重闸(T8):全量+doc 三闸零新增+熵增闸+MC 逐位对拍(**shop=off 与现行锚逐位一致**硬断言)。读数纪律:shop=off 续用现行带;shop=on 带平移归调参批(shop 分层先例同法);现价硬编码冒烟断言改公式推导或随表重锚。 + +## 八、异常分级 + +L1 自救一次重试;L2 连续 3 次同红灯记录继续+升级呈报;L3 停机(触发面:契约 1-2、shop=off 锚漂移、断点确定性破、P1 池形态无法承载用户裁决)。 + +## 九、代拍板白名单 + +可代拍:池行具体数值与权重(P1 形态已锁、provisional 归调参批)、无放回抽 3 的回补细节、冒烟断言期望随表重锚、doc 措辞。禁代拍:P1-P5 任何一项、商品类型增删(经济商品类入池须裁决)、带值、A/b 语义变更。 + +## 十、连带修订面(执行于 T7) + +`冒险结构.md`(GP 冒险账本节+商店定价公式换代)/ `关卡节点地图.md`(商店房词条改写)/ `难度曲线与Boss.md`(商店与 GP 经济杠杆节——shop=on 带平移投值义务)/ `registry/entities.yaml`(shop_table 行族改写+rng 标签注记)/ `06-待办清单.md`(本条收口)/ 断点 v2 域注记随 save 文档。 + +## 版本历史 + +| 版本 | 日期 | 改动 | +|---|---|---| +| v1.0(草案) | 2026-10-02 | 成文:P1-P5 拍板点呈报(池扩容/断点粒度/UI 档位/取整/研究时点)+T0-T8;现状按 2026-10-02 代码核证 | diff --git a/design/research/任务书-视野迷雾实施批-2026-10-02.md b/design/research/任务书-视野迷雾实施批-2026-10-02.md new file mode 100644 index 00000000..cc4b2f18 --- /dev/null +++ b/design/research/任务书-视野迷雾实施批-2026-10-02.md @@ -0,0 +1,65 @@ +# 任务书:视野迷雾实施批(编卡草案——裁决已齐,待主线排期点名) + +> 成文 2026-10-02。裁决权威 = [HUD框架](../gdd/systems/表现与支撑/HUD框架.md)「视野迷雾:菱形灯光区与黑暗边界」节 v0.13(全项目唯一正主,2026-09-30 用户拍板立项+四配套裁决随节)+ [06-待办清单](../gdd/06-待办清单.md)「视野限制/魔法提灯」条状态节。**本批无待裁拍板点**——四裁决(甲案迷雾/暗淡记忆态/8 格同圈/提灯+2 微光不扩)全部已落正主节。**排期:默认 M-4 窗口(迷雾改玩家可见信息面,若插 Alpha 前会顺延 T19 真人读数采集——插队须用户点名);点名即开工,本文不占迭代号。** + +## 一、迭代目标与完成定义 + +**目标一句话**:棋盘只完整渲染以角色为中心的菱形灯光区(起步半径=微光环 8 格同圈),区外未开格全黑、区外已开格暗淡记忆态(灰显可读、数字可读),灯光随角色移动实时跟随——洞穴举灯探索的纯呈现层机制。 + +**完成定义**:①迷雾遮蔽+灯光区跟随上线(迷雾开关可分层验证);②暗淡记忆态呈现(区外已开格灰显、数字仍可读);③art-bible 黑暗区域渲染规格落文(暗淡态明度/迷雾过渡——现圣经零此节,T1 补);④探针断言(迷雾边界/记忆态/两态逐位一致);⑤正主节验收线(HUD框架:264)全过+实机目检人闸。 + +## 二、现状事实(代码级,2026-10-02 核证) + +| 面 | 现状 | 位置 | +|---|---|---| +| 正主定义 | 迷雾节 v0.13 全定义在案(生命周期/边界/验收线 264),**实施零开工** | `design/gdd/systems/表现与支撑/HUD框架.md:157-168,264,299` | +| art-bible | **无黑暗区域/迷雾渲染节**——暗淡态明度与迷雾过渡规格缺位,归本批补 | `design/art/art-bible.md`(grep 零命中) | +| 格态 | 已开/未开两态(雾格 2026-09-15 整体退役);初始展开=出生 3×3+连通开阔地(10×10 板均值 66.5 格——**收窄不在本案**) | 排雷玩法 v0.2 版本行 | +| 微光 | 英雄周围 8 格未开格类型微光(五组色相样张 v2 冻结,art-bible §4.2)——灯光圈与微光环同圈起步 | art-bible §4.2 | +| 提灯 | **效果载体不在本批**:提灯=aux_items 新行随 Alpha 信息件重定批登记;灯甲呈现面挂「资产升档重产批」——本批只把半径做成参数化(+2 留插值位) | HUD框架:168 | +| 渲染载体 | CellUnit 逐格 CanvasItem(144 格/12×12 板)——per-cell 调制为最小侵入路径;结算期去饱和偏移(settlement_fx_view)为同族先例 | `game/presentation/views/` | +| 探针 | ui_input_probe 十一断言现行——迷雾新增呈现态断言随批扩 | `game/smoke/ui_input_probe.gd` | + +## 三、设计契约(违反即返工,🔴 触碰=L3 停机) + +1. 🔴 **纯呈现层**:已开/未开格态、数字真值、清图判定零影响——同板同动作序列迷雾开/关两态结算结果**逐位一致**(MC 对拍零扰动是硬断言);核心层零改动零触碰。 +2. 🔴 **类型微光不随视野扩**(裁决④):类型先读仍只贴身 8 格,微光锚=可挖域;迷雾只遮蔽「灯光区外」的视觉,不改微光语义。 +3. **黑暗区域规格先落 art-bible 再落码**(规格不重发明纪律——T1 前置 T2)。 +4. 素材不入 git;迷雾渲染零新素材(程序化遮罩/调制)。 +5. 半径参数化(LIGHT_RADIUS 表值/常量),+2 提灯插值位预留但不接效果。 + +## 四、范围边界 + +**本批做**:迷雾遮蔽+菱形灯光区(8 格起步参数化)+暗淡记忆态+art-bible 黑暗区域节+探针断言+实机目检人闸。 + +**本批不做**:初始展开收窄(后置与「雷格与安全格资源分布差异化」Alpha 批窗口合并再议);提灯效果接线(aux_items 行归 Alpha 信息件重定批);提灯灯甲立绘呈现(挂资产升档重产批);微光语义任何改动;核心层任何改动。 + +## 五、任务卡(T0–T6) + +| 卡 | 内容 | 估时 | +|---|---|---| +| T0 | 开工基线:worktree+归属核对+冒烟复读+MC 对拍基准记档(纯呈现批零漂移预挂) | 0.5h | +| T1 | **art-bible 黑暗区域渲染规格落文**(新节):区外未开格全黑(不透明 vs 高遮蔽档二选一落定)、暗淡记忆态明度值(灰显可读档)、迷雾过渡边(硬边 vs 渐过渡)、与亮墨三档/色牌的叠读可辨性自查 | 0.5d | +| T2 | **迷雾渲染落码**:菱形灯光区(曼哈顿距离 ≤8 参数化)随角色位置实时跟随;区外未开格全黑遮蔽;战斗内持续/换图重置生命周期 | 1d | +| T3 | **暗淡记忆态**:区外已开格灰显+数字仍可读(明度按 T1 冻结值);与结算期去饱和的叠加态共存校验 | 0.5d | +| T4 | **探针断言**:迷雾开/关两态结算逐位一致(确定性夹具)、灯光边界格呈态、记忆态可读性、半径参数生效 | 0.5d | +| T5 | **连带修订**:HUD框架 迷雾节补「已实施」注记+art-bible 版本行+06 条目收口 | 0.5h | +| T6 | 重闸+出口人闸:全量轻闸+MC 对拍零漂移+实机目检(迷雾观感/记忆态可读性/移动跟随流畅度) | 0.5h+人闸 | + +## 六、验证闸 + +轻闸(每轮):run_smoke 全量+ui_input_probe(触碰 presentation 加 ui_click_probe+ui_layout_probe)。重闸(T6):全量+doc 三闸零新增+熵增闸+**MC 逐位对拍零漂移**(纯呈现硬断言)。 + +## 七、异常分级 + +L1 自救一次重试;L2 连续 3 次同红灯记录继续;L3 停机(触发面:契约 1 两态漂移、契约 2 微光语义被触碰、渲染性能塌方〔迷雾层致 draw calls 超 200 基线——须回 T2 换遮罩实现〕)。 + +## 八、代拍板白名单 + +可代拍:T1 规格落文的明度具体值(样张闸自检锚)、探针断言期望、doc 措辞。禁代拍:全黑 vs 高遮蔽档(人闸目检裁)、半径基准值改动、任何微光/格态语义。 + +## 版本历史 + +| 版本 | 日期 | 改动 | +|---|---|---| +| v1.0 | 2026-10-02 | 编卡草案成文:正主节四裁决已齐故无待裁拍板点;T0-T6;提灯效果面划出本批(归 Alpha 信息件批) |