# Quick Design Spec: Minion Combat Feel and Weapon Roles **Type**: Addition **System**: Minion Combat / Hit Feel / Weapon-Enemy Interaction **GDD Reference**: `design/gdd/game-concept.md` **Related Spec**: `design/quick-specs/minion-formation-showcase-combat-2026-07-03.md` **Date**: 2026-07-03 ## Change Summary 在 `FormationProfile` 之外,补充 Demo 阶段杂兵战的另外三项设计方向: 1. 杂兵 AI 的“演员职责”划分。 2. 不新增动作和 VFX 前提下的打击感强化。 3. `Polychrome` / `FutureWand` 与 `L1_Assault_Pawn` / `L2_Assault_Stinger` 的武器-敌人互动定位。 本规格参考《鸣潮》《绝区零》等中高速第三人称动作游戏的通用经验:普通敌人应服务于战斗节奏、镜头可读性、连段展示和角色/武器差异,而不是始终追求最优围攻。 ## Motivation Cielonos 当前 Demo 的难度职责主要由 `C1_Axe` Boss 战承担。杂兵战更接近 Boss 战之间的缓冲期,目标不是让玩家高频受伤,而是让玩家感到: - 攻击能稳定命中。 - 敌人能被压制、打断、击退。 - 武器机制有明确发挥空间。 - 场面看起来忙碌,但玩家实际压力可控。 同类中高速动作游戏通常会把普通敌人设计成“节奏单位”而非“公平对手”:有些负责送连段,有些负责制造轻量远程压力,有些负责提示玩家使用闪避/切人/特殊技。Cielonos 现阶段也应采用类似思路,让杂兵成为战斗表现的燃料。 ## Matter 1: Enemy Actor Roles ### Design Rule 杂兵不应全部以“尽快攻击玩家”为目标。每个杂兵在当前 encounter 中应被分配一个临时演员职责。该职责可以由 `CoordinatorSubmodule`、Behavior Designer 或敌人自身状态共同决定。 ### Recommended Roles | Role | Purpose | Behavior | Demo Priority | |------|---------|----------|---------------| | `ActiveMelee` | 当前近战威胁 | 接近玩家并执行近战攻击 | 高 | | `ActiveRanged` | 当前远程轻压迫 | 保持中距离并发射低密度弹体 | 中 | | `ShowcaseVictim` | 连段/压制对象 | 靠近玩家前场,低抗打断,容易被击退或硬直 | 高 | | `Reposition` | 镜头友好站位调整 | 移动到 `FormationProfile` 允许区域,不主动攻击 | 高 | | `Taunt` | 填充场面但不增加压力 | 播放待机、威吓、短距离移动;无可用动画时等同 `Reposition` | 中 | | `Guard` | 护卫目标或空间 | 未来 Boss 辅助或精英房间使用 | 低 | | `Flanker` | 绕背/侧后方压力 | 仅高难度 profile 启用 | Demo 禁用 | ### Demo Encounter Pattern 4 个杂兵的默认职责分布建议: | Slot | Role | Example Enemy | |------|------|---------------| | 1 | `ActiveMelee` | `L1_Assault_Pawn` | | 2 | `ActiveRanged` | `L2_Assault_Stinger` | | 3 | `ShowcaseVictim` | `L1_Assault_Pawn` | | 4 | `Reposition` / `Taunt` | 任意杂兵 | ### Acceptance Criteria - [ ] 一个杂兵没有攻击 token 时,不应继续强行进攻玩家。 - [ ] 同一波杂兵中,至少有一部分敌人被明确分配为低威胁职责。 - [ ] Demo 默认杂兵战不会让所有敌人同时追求最大伤害输出。 - [ ] 玩家能稳定判断“当前真正攻击我的敌人是谁”。 ## Matter 2: Hit Feel Without New Animation or VFX ### Design Rule 杂兵打击感优先通过已有系统强化,不新增动作和 VFX: - `SLSUtilities/Feedback` - `ReactionSubcontroller` - `FuncAnimSubmodule` - `EventSubmodule` - `PassionSystem` - 现有 hit VFX / Wwise hit sound / damage number 目标是让玩家在打杂兵时获得“稳定命中、明显硬直、强反馈、快速奖励”的体验。 ### Hit Feel Levers | Lever | Rule | Notes | |-------|------|-------| | Hit Stop | 对 `Medium / Heavy / Disruption` 命中杂兵时给予轻量顿帧 | 仅用于杂兵,避免影响 Boss 节奏 | | Camera Shake | 重击、打断、击飞时增加短促低幅震动 | 使用自研 Feedback,不使用 More Mountains Feel | | Enemy Hit Stun | 杂兵被中高等级攻击命中后更容易进入硬直 | 强化压制爽感 | | Knockback / Impulse | 杂兵轻量击退,保持玩家攻击方向清晰 | 避免飞太远导致追击断裂 | | Passion Reward | 完美闪避、完美格挡、打断杂兵攻击时给额外 `Passion` | 鼓励技术动作 | | Energy Reward | 可选:处理远程弹体或打断特定动作时少量回能 | 强化继续进攻 | | Damage Number Emphasis | 对打断、重击、连段终结使用更明显的数字反馈 | 不改变实际伤害也能提升感知 | | Hit Sound Layering | 复用现有 Wwise 事件,重击/打断使用更厚的 hit sound | 不新增音频时可先调 mix / event 选择 | ### Suggested Defaults | Event | Feedback Direction | |-------|--------------------| | 普通命中杂兵 | 轻微 hit spark + 标准 hit sound | | `Medium` 命中 | 轻量 hit stop + 小幅 camera shake | | `Heavy` 命中 | 更明显 hit stop + 击退 + 较强 damage number | | `Disruption` 命中 | 短慢动作/顿帧 + 明显硬直 + `Passion` 奖励 | | 完美闪避杂兵攻击 | `PerfectDodge` feedback + `Passion` 奖励 | | 完美格挡杂兵攻击 | `PerfectBlock` feedback + 敌人短硬直 | | 反射/处理 `L2` 弹体 | 给予能量或 `Passion`,并制造反击窗口 | ### Reference Principle 《鸣潮》《绝区零》这类动作游戏常把普通敌人的被击反馈做得很慷慨:普通敌人能被玩家稳定打出硬直、浮空、击退或资源收益,让玩家在低风险战斗中体验角色性能。Cielonos 不需要复制其系统,只需要保留这一设计原则:**杂兵是玩家操作表达的放大器。** ### Acceptance Criteria - [ ] 杂兵被 `Medium / Heavy / Disruption` 命中时,反馈强度明显高于普通命中。 - [ ] 杂兵战中玩家能更频繁获得正反馈,而不是只看到敌人扣血。 - [ ] 完美闪避、完美格挡、打断杂兵攻击至少有一种明确资源收益。 - [ ] 反馈增强不依赖新动画或新 VFX。 - [ ] Boss 战反馈节奏不被杂兵专用调参破坏。 ## Matter 3: Weapon-Enemy Interaction Roles ### Design Rule Demo 阶段只有两把核心武器:`Polychrome` 与 `FutureWand`。杂兵设计应让这两把武器的优势都能被玩家感知,而不是所有敌人都用同一种打法处理。 ### Weapon Roles | Weapon | Demo Combat Role | Desired Feeling | |--------|------------------|-----------------| | `Polychrome` | 近战压制、打断、格挡/弹反、连段推进 | 贴身、锋利、节奏强、能把敌人压住 | | `FutureWand` | 远程清理、弹体处理、控场、群体收割 | 安全、华丽、范围感、能处理远程压力 | ### Enemy Pairing | Enemy | Primary Showcase Weapon | Reason | |-------|--------------------------|--------| | `L1_Assault_Pawn` | `Polychrome` | 低抗打断近战目标,适合连段、打断、格挡后反击 | | `L2_Assault_Stinger` | `FutureWand` | 远程轻压迫目标,适合弹体处理、远程反制、控场清理 | ### L1_Assault_Pawn Rules - 作为 `Polychrome` 的主要爽感对象。 - 攻击前摇应足够可读,让玩家可以选择: - 先手压制 - 完美闪避 - 完美格挡 - 使用打断技 - 抗打断能力低于 Boss。 - 被 `Polychrome` 打断后可以进入短暂“易受击窗口”。 - 若玩家连续压制 L1,不应频繁强制脱离或绕背。 ### L2_Assault_Stinger Rules - 作为 `FutureWand` 的主要远程互动对象。 - 弹体压力以“提示玩家处理远程威胁”为主,不追求高伤害。 - 弹体应支持至少一种玩家正向处理方式: - 完美闪避获得 `Passion` - 格挡/反射获得资源 - `FutureWand` 远程攻击可安全处理 - L2 站位不应默认出现在玩家背后。 - 如果场上已有 `ActiveRanged`,其它 L2 应进入 `Reposition` 或低威胁状态。 ### Cross-Weapon Encouragement 不强迫玩家切武器,但通过收益暗示不同处理方式: - 用 `Polychrome` 处理 L1 更容易获得打断和连段收益。 - 用 `FutureWand` 处理 L2 更容易获得安全距离和弹体处理收益。 - 两把武器都能打所有杂兵,避免硬克制导致 Demo 卡手。 ### Acceptance Criteria - [ ] 玩家能感知 `Polychrome` 打 L1 更顺、更容易压制。 - [ ] 玩家能感知 `FutureWand` 打 L2 更安全、更适合处理远程压力。 - [ ] 任意武器仍可处理任意杂兵,不形成硬性门槛。 - [ ] 杂兵战能自然展示两把 Demo 核心武器的差异。 - [ ] 杂兵配置不会抢走 `C1_Axe` Boss 战的难度职责。 ## Affected Systems | System | Impact | Action Required | |--------|--------|-----------------| | `CoordinatorSubmodule` | 需要输出/维护敌人 tactical role | 与 `FormationProfile` spec 联动 | | Behavior Designer AI | 根据 role 决定攻击、等待、靠近、远离 | 调整 L1/L2 行为条件 | | `L1_Assault_Pawn` | 更明确的近战爽感沙包定位 | 调整抗打断、攻击 token、受击反馈 | | `L2_Assault_Stinger` | 更明确的远程轻压迫定位 | 调整射击 token、弹体收益、站位 | | `PassionSystem` | 增加杂兵技术处理收益 | 复用现有事件或增加轻量 hook | | `SLSUtilities/Feedback` | 承担主要打击感增强 | 复用现有 feedback clips | | Wwise Events | 命中/打断/格挡音频可重新分配 | 不要求新增音频 | ## GDD Update Required? Yes. 建议后续更新 `design/gdd/game-concept.md`: > Demo 阶段杂兵战不是主要难度来源,而是 Boss 战之间的爽快缓冲和武器展示空间。杂兵应通过 tactical role、低抗打断、强受击反馈和武器-敌人互动关系,为玩家提供清晰、稳定、正向的战斗体验。`Polychrome` 主要展示近战压制与打断,`FutureWand` 主要展示远程处理与控场;杂兵可以鼓励但不强制玩家使用特定武器。 本 quick spec 先作为实现依据;GDD 正文可在对应实现完成后同步。