两文件是流水线流程件而非游戏描述件,此前住在 design/gdd/ 造成三处不适配: gdd_lint 必须为它们逐条关掉体裁规则、格式权威却写在 doc-conventions §12、 与同族的 roadmap(在仓库根)分居两处。迁到根后按 roadmap.md 的无编号风格改名。 - 迁出:design/gdd/06-待办清单.md → 待办清单.md;07-体验验证清单.md → 体验验证清单.md - 指向改写 53 个文件:GDD 各系统文档指路存根、四份规约、02 根索引、README/roadmap/AGENTS - 两份清单自身 74 处出站链接按新基址重指(../art → design/art、systems → design/gdd/systems) - gdd_lint:待办/体验验证两文件的 R1/R3/R5/R7 豁免行随迁删除(已脱离扫描面),后门表清零 - pipeline_gate 默认路径、log_analysis/render_gate 称谓、repo_structure_audit 根文件白名单同步 - 保护面补写:两份清单列入实现批禁写清单(AGENTS 两类批条 / process-conventions §12 / 架构文档域表), 条目状态只由流水线各段推进 - 范围外未动(用户令「全不碰」):reports/ 与 design/research/ 的 22 处历史指向、game/ 两处注释
17 KiB
战斗表现
一句话:战斗动画与演出(旧体系未单独成文) 状态:范围草案(待设计)
设计目的
战斗表现管的是"轮末结算怎么被看见":伤害数字、受击反馈、敌人退场、连锁演出。它不产生任何数值,只负责把战斗结算已经决定的事演出来。这游戏的卖点是"扫雷攒下的因,逐行兑现成战斗的果"——兑现若只是一瞬数字跳动,玩家就感受不到"我算对了"。
本文目前只做两件事:划清范围边界;收拢上游已经登记下来的呈现义务,作为将来的输入清单。动画风格、镜头语言、演出节奏一概未定,且须先过一屏样张才有资格定(见"前置美术测试是硬前置")。
一句翻译说明:旧体系把本系统概括为"结算画面 → 战斗动画、伤害数字"。战斗屏常驻双舞台裁决之后,结算不再是独立画面,本文按现行口径把范围理解为"在既有呈现上叠加动画密度"。
系统范围
边界这样划:战斗屏上"发生什么、摆在哪里、是什么意思"已经由两份现行文档定稿——屏级呈现形态归 战斗屏 UX 规格 battle.md,视觉基调与剪影色彩归 美术圣经 art-bible。本文只负责"这些东西怎么动",而且是排期靠后的打磨项(见 不做清单:战斗动画演出是 MVP 内的打磨项,一律排后)。
负责:
| 负责 | 说明 |
|---|---|
| 动画与演出的设计 | 在既有呈现语义之上,设计受击、弹道、退场、连锁等动画的密度与节奏(类别见输入清单,方案未定) |
| 演出资产终稿 | 敌人受击反馈、死亡表现、顺位标记三类资产的终稿(数据面已由敌人系统锁定,程序化占位先行) |
| 一屏样张的组织 | 正式设计前的硬前置:用一张样张锁定角色剪影、动画方案、战斗空间,并顺带裁决敌人层绘制优先级的插入位置 |
不负责:
| 不负责 | 归谁 |
|---|---|
| 屏级呈现形态与呈现语义(四区布局、敌人呈现〔站桩形态〕、明细带、高光行) | battle.md 与 HUD 框架,本文只引用 |
| 视觉基调、剪影哲学、色彩与图标键契约 | art-bible,本文只引用 |
| 结算逻辑与逐行流水本身 | 战斗结算 |
| 敌种视觉状态的数据面(哪个敌种有几态、什么姿态) | 敌人系统 |
在核心循环中的位置
扫雷段 ──▶ 轮末结算段(战斗结算逐行兑现)──▶ 冒险推进
▲
└─ 战斗表现:贴在结算段上的动画层,不产生数值,只让兑现被看见、被归因
战斗表现不是循环里独立的一段,而是贴在轮末结算上的呈现层。它消费战斗结算的逐行流水,把每行兑现演出来;挖掘期的棋盘呈现与本系统无关,归 HUD 框架与 battle.md。
核心规则(已确证的范围边界与已知约束)
本系统尚未设计,本节只收现行材料能确证的边界与约束;其余问题见文末「待设计问题清单」。
不另起场景:在既有呈现上叠加动画密度
战斗屏是挖掘与结算两种形态共用的同一张屏:常驻双舞台(白话:战斗画面与扫雷图同屏常驻,像同一块屏上的两个舞台),结算期不切换场景,裁决与理由见 battle.md 布局决策 1。所以战斗表现的工作不是另做一个战斗场景,而是在既有呈现上叠加动画密度与演出——这是本系统范围边界的第一条。
"发生什么"与"怎么动"因此分了工:敌人死亡是血条归零后灰化加碎裂退场、禁止瞬间消失,结算明细带逐行滚动,完美排雷与封印标中有高光行强调——这些呈现语义已由 battle.md 与 HUD 框架定稿,本文不复述。本文将来承接的只是其上的动画密度:受击反馈、弹道、退场动画等类别。
资产侧同理,这也是双舞台带来的管线约束:若舞台形态悬而未决,同一份角色资产可能因舞台不同而重画。现行解法是剪影跨舞台通用——角色剪影按"棋盘、结算画面与任一战斗舞台通用"设计,不为舞台未决问题付重画成本(art-bible §5.1;原 §3.1,2026-09-22 迁 §5.1)。
收拢上游已登记的呈现输入
以下条目在上游定稿或概念拍板时已登记为将来由战斗表现承接的呈现义务。本文只收拢成输入清单,不展开设计:
| 输入 | 登记处 | 将来要做的 |
|---|---|---|
| 受击反馈 / 死亡表现 / 顺位标记 | 敌人系统的资产需求下限三类(终稿归样张批,呈现语义已归 battle.md) | 终稿资产与动画兑现;死亡禁止瞬消 |
| 特殊技技能动画定稿 | 敌人系统三档可见性规格(2026-09-16 敌人技能池批改型:行为环姿态预告〔一态与三态〕退役——现行数据面 = 普通攻击零表示、特殊技三族动画〔攻击系/增益系/妨害系——2026-09-19 妨害系新增〕,暴击为掷点层无前置表示;battle.md 意图线索映射目录已同步改型注记) | 把摇定动画映射(两型)做成终稿资产 |
| 奖励未生效行的呈现 | 增益状态定稿时登记(数据源是战斗结算的明细协议) | 让这类行在演出中可读、不被吞掉 |
| 效果来源格的可读化 | 同上(候选形态:缩略图或格子高亮,坐标不直接呈现) | 把"效果来自哪一格"翻译成玩家可读的演出 |
| 坍塌显形的连锁动画 | 游戏概念的概念层拍板——坍塌显形是连锁展开的玩家可见名,与音频方向同批配对登记 | 连锁展开触发时的连锁演出 |
| 高光兑现的演出强化 | 完美排雷与封印标中强调的机制及呈现位已由战斗结算与 battle.md 定稿 | 在既有高光行呈现之上加强演出密度 |
| 伤害数字 | 归档索引中本系统的旧范围一句话即含"伤害数字" | 落点未定:预告上格原则与"敌人不占格、兑现发生在战斗画面区"如何相容,见待设计问题清单 |
前置美术测试是硬前置
正式设计本文之前,必须先做一次"战斗表现美术测试":用一屏样张(一张按候选方案画成的试验图)锁定角色剪影、动画方案、战斗空间三件事。这是旧体系评审登记的排期硬前置,不是建议;battle.md 也登记了该测试须按双舞台布局出样。样张未过,不启动任何终稿资产与动画设计。
附着在同一次样张上的还有一项已登记的裁决(登记出处 = 敌人系统的呈现契约):敌人层绘制优先级的插入位置——白话就是敌人的姿态精灵画在绘制顺序的哪一层,会不会、以及如何与棋盘上的数字、封印印记、小人发生遮挡。它随美术测试一并裁决,不在本文提前定。
两项相邻裁定已有结论,设计时直接继承:敌人呈现形态已裁决(2026-09-20 用户看对照样张拍板)——全站桩式(无框立绘+底座),主角同样站桩、状态小图标挂血条正下方,卡片式整体退役(待办清单「敌人卡形态」解决移除,状态记录 99;battle.md 起草条款已随裁决改写,对照样张存档 production/mockups/);art-bible 的图标键契约已冻结,动画设计不必等图标终稿。
一屏样张的验收标准
样张是前置美术测试的判定物;本节把"怎么算过"在测试组织前写成文,避免临场现定标准。成文做法参照 art-bible §1.4 格子样张测试(内容清单、按序验收项、判定与回退),判据全部落到已冻结的现行口径上——本节不定任何新的视觉参数。
样张内容清单(一组齐备,缺项即无效):按 battle.md 布局决策 1 的常驻双舞台四区布局整屏出样;角色剪影按棋盘格、结算明细带、战斗舞台三个语境同图摆放;敌人卡两候选形态对照(卡片式与站桩式各一版,其余内容不变)——本项已由 2026-09-20 形态裁决提前完成(全站桩定稿、卡片式退役),正式样张按站桩形态单版出样即可(owner 修订,对照义务解除;见待办清单「敌人卡形态」销项,状态记录 99);受击、退场、高光兑现三组动画关键帧条(每组至少起、中、末三帧);敌人姿态精灵与数字、封印印记、小人同格叠放的遮挡对照组至少一组。
验收项按序判定,第一项不过 = 整张否决(继承格子样张"数字可读性定风格"的次序):
- 第一验收项|棋盘区零打扰(硬指标,继承已冻结口径):样张中一切战斗与演出元素不侵入数字字形占位区;棋盘区数字对比仍满足 art-bible §4.1 对比硬指标;挖掘期画面不因战斗元素新增抢焦运动。
- 剪影跨舞台通用(灰度通道):同一角色剪影转灰度后在三个语境下仍可辨认为同一角色——识别只靠轮廓通道、不借格底色(art-bible §5.1 已锁事实的样张检验)。
- 动画方案可读:三组关键帧条按序翻看能读懂"发生了什么":受击反馈先于死亡、退场有过程禁止瞬消、高光行强调可辨;每组动画能指认其减动效简化形态(时长减半或直达终态)。
- 战斗空间成立:双舞台同屏下挖掘期视线锚在棋盘区、结算期锚在明细带与战斗画面区(B 区),两舞台边界清晰、无焦点争夺。
- 敌层插入位置可裁:遮挡对照组足以裁决敌人姿态精灵画进绘制顺序的哪一层——任何层叠组合下数字、封印印记、小人禁止被遮挡到不可辨。
判定与回退:第 1 项不过即演出元素回炉,禁止以牺牲可读性换氛围(改演出、不动数字口径);第 2–4 项不过对应资产或方案回炉重交,已过项结果保留。第 5 项(敌层插入位置)不产生过/不过,产出一条裁决记录:插入位置结论由敌人系统的呈现契约登记(敌人卡形态对照半边已于 2026-09-20 提前裁决完成——全站桩定稿,结论已回写 battle.md 起草条款)。样张通过 = 角色剪影、动画方案、战斗空间、敌层插入位置四件锁定物冻结;通过前不启动任何终稿资产与动画设计。
演出服从信息与可读性
两条现行硬约束,将来任何动画方案都禁止越过。其一,数字可读性高于氛围:挖掘期画面无杂音,动画禁止遮挡数字、禁止在挖掘期抢焦;结算期的色彩与能量走向以 art-bible 第 2 节为权威。其二,结算逐行兑现是信息载体:battle.md 已承诺不可整体跳过、只提供减动效选项(时长减半或直达终态,逐行兑现可加速不可省略),本文将来兑现其动画侧。
结算演出与轮间节奏(已实装,2026-09-30 拍板点 3 裁决落位)
定义:轮末结算的呈现节奏规则——结算行按演出层排播队列分组依次呈现、轮切换以「第 N 轮」横幅驻留,把核心层一帧同步跑完的结算翻译成玩家可跟读的逐行过程;与结算演出覆盖层(光带横扫/跨区弹道,迭代 6)共同构成结算期的演出面。
作用对象与范围:只作用于演出层——排播常量在 main.gd(PACE_SEGMENT_GAP / PACE_ROW_GAP)与 settlement_fx_view.gd(BANNER_DWELL),横幅与节奏经 settlement_fx_view 呈现。核心层零触碰:battle_orchestrator 的「零 await」契约与「MC 与基线数据逐项比对」口径不受扰(T1 态 400/400 逐位实证在案)。
生命周期:进结算期起播——结算行按五段分组依序进明细带(段间 0.3s、段内 0.22s;段内值 0.06→0.22 系迭代 8 三轮修改批用户裁决「逐条演出可感知」);轮切换横幅驻留 0.6s 后消隐进下一轮;战斗结束排播收尾。减动效双态:开关开启 = 延迟归零同帧直落 + 横幅静态化(与设置面减动效联动——「可加速不可整体跳过」承诺的节奏侧兑现)。
关联与边界:结算顺序与结果归战斗结算(本节零触碰,逻辑先行、演出后行);减动效开关归设置与本地化;节奏常量以代码为事实源(上列三常量),本文登记现行值与沿革,表值化随演出批再议;fx_probe 轮横幅发射计数为验收断言面。
状态:已实装(2026-09-29 迭代 8 卡⑦已入库、三轮修改批调参追认;pacing_queue_test 第 15 套在册)。本节是本文第一块已落地内容,其余部分维持范围草案。
依赖与输出
| 方向 | 系统 / 文档 | 接口要点 |
|---|---|---|
| 上游 | 战斗结算 | 逐行流水与明细协议——演出时间轴的数据源 |
| 上游 | HUD 框架 | 四区布局、战斗画面区(四区中的 B 区)演出区结构、敌人呈现(站桩形态)与明细带呈现语义——本文在其上叠加密度 |
| 上游 | 敌人系统 | 资产需求下限三类与敌种姿态数据面——数据已锁,本文出终稿;另登记一项随样张一并裁决的事项:敌人层绘制优先级的插入位置 |
| 上游 | art-bible(现行权威) | 剪影、色彩、图标键契约、各阶段氛围——表现侧约束 |
| 上游 | battle.md(现行权威) | 屏级呈现形态与呈现语义 |
| 协作 | 音频 | 坍塌显形动画与音效方向系同批配对登记,将来对位设计(挂点未定) |
P0 最小闭环
MVP 不要求本文的闭环:不做清单把战斗动画演出列为 MVP 打磨项排后。MVP 期战斗的最低存在感由已定稿的呈现语义承载——受击闪白、死亡禁瞬消、高光行强调等已随 battle.md 与 HUD 框架落位,属于"会动但没演出"的状态。
本文正式开工的最小集合排在垂直切片(归档索引对本系统的里程碑登记口径):先过一屏样张,再把敌人资产下限三类的终稿替换程序化占位(白话:先用代码画的临时图形顶着,终稿后补),让已定稿的呈现语义动起来。
P1 / P2 后置
| 优先级 | 内容 | 后置原因 |
|---|---|---|
| P1 | 输入清单各项的演出化:伤害数字、奖励未生效行呈现、来源格可读化、坍塌显形连锁动画 | 依赖样张锁定的动画方案,逐项排期 |
| P1 | 高光兑现的演出强化 | 机制与呈现位已定,只欠密度 |
| P2 | Boss / 精英遭遇变体的专属演出密度 | battle.md 已有其呈现语义,动画密度后置打磨 |
| P2 | 减动效档的完整适配 | 选项已承诺,完整分档随演出定稿 |
调参表
暂无本系统自有的参数。已定的呈现常量(如明细带尺寸、过渡时长)归 battle.md 与 HUD 框架;本文将来新增的动画节奏参数随设计定稿再登记。
验收标准
待设计。方向性判据(供未来定稿参考):
- 样张先于生产:一屏样张未过审,任何终稿资产与动画方案禁止进入生产。
- 挖掘期零打扰:结算演出只发生在结算期;挖掘期不因动画新增运动元素,数字可读性不受影响。
- 因果可读:玩家看完一段兑现演出,能说出这一行结算来自他刚才的哪一步操作。
- 死亡可辨:敌人死亡瞬间可辨识,不存在"敌人凭空消失"的观感。
- 可访问:逐行兑现不可被整体跳过;减动效档下全部演出有时长减半或直达终态的通路。
待办
本系统待办条目已统一收编至 待办清单,本节不再逐条登记。
待设计问题清单
- 动画的技术载体:逐帧像素动画、程序化补间,还是混合——随样张锁定的"动画方案"一并裁决。
- 伤害数字画在哪、怎么叠:棋盘格上(预告上格原则的方向)还是战斗画面区,与逐行明细如何对应。
- 演出速度档位:逐行兑现的加速与跳过交互(约束:信息载体不可整体跳过)。
- 来源格可读化的形态二选一:缩略图还是格子高亮(登记时两者并列,未裁决)。
- 坍塌显形连锁动画与音效的挂点协同,安排在哪个批次合并设计。——已约定:对位批次 = 表现层升级批(P1,随样张锁定的动画方案后;音效侧同口径登记)。