merge: 第一层改名「裂颚洞窟」批落籍——苔藓回廊全仓退役(台账 110)

This commit is contained in:
DKChan committed 2026-09-20 18:12:29 +08:00
commit df14e61312
8 files changed
+22 -13

No files matched your search

+1 -1
View File
@@ -54,7 +54,7 @@
| 地穴全图卷 | 全图级稀有魔法道具 | aux_items |
| 爆破工兵包 | 行动点 + 探巢的稀有魔法道具 | aux_items |
| 地精 / 熊地精 / 食人魔酋长 | 首发三敌种(末者为 Boss) | enemy |
| 第一层 · 苔藓回廊 | 首关层名 | level_table |
| 第一层 · 裂颚洞窟 | 首关层名 | level_table |
注意:部分魔法道具的现行效果定义绑定已被移除的地形变异类型,其效果定位待后续内容批重定;名称暂按登记保留,重定时随批修订。
+2 -1
View File
@@ -10,7 +10,7 @@
| 层 | 层名 | 结构 | 状态 |
|---|---|---|---|
| 第一层 | 苔藓回廊 | 分支节点图(战斗 / 随机道具 / 恢复点 / Boss 等节点型) | 已落地 |
| 第一层 | 裂颚洞窟 | 分支节点图(战斗 / 随机道具 / 恢复点 / Boss 等节点型) | 已落地 |
| 第二层 | 幽暗地域 | 同一分支节点图模板复用,第二关深度轴行值填充 | 已落地(正式序列推进待收尾) |
现行节点行集与行值读 `data/tables/level.tres`(registry 为准)。再扩关卡走扩展批流程:先填深度轴行值、再接正式序列推进,不新造节点链结构。
@@ -67,3 +67,4 @@ MVP 不加新状态;扩容走 status_effects.tres 加行 + registry 登记。
| v0.1 | 2026-09-15 | 顶层六文档成文:关卡 / 敌人 / 棋盘 / 战斗道具 / 辅助道具 / 状态六项体量 |
| v0.2 | 2026-09-15 | 雾格残留清理:棋盘、辅助道具、暂不做三处去掉"雾格已移除 / 不依赖雾格"的迁移期注记,改指[不做清单](05-不做清单.md)。体量数字不变 |
| v0.3 | 2026-09-17 | 数值纪律收口批:全文改指路化体例——种数/行数/幅度不再抄配置,事实源改 data/tables/*.tres 与 registry;同步三批次失同步(两关落地/可选类删除/数值压缩) |
| v0.4 | 2026-09-20 | 层名改名批:第一层「苔藓回廊」→「裂颚洞窟」(用户拍板——苔藓意象与地精巢穴不契合;新名致敬 DND 5e《凡戴尔的失落矿坑》地精部族「裂颚」Cragmaw,洞窟纵深连通幽暗地域)。关卡表 display_name / registry / 00-游戏概念 / 切片首页按钮 / README 随批同步 |
+1 -1
View File
@@ -530,7 +530,7 @@ entities:
table: LevelTable(数据配置 承载,键 = level_index 行、行内 nodes 节点图结构〔2026-09-17 关卡节点地图 v1.0 定稿:分支节点图;单链 = 特例〕——切片建表,冒险结构 定稿转正为行集内容 owner)
fields:
level_index: int 行主键(冒险序列序号,从 1 连续递增——线性序列无跳关)
display_name: String(玩家可读层名——L1"第一层 · 苔藓回廊"、L2"第二层 · 幽暗地域"切片现行〔L2 随 2026-09-17 分支节点图批落名〕)
display_name: String(玩家可读层名——L1"第一层 · 裂颚洞窟"、L2"第二层 · 幽暗地域"切片现行〔L2 随 2026-09-17 分支节点图批落名;L1 随 2026-09-20 层名改名批落名,原「苔藓回廊」退役〕)
rest_heal_pct: int [0,100](knob 默认 30——恢复点回复 max_hp_eff 的百分比,随上限加成同步放大防高上限档恢复失效;数值复验归 难度曲线与Boss)
nodes: 节点图结构——节点数组 + 连线(node_kind ∈ {battle, reward, rest, boss},切片字段名 type;每节点领关卡内唯一**节点编号**,battle/boss 数据键 node_depth 沿用〔v1.0 语义升级:深度 → 节点编号〕;连线 = 出边节点编号表,只朝前进方向、无回头路);单链特例 = 隐式后继(数组序即链,切片现行形态零漂移)
rowset_rule: 图合法性校验(2026-09-17 关卡节点地图 v1.0)——节点编号关卡内唯一、入口唯一、Boss 恒唯一终点(编号最大,Dmax 语义平移)、连线无环、所有节点沿连线可达 Boss,违规加载期致命;实现批(2026-09-17 分支节点图批):校验落 LevelTable.validate(单链形态经同一套算法——编号解析单链 = 数组下标 / 图 = node_depth),L1 单链与 L2 图双行集加载全绿断言
@@ -13,16 +13,18 @@
| 项 | 现行前两关 | 第三关候选 |
|---|---|---|
| 层名 | 第一层·苔藓回廊 / 第二层·幽暗地域 | 第三层·**灰矮人矿城**(候选名,待拍板定名) |
| 层名 | 第一层·裂颚洞窟(2026-09-20 改名,原「苔藓回廊」退役)/ 第二层·幽暗地域 | 第三层·**灰矮人矿城**(候选名,待拍板定名) |
| board_type 词表 | dungeon / underdark | 新增第三值:`deep_underdark`(显示名候选「灰矮人矿道」)——词表扩一位,走 棋盘生成 文档修订 |
| 设定锚 | 地精部族骚扰表层 → 幽暗地域(熊地精部族、蛛群、卓尔裔) | 幽暗地域更深处:灰矮人奴役史与矿城遗迹。灰矮人是 DND 幽暗地域经典种族(被夺心魔奴役出身的侏儒亚种),恰承载"重甲工匠"意象 |
| 敌种生态叙事 | 部族伏击手 + 蛛群 + 蛛化卓尔 | 矿城守军(灰矮人)+ 洞窟捕食者(钩爪恐魔)+ 矿城之主 |
主题备选(拍板点 1):
- **A. 灰矮人矿城(推荐)**:唯一能自然落地"重甲教学"的选项,见 §2 克制面论证。
- B. 蕈林(真菌洞窟,DND 蕈人/孢子意象):与第一关"苔藓"意象重复度高,且真菌系敌种偏轻甲,克制教学断档。
- B. 蕈林(真菌洞窟,DND 蕈人/孢子意象):洞窟生态与第二关幽暗地域重叠度高,且真菌系敌种偏轻甲,克制教学断档。
- C. 黑暗湖鱼蛙人(kuo-toa):群像好但主题自成一派,重甲面同样立不起来。
层名沿革注记:第一层已于 2026-09-20 改名「裂颚洞窟」(原「苔藓回廊」退役——苔藓意象与地精巢穴不契合;新名致敬 DND 5e《凡戴尔的失落矿坑》地精部族「裂颚」Cragmaw 的洞窟巢穴)。三层纵深叙事线由此贯通:**裂颚洞窟**(表层地精部族巢穴,通道向下)→ **幽暗地域**(蛛群·卓尔裔)→ **灰矮人矿城**(幽暗地域最深处)——本提案主题 A 恰好接在这条线上。
## 2. 怪物设计
### 2.1 新敌种两枚 + Boss 一枚(每节点恒单敌种,遵守"同深度混搭不做"现行约束)
@@ -61,12 +63,12 @@
| 可推理率目标 | 0.88 | 恒 0.88 | 0.85 绝对锚不许碰 |
| 地形变异 | 岩浆(伤害 2)+ 烬覆(遮数字) | 新一对:**落石**(伤害型,effect_value 候选 3,延续 1→2→3 关间递进)+ **矿尘**(信息型,遮数字) | 布量走既有公式 5% + per_level_bonus 2×2 = 9%;新增第三种 effect 型(如"数字误导")会威胁可推理率锚,**不进本批**,只留作远期候选 |
风险登记:L2 完美档 Boss 承伤 55.8% 已越 F4 带(≤50%,台账 96 登记,归曲线调参批)——L3 伤害地形 3 点会进一步加压,承伤带复算义务与该条目同批合并,本预案不单独拍值。
风险登记:L2 完美档 Boss 承伤微越带(重投基线读数 51.6%,带 ≤50%——2026-09-20 重投基线批后现行口径,台账 105/108,归曲线调参批「L2 Boss 承伤微越带与完美档压带迭代」条目)——L3 伤害地形 3 点会进一步加压,承伤带复算义务与该条目同批合并,本预案不单独拍值。
## 4. 节点图与冒险结构
- **图版零新结构**:复用第二关九节点网状图模板(03-内容规模扩展批流程原文:"不新造节点链结构"),六战斗 + Boss,奖励/恢复各 1;敌种按"重轻错开"填入六个战斗位(建议:0 灰矮人单〔首遇教学,固定 1 不加骰〕→ 1 钩爪群 → 4 钩爪群 → 5 灰矮人重装手 → 6 钩爪巢群 → 7 灰矮人小队)。
- **进入方式**:沿用第二关先例——测试直入口先行(首页"关卡 3 试玩"),正式三关序列推进已登记为 Alpha 验收条件,不在本批展开。连带问题:三关全进序列后整局通关率 = 三关连乘,现行第一关带 [10,25]% 下整局会塌到百分位以下——带的逐关重排归曲线调参批,本批只登记。
- **进入方式**:沿用第二关先例——测试直入口先行(首页"关卡 3 试玩"),正式三关序列推进已登记为 Alpha 验收条件,不在本批展开。连带问题:三关全进序列后整局通关率 = 三关连乘,按现行分带(L1 [35,55]% / L2 [25,45]%,2026-09-20 重投基线批口径)两关连乘已只有约 9–25%,再乘 L3 会进一步下探——带的逐关重排归曲线调参批,本批只登记。
## 5. 主角属性提升(关键前置,用户预判正确)
+3 -2
View File
@@ -12,6 +12,7 @@
## 当前状态快照(收口批先更新本节,再追加台账;≤10 行)
- **更新于**:2026-09-20(**第一层改名「裂颚洞窟」批**,独立 worktree 分支 rename-l1-20260920,台账 110〔登记时撞并行会话 109 号,顺延让号〕):用户拍板「苔藓回廊与地精不契合」作为过期词语全仓退役——新名致敬 DND 5e《凡戴尔的失落矿坑》地精部族「裂颚」(Cragmaw)洞窟巢穴,洞窟纵深连通幽暗地域、与第三关预案「灰矮人矿城」构成三层纵深叙事线;八处面同步(level.tres display_name+表尾批注 / ui_assembler 首页按钮 / 切片 README×2 / 00-游戏概念 / 03-内容规模 v0.4 / registry level_table / 第三关提案层名行+蕈林理由重写+两处旧读数顺手校正);纯字面变更零行值零机制改动,冒烟 355 项 0 失败
- **更新于**:2026-09-20(**地图战斗资源正文历史叙述迁出批**,worktree doc-polish-20260920,台账 109):变更记录归版本历史的纪律成文(正文零历史叙述),极性矩阵节两处旧体系对照句迁出;doc_term_audit 疑似 3→2
- **更新于**:2026-09-20(**完美策略档结构杠杆条目处置批**,独立 worktree 分支 perfect-lever-20260920,台账 108):用户拍板「完成即删、可迭代写明阶段」——06「完美策略档的结构性加难杠杆」删除收口:结构候选(承伤硬地板类)算术否决+完美档通关率 56%/40% 落带双重定案;可迭代残余吸收进「L2 Boss 承伤微越带与完美档压带迭代」条目(改题):①L2 完美 Boss 承伤 51.6% 微越 1.6 点压带(杠杆位现成)②真人批 k 系数后双档读数复核——执行阶段 = 曲线调参批。纯文档零代码,冒烟不适用
- **更新于**:2026-09-20(**文档一致性三项基建批**,独立 worktree 分支 doc-consistency-20260920,台账 107):链接健康检查 doc_link_audit(771 链接 0 死链/7 白名单)+ gdd_lint R10 版本号唯一(抓到 v0.16 真实撞号→顺延 v0.22)/R11 计数词漂移 + 存量漂移死链清零
@@ -281,5 +282,5 @@
107. **文档一致性三项基建批(2026-09-20,本会话——用户在退役术语扫描落地后拍板「空缺 3 项」全做并走 plan 模式三子 Agent 委托;worktree doc-consistency-20260920,合并 b1243b2)**:①**doc_link_audit.py 链接健康检查**(226 行)——markdown 相对链接相对所在目录解析、反引号路径形多基解析(所在目录→仓库根→design→slice)、中文锚 GFM 规则命中、--known 白名单/--strict 门禁/--json;自测 16/16 全过;全仓 771 链接扫出 11 真死链 0 误报;②**gdd_lint +R10/R11**——R10 版本历史版本号唯一性(上线即抓到战斗结算 v0.16 真实撞号:充能退役批 vs 甲效矩阵批,本批顺延 v0.22 避让〔照 v0.19 先例〕);R11 计数词漂移对照(锚表指路 registry:359/:314/:327;版本历史节+轨迹词豁免+yaml # 注释剥离);③**存量清理**——06-待办七型×4→八型(枚举补第8型+版本号成对修正防改一半矛盾)、interaction-patterns 15 类×2→9 类、02-系统清单 archive 死链降纯文字(design/archive 目录缺失待归位)、地形变异→战斗结算目录写错×2、06 自指链接多退一级×1、8 处未建 UX 文档引用(player-journey/node-reward/accessibility-requirements/level-clear)入 tools/doc_link_known.txt 白名单作欠账管理。**验证**——doc_link_audit --strict PASS、R10/R11 全仓 0 命中、R1-R9 与 master 基线一致、doc_term_audit 疑似 3 留档不变。**遗留**——design/ 外漂移(architecture.md 15 类×2、README 五型×1)仅显式调用可见,留后续清理;8 处白名单项随对应 UX 文档建档自然消除
108. **完美策略档结构杠杆条目处置批(2026-09-20,本会话——用户拍板「完成即删,可迭代写明处理阶段」;worktree perfect-lever-20260920,纯文档零代码)**:06 清单「完美策略档的结构性加难杠杆」**删除收口**——结案依据双重:①结构候选(承伤硬地板、削弱饱和语义)经 game-balancer 算术核验否决(17 血尺度下百分比地板 <6% 等价平铺下限 1,台账 100 伤害下限 [1,+∞) 已落;≥6% 实质=最低伤害 1→2 单行数值);②完美策略档通关率经重投基线(台账 105)实测 55.7%/39.7% 双落 [35,65] 带——条目登记时的旧证据(通关率 100%、几乎满血、承伤带无分辨力)已被地形变异+伏击退役+主角增益削半三批行为变更翻页。**可迭代残余吸收**进「L2 Boss 承伤微越带与完美档压带迭代(现役口径)」条目(原「L2 Boss 承伤越带(地形变异后实测)」改题):①L2 完美 Boss 承伤 51.6% 微越 1.6 点的压带迭代(杠杆 = 变异 effect_value / percent_of_cells / per_level_bonus / Boss 血量锚走廊);②真人批 k 系数合入后完美档与普通档双档读数复核(位移则回条重判);执行阶段注明 = 曲线调参批(门 = 真人批 k 系数)。验证:纯文档零代码冒烟不适用。
109. **地图战斗资源正文历史叙述迁出批(2026-09-20,本会话——用户对 doc_term_audit 剩余 3 疑似逐条裁决:①battle ambusher 留档表可接受〔废案存档不影响使用〕、②极性矩阵正文的历史对照句应迁出——变更记录应如 ADR 记于版本历史而非系统描述正文、③06 雾格失义随待办完成自然消解;worktree doc-polish-20260920,合并 3abc2a1,纯文档 1 文件 2 行)**:①极性矩阵节「取代旧体系的四套固定兑付」历史对照句删除(信息已在版本历史 v0.4 全量留档);②节尾「退化特例/撤旗退役变更叙述」删除,改一句纪律成文:**矩阵只描述现行规则,被取代的旧体系与历次结构变更一律记版本历史,不在正文复述**;③验证=gdd_lint 与 master 基线 diff 只减不增(-1 条 R3)、doc_term_audit 疑似现行 3→2(余 2 处=用户判定留档:battle ambusher 留档表、06 雾格失义陈述)。**纪律首例**——本批确立「正文零历史叙述」文档纪律,后续各系统文档的历史对照句按同口径迁移(未排期,遇批顺带)
109. **地图战斗资源正文历史叙述迁出批(2026-09-20,本会话——用户对 doc_term_audit 剩余 3 疑似逐条裁决:①battle ambusher 留档表可接受〔废案存档不影响使用〕、②极性矩阵正文的历史对照句应迁出——变更记录应如 ADR 记于版本历史而非系统描述正文、③06 雾格失义随待办完成自然消解;worktree doc-polish-20260920,合并 3abc2a1,纯文档 1 文件 2 行)**:①极性矩阵节「取代旧体系的四套固定兑付」历史对照句删除(信息已在版本历史 v0.4 全量留档);②节尾「退化特例/撤旗退役变更叙述」删除,改一句纪律成文:**矩阵只描述现行规则,被取代的旧体系与历次结构变更一律记版本历史,不在正文复述**;③验证=gdd_lint 与 master 基线 diff 只减不增(-1 条 R3)、doc_term_audit 疑似现行 3→2(余 2 处=用户判定留档:battle ambusher 留档表、06 雾格失义陈述)。**纪律首例**——本批确立「正文零历史叙述」文档纪律,后续各系统文档的历史对照句按同口径迁移(未排期,遇批顺带)
110. **第一层改名「裂颚洞窟」批(2026-09-20,本会话——用户拍板「苔藓回廊跟地精不太契合……直接把苔藓回廊作为过期词语删除替换掉」,新名授权本会话选定;worktree rename-l1-20260920)**:全仓「苔藓回廊」现行用字清零(8 处消费面全替换,仅 5 处退役审计注记有意保留——版本历史/registry 注记/表尾批注/提案沿革,符合文档纪律)——①切片 `level.tres` display_name →「第一层 · 裂颚洞窟」+表尾改名批注;②切片首页按钮 `ui_assembler.gd`;③切片 README 试玩指引×2;④`00-游戏概念` 首关层名行;⑤`03-内容规模` 层名表+版本历史 v0.4;⑥registry `level_table` display_name 行。**命名出典**:新名致敬 DND 5e《凡戴尔的失落矿坑》(Lost Mine of Phandelver)地精部族「裂颚」(Cragmaw)洞窟巢穴——地精盘踞的浅层洞窟、通道向下延伸天然连通幽暗地域,且 LMOP 反主即卓尔「黑蜘蛛」,与 L2 蛛化卓尔 Boss 同谱;三层纵深叙事线贯通:裂颚洞窟(地精部族)→ 幽暗地域(蛛群·卓尔裔)→ 灰矮人矿城(第三关预案方向,未拍板)。第三关提案随批同步:层名行 + 蕈林备选理由重写(原理由绑「苔藓」已失义)+ 层名沿革注记 + 两处旧读数顺手校正(L2 完美 Boss 承伤改 51.6% 重投基线口径〔原 55.8% 系台账 96 地形批读数、已被台账 105 重投翻页〕;通关率带改分带后 L1 [35,55]/L2 [25,45])。仅字面变更:display_name 无代码/探针消费方(grep 证实),节点结构/行值/机制零改动。**验证**:冒烟 355 项 0 失败(tools/run_smoke.py 三闸全过;全新 worktree 首跑撞 class_name 缓存坑,对切片目录 `--editor --quit` 刷缓存后过——十二坑清单第 1 条再验证);全仓 grep 苔藓仅剩审计注记。
@@ -12,7 +12,7 @@
1. 用 Godot 4.7.2 打开本目录(含 `project.godot` 的文件夹)
2. 按 F5 运行(主场景 `presentation/main.tscn`)
3. **主入口:`▶ 第一关 · 苔藓回廊`**——线性节点链:战→战→赏(随机主动道具)→战→战→疗(血量恢复点)→王(Boss 遗迹守卫)
3. **主入口:`▶ 第一关 · 裂颚洞窟`**——线性节点链:战→战→赏(随机主动道具)→战→战→疗(血量恢复点)→王(Boss 遗迹守卫)
4. `测试用 · 角色数值调整板`:攻击/生命百分比加成(模拟天赋树解锁)+ 批量模拟(输出通关率/承伤期望/败北节点分布)
headless 冒烟(55 项断言,含关卡线性推进/满配通关/裸装败北/回放确定性,约 30 秒):
@@ -209,7 +209,7 @@ Godot_v4.7.2-stable_win64_console.exe --headless --path . --script res://smoke/s
5. **难度台阶可感知性**:D2 伏击兽/D4 Boss 相比 D0 蛆虫的变强是否有具体面孔(新敌种=新图像线索)。
6. **奖励供给体感**:可选类道具(刀/治疗包)获取频率与囤积感受(供给控制器批后每关 ≈4.5–6.5 件)。
试玩方式:F5 → 「▶ 第一关 · 苔藓回廊」基线打一局 → 调整板 +100% 攻击再打一局(对照"数值提升→通关期望改善"的元进度体感)。
试玩方式:F5 → 「▶ 第一关 · 裂颚洞窟」基线打一局 → 调整板 +100% 攻击再打一局(对照"数值提升→通关期望改善"的元进度体感)。
## 2026-09-12 试玩批次 1 → v3 数值批(F7 流程实践)
@@ -6,7 +6,7 @@
script = ExtResource("1")
rows = [{
"level_index": 1,
"display_name": "第一层 · 苔藓回廊",
"display_name": "第一层 · 裂颚洞窟",
"rest_heal_pct": 30,
"nodes": [{
"node_depth": 0,
@@ -86,3 +86,8 @@ rows = [{
; 敌种生态 = DND 幽暗地域(Underdark)方向:熊地精兄弟(bugbear 复用,池差异化改造)+ 巨蜘蛛
; giant_spider(新敌种,群行倾向)+ 蛛化卓尔精灵 drider(Boss 专属池,蜘蛛主题呼应)。行值全 provisional,
; 投值归 难度曲线与Boss。
;
; 层名改名批(2026-09-20 用户拍板):第一层「苔藓回廊」退役(湿地植物意象与地精巢穴不契合),
; 改名「裂颚洞窟」——致敬 DND 5e《凡戴尔的失落矿坑》地精部族「裂颚」(Cragmaw)的洞窟巢穴:
; 地精盘踞的浅层洞窟、通道向下延伸,天然连通第二层幽暗地域。仅 display_name 字面变更,
; 节点结构 / 行值零改动。
@@ -107,7 +107,7 @@ static func build_start_overlay(host: Control, db = null) -> Dictionary:
seed_edit.custom_minimum_size = Vector2(120, 0)
seed_row.add_child(seed_edit)
var lvbtn := UiKit.button("▶ 第一关 · 苔藓回廊(战×2 → 奖励点 → 战×2 → 恢复 → Boss)")
var lvbtn := UiKit.button("▶ 第一关 · 裂颚洞窟(战×2 → 奖励点 → 战×2 → 恢复 → Boss)")
box.add_child(lvbtn)
var lv2btn := UiKit.button("▶ 第二关 · 幽暗地域(分支节点图试玩——岔路口选下一跳)")
box.add_child(lv2btn)