198 lines
9.7 KiB
Markdown
198 lines
9.7 KiB
Markdown
# 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 正文可在对应实现完成后同步。
|