diff --git a/design/gdd/systems/冒险循环/难度曲线与Boss.md b/design/gdd/systems/冒险循环/难度曲线与Boss.md index fb1d892f..d0cebdb8 100644 --- a/design/gdd/systems/冒险循环/难度曲线与Boss.md +++ b/design/gdd/systems/冒险循环/难度曲线与Boss.md @@ -1,7 +1,7 @@ # 难度曲线与Boss > 一句话:难度曲线、期望值带与 Boss 设计 -> 状态:已定稿(自旧体系迁移);现行为 v1.2 +> 状态:已定稿(自旧体系迁移);现行为 v1.3 ## 设计目的 @@ -282,6 +282,8 @@ Boss 战的棋盘用本关最大板形(板形行值读棋盘参数表),板 |---|---|---|---|---|---|---| | 关卡序号 × 节点深度 | enemy_id + display_name | hp | atk / [atk_min, atk_max] | [unit_count, unit_count_max] | {skill_id: weight} | armor_type + armor_class | +第一关图版注记:首发三敌种按"杂兵 → 主力 → 关底 Boss"生态位投放——地精 = 首发杂兵(教学位节点数量开战掷定,区间行值读表);熊地精 = 首发主力;食人魔酋长 = 首发关底 Boss(池独占增益技"硬化")。池构成纪律与独占技机制归[敌人系统](../战斗循环/敌人系统.md),行值读 `enemy.tres`(provisional)。 + 第二关图版注记(分支节点图批):L2 熊地精三行 = bugbear 复用(幽暗地域部族设定——display_name 熊地精系与第一关"熊地精"错开;池差异化改造 = 蓄力拍退役换突刺,复用共享技能行);巨蜘蛛 = 新敌种(群行倾向、首遇位固定数量不加骰——首遇教学位纪律);蛛化卓尔精灵 = Boss 专属池(独占技毒爆 + 权重轮廓,血量为 r_boss 口径 provisional 锚——定位本关最大单场消耗);护甲面:轻甲(蜘蛛)与魔法护甲(熊地精三行)同关错开克制面,Boss 重甲。L2 三行复用 bugbear、显示名熊地精系(2026-09-17 用户拍板);Boss 定名蛛化卓尔精灵(用户同日拍板)。节点编号 2 = 奖励点、3 = 恢复点(rest_heal_pct 行字段兑付)——不开战斗、无敌人/棋盘行。 第三关图版注记(第三关内容批):行集 = 与第二关同模板的九节点图(六战 + Boss + 奖励 + 恢复,节点编号 2/3 同为奖励点/恢复点——不开战斗、无敌人/棋盘行)。敌种生态:灰矮人 = duergar 新敌种(单体重甲中坚——第二关单体生态位的关间台阶);钩爪恐魔 = hook_horror 新敌种(群行,复用撕咬共享技能行);灰矮人石君王 = duergar_king Boss 专属池(独占妨害技大地脉动 earth_pulse = 乏力 sapped 首发——第二妨害词汇,池载荷口径同蛛网束缚)。两敌种首遇位(节点 0 / 节点 1)固定数量不加骰——首遇教学位纪律同第二关注记。克制面重轻错开:重甲灰矮人是重甲首次登台,轻甲钩爪恐魔保穿刺/普通分量有用武之地,Boss 重甲收束"轻甲 → 魔法护甲 → 重甲"教学梯度(第三档在 L3 补完)。Boss 血量 75 = Σ普通战生命期望 91 × r_boss≈0.82(provisional 锚,域 [0.5, 1.1]——Boss 锚在案口径,逐数闭合随调参批在调参日志留档)。棋盘 13×13 / Boss 14×14、密度 0.25 维持、地形变异第三关对落石(直伤 3 点)+ 矿尘(数字遮蔽)顺带铺行;armor_class 恒 0(正式投值仍归「敌方护甲等级正式行值」在案条目全表同批)。行值读 `enemy.tres` / `board_gen.tres` / `skills.tres` / `variation.tres`,全部 provisional-pending-growth(L3 口径见「期望值带」节)。 diff --git a/design/gdd/systems/战斗循环/敌人系统.md b/design/gdd/systems/战斗循环/敌人系统.md index e0200b83..c71fb47d 100644 --- a/design/gdd/systems/战斗循环/敌人系统.md +++ b/design/gdd/systems/战斗循环/敌人系统.md @@ -1,7 +1,7 @@ # 敌人系统 > 一句话:敌人数据、技能池出招、意图呈现 -> 状态:已定稿(自旧体系迁移);现行为 v1.5 +> 状态:已定稿(自旧体系迁移);现行为 v1.6 ## 设计目的 @@ -13,7 +13,7 @@ ## 系统范围 -边界这样划:本系统是战斗单位的"数据与语义层"——单位有哪些数值、技能池怎么构成、摇定之后状态怎么变,都归这里;什么时候结算、一笔伤害最终算多少、摇号怎么摇,归战斗结算编排;增益层数存放在哪,归增益状态;画成什么样,归 HUD 框架与战斗表现。本系统编排被动:自己从不主动做事,零随机、不碰界面、不订阅事件,一切等战斗结算来调。 +边界这样划:本系统是战斗单位的"数据与语义层"——单位有哪些数值、技能池的构成纪律(一张池怎么配才合法)、摇定之后状态怎么变,都归这里;每个敌种的池实际由哪些技能构成、各占多大权重,是行数据,逐行读敌人表(`enemy.tres`),调参所有权归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md);什么时候结算、一笔伤害最终算多少、摇号怎么摇,归战斗结算编排;增益层数存放在哪,归增益状态;画成什么样,归 HUD 框架与战斗表现。本系统编排被动:自己从不主动做事,零随机、不碰界面、不订阅事件,一切等战斗结算来调。 负责: @@ -76,22 +76,11 @@ | 基础攻击恒存在 | 基础攻击不许配 0(配置为 0 加载期拒绝)——零基线乘任何百分比增益恒为零,"胜利路径恒有"的保障从数据层杜绝死锁 | | 先手攻击不是敌方技能拍 | 每次结算战斗段主角先手攻击顺位最前的存活敌人,这是固定动作;奖励侧的道具与增益是基础攻击之外的规划面伤害,归[地图战斗资源](地图战斗资源.md) | -首发敌种三种——地精、熊地精、食人魔酋长(末者为首发关底 Boss);L2/L3 内容批扩至现行八种。名字是玩家可见专名,池权重与护甲等级行值一律读配置表,本表只存敌种语义模板: +名字是玩家可见专名。各敌种的行数据——名字、数量、生命、攻击、技能池、护甲两轴——逐行读敌人表(`enemy.tres`),本文不设敌种名录抄本;需要人读的敌种总览时,走外置图鉴工具(随工程批落地:从敌人表导出数据,渲染成独立打开即可阅读的静态总览页)。 -> **hobgoblin 缺口登记(2026-10-13 迭代 24 反哺④)**:敌人表有 `hobgoblin` 数据行(寻址键 (1, battle, 3) 的「大地精」行),**无立绘、不在本敌种表**——登记在案的已知缺口(敌种语义模板未成文故呈现面无定义可依),本批未动;补齐归敌种内容批(立绘+语义模板+敌种表行三件套)。 +> **hobgoblin 缺口登记(2026-10-13 迭代 24 反哺④)**:敌人表有 `hobgoblin` 数据行(寻址键 (1, battle, 3) 的「大地精」行),**无立绘、敌种语义模板未成文**(呈现面无定义可依)——登记在案的已知缺口,本批未动;补齐归敌种内容批(立绘+语义模板——行数据与投放语义已各有承载)。 -| 敌种 | 技能池构成(权重读表) | 护甲类型 | 护甲等级 | 定位 | -|---|---|---|---|---| -| 地精 | 普通攻击 + 突刺(低权重特殊技) | 行值读表 | 行值读表 | 首发杂兵;教学位节点数量开战掷定(区间行值读表) | -| 熊地精 | 普通攻击 + 蓄力 + 重击 | 行值读表 | 行值读表 | 首发主力 | -| 食人魔酋长 | 普通攻击 + 重击 + 硬化 + **震地怒击**(半血解锁——2026-10-05 技能池执行批) | 行值读表 | 行值读表 | 首发关底 Boss;硬化独占 | -| 巨蜘蛛 | 普通攻击 + 撕咬 + 蓄力 + **毒吐**(2026-10-13 迭代 24 N2 投放) | 行值读表 | 行值读表 | L2 首遇教学位(固定 2 只——首遇位不加骰) | -| 蛛化卓尔精灵 | 普通攻击 + 重击 + 毒爆 + 蛛网束缚 + **遏毒**(半血解锁) | 行值读表 | 行值读表 | L2 关底 Boss;毒爆/蛛网束缚独占 | -| 灰矮人 | 普通攻击 + 蓄力 + 重击 + **盾击**(2026-10-13 迭代 24 N2 投放) | 行值读表 | 行值读表 | L3 基线重甲位 | -| 钩爪恐魔 | 普通攻击 + 撕咬 + 蓄力 | 行值读表 | 行值读表 | L2/L3 群行位(蜘蛛同构池) | -| 灰矮人石君王 | 普通攻击 + 重击 + 大地脉动 + **岩崩**(半血解锁) | 行值读表 | 行值读表 | L3 关底 Boss;大地脉动独占 | - -护甲类型(轻甲 / 魔法护甲 / 重甲)与攻击类型的克制结算矩阵归[战斗结算](战斗结算.md),本系统只提供每个敌种的护甲类型数据——**护甲列自 2026-10-05 技能池执行批起改读表口径**(本表轮廓列不再记具体甲型:现行 L1 全轻甲 / L2 仅 Boss 魔法甲 / L3 重甲登台的错峰投放以 `enemy.tres` 行值为准;历史「本表写魔甲/重甲」与表失同步的欠账顺带清偿)。护甲等级是另一条数值轴(防守方字段,基础攻击掷点的折扣判定读数):敌人表与主角表各增 `armor_class` 一列(域 [0, 999]),掷点与折扣的结算归[战斗结算](战斗结算.md),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)——三敌种首关与主角的护甲等级行值读配置表(第一关怪物 AC 相对较低,正式行值待怪物设定投值,登记[待办清单](../../../../待办清单.md)),两条轴的概念与字段禁止混用。举证:生成与护甲为数据面规则,无计算。 +护甲类型(轻甲 / 魔法护甲 / 重甲)与攻击类型的克制结算矩阵归[战斗结算](战斗结算.md),本系统只提供每个敌种的护甲类型数据——各敌种的甲型行值逐行读敌人表(`enemy.tres`)。护甲等级是另一条数值轴(防守方字段,基础攻击掷点的折扣判定读数):敌人表与主角表各增 `armor_class` 一列(域 [0, 999]),掷点与折扣的结算归[战斗结算](战斗结算.md),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)——主角与敌方的护甲等级行值读配置表(正式行值待怪物设定投值,登记[待办清单](../../../../待办清单.md)),两条轴的概念与字段禁止混用。举证:生成与护甲为数据面规则,无计算。 ### 技能池:每敌种一张带权技能池,每拍开轮摇号出招 @@ -252,7 +241,7 @@ Boss 专属身份 = 专属池承载:独占技能 + 权重轮廓(**技能错 | P1 | 个体化变体池(A 型好斗 / B 型守势、精英专属池) | 共识点 A 的 A2 案;登记[待办清单](../../../../待办清单.md) | | P1 | 全局特殊间隔旋钮 | 特殊技背靠背实测仍嫌时的备用闸;登记[待办清单](../../../../待办清单.md) | | P1 | 新效应词汇批(妨害技 + 必中附加分量已实装 2026-09-19——设计权威 proposal-status-vocabulary.md〔提案已吸收退役——现行事实源=敌人系统.md 词汇表/增益状态.md〕 v1.0,实装面 = L2 Boss 卓尔;多段命中经用户拍板退役) | 妨害类型 + rider_mult 字段已落地;登记[待办清单](../../../../待办清单.md)(已解决移除,去向见状态记录) | -| P1 | 敌种名录扩容与投放节奏(含第二关池与投放) | 投放节奏是关卡命脉,归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md) | +| P1 | 敌种扩容与投放节奏(含第二关池与投放) | 投放节奏是关卡命脉,归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md) | | P1 | 单体寻址("只打某一个敌人"的目标指定) | 归集语义与呈现已裁定(2026-10-26;语义归[增益状态](增益状态.md)〈单体寻址扩展位〉节);实现随首个单体效果的内容批落地 | | P2 | 敌方技能图鉴 / 学习呈现(玩家侧技能知识系统) | 池不公开口径下的进阶信息面;登记[待办清单](../../../../待办清单.md) | | P2 | ~~精英 / Boss 遭遇编码位~~(已完成——不设编码位:同层多遭遇由节点编号消解,关卡节点地图 v1.0⑥ 用户裁决) | — | @@ -265,6 +254,9 @@ Boss 专属身份 = 专属池承载:独占技能 + 权重轮廓(**技能错 | 参数 | 取值域 | 说明 | |---|---|---| +| level_index(关卡序号) | int ≥ 1 | 行集坐标第一维:第几关;每关必有战斗类、深度带 0 的一行(锚行)与至少一行 Boss 类行——加载校验强制;关间台阶的坐标轴,行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md) | +| row_kind | {battle, boss} | 行类:battle = 战斗节点配池(非 Boss 的战斗节点一律取此类),boss = 终点行集——Boss 战按终点配置,多终点各配一行(走哪条路决定打谁);开战按节点类型取对应类的行集 | +| depth_band | int ≥ 0 | 深度带 = 节点深度所在的区间(定义见核心规则「行集构成纪律」):配池按带不按点,难度坡随带递增;节点深度落在带与带之间时取首个 ≥ 深度的带键(偏难一侧);越顶带加载校验判为调参事故;带键投放归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md) | | unit_count | [1, 3] | 遭遇数量区间下界;有上界的行开战时在区间内掷定,教学位节点同样掷骰 | | unit_count_max | [unit_count, 3],可省略 | 数量区间上界;开战时在区间内掷定本战实际数量;缺省 = 定值 | | atk_min / atk_max | [0, 999] 可选配对 | 攻击基线区间:开战掷定一次、整战持久;缺省 = 定值行 | diff --git a/待办清单.md b/待办清单.md index 51fdf169..b44d4ea2 100644 --- a/待办清单.md +++ b/待办清单.md @@ -4,7 +4,7 @@ #### hobgoblin 内容三件套补齐(2026-11-01 登记,来源=审计发现) -**实况**:敌人表 hobgoblin 行(寻址键 (1, battle, 3))数值完整在役、战斗正常运行,但内容三件套未交付——立绘、敌种语义模板、敌人系统.md 敌种表行均缺,呈现面因语义模板未成文无定义可依。登记凭据=[敌人系统](design/gdd/systems/战斗循环/敌人系统.md) v1.1「hobgoblin 缺口登记」节(2026-10-13 迭代 24 反哺④)。 +**实况**:敌人表 hobgoblin 行(寻址键 (1, battle, 3))数值完整在役、战斗正常运行,但内容件未交付——立绘缺、敌种语义模板未成文,呈现面因语义模板未成文无定义可依(原三件套中的「敌人系统.md 敌种表行」件随敌种名录表退役失效,2026-11-04:行数据逐行读 game/data/tables/enemy.tres、投放语义归难度曲线与Boss.md)。登记凭据=[敌人系统](design/gdd/systems/战斗循环/敌人系统.md) v1.1「hobgoblin 缺口登记」节(2026-10-13 迭代 24 反哺④)。 **缺口**:还差敌种语义模板的文档设计讨论闭合(呈现面定义、池构成口径),闭合后立绘走美术线。