Files
Cielonos/design/quick-specs/minion-formation-showcase-combat-2026-07-03.md
SoulliesOfficial 39b43680a9 爆更
2026-07-18 03:16:20 -04:00

9.4 KiB
Raw Blame History

Quick Design Spec: Minion Formation Showcase Combat

Type: Addition System: Combat Coordinator / Minion Encounter AI GDD Reference: design/gdd/game-concept.md Date: 2026-07-03

Change Summary

将当前 CoordinatorSubmodule 的单一环绕式站位,扩展为可配置的 FormationProfile 阵型配置系统。Demo 阶段默认使用“前场展示阵型”让杂兵战服务于清晰索敌、爽快压制和打击感展示未来高难度内容可以切换到绕背、护卫、远程压制、Boss 辅助等其它阵型。

Motivation

当前杂兵战最大问题不是难度不足,而是 CoordinatorSubmodule 会倾向于让多个杂兵从玩家前后左右形成包围。四个杂兵同时分布在玩家周围时,会造成以下体验问题:

  • 玩家索敌与镜头阅读成本上升。
  • 背后敌人会打断展示节奏,使杂兵战从“爽快缓冲期”变成不稳定的视野压力。
  • Demo 阶段希望强调玩家压制敌人、连段命中、打断反馈和武器表现,而不是让杂兵承担主要难度。

因此,杂兵战的默认目标应调整为:镜头友好、压制爽快、低伤害但有节奏的 Showcase Combat

Design Delta

Current GDD says (design/gdd/game-concept.md, “敌人系统 / 杂兵”):

当前杂兵战斗设计存在较多缺陷,是优先改进方向。

This spec changes that to:

杂兵战在 Demo 阶段不是主要难度来源,而是 Boss 战之间的节奏缓冲和战斗展示空间。CoordinatorSubmodule 不应固定追求全方位包围,而应根据当前 FormationProfile 决定站位扇区、攻击令牌、敌人职责和镜头友好程度。默认 Demo 配置必须避免敌人主动绕背,使大多数敌人保持在玩家和摄像机容易观察的前场区域。

New Rules / Values

1. FormationProfile

新增可配置阵型概念:FormationProfile

FormationProfileCoordinatorSubmodule 的运行时配置来源,用于决定敌人如何围绕玩家站位、何时进攻、哪些敌人等待、哪些敌人施加远程压力。

建议用 ScriptableObject 实现,命名示例:

  • DemoShowcaseFormationProfile
  • FlankingFormationProfile
  • BossSupportFormationProfile
  • RangedPressureFormationProfile

2. FormationProfile 参数

Knob Default: DemoShowcase Range / Options Category Rationale
allowedSectorMode CameraForwardArc CameraForwardArc, PlayerForwardArc, FullRing, CustomWeightedSectors readability Demo 默认只允许前场或镜头友好扇区
frontArcDegrees 160 90-220 readability 控制敌人可站在玩家/镜头前方的角度范围
allowBackstabSectors false bool difficulty Demo 禁止绕背;高难度可开启
maxMeleeAttackTokens 1 1-4 pressure 同时只有一个近战杂兵真正进攻
maxRangedAttackTokens 1 0-3 pressure 允许轻量远程压力,但不形成弹幕压迫
maxActiveThreats 2 1-5 pacing 同时威胁源数量上限
idleRoleWhenNoToken ShowcaseVictim ShowcaseVictim, Reposition, Taunt, Guard, HoldDistance flow 无令牌敌人不绕背偷袭,而是服务展示节奏
preferLockTargetVicinity true bool camera 玩家锁定目标时,其它敌人优先分布在锁定目标左右可见区域
sectorReassignmentCooldown 2.0s 0.5-5.0s stability 防止敌人因玩家小幅移动频繁换位
backSectorWeight 0 0-1 difficulty Demo 为 0高难度可提升
sideSectorWeight 0.7 0-1 readability 允许侧前方敌人参与,但避免正背后
frontSectorWeight 1.0 0-1 readability 正前方/侧前方优先

3. Enemy Tactical Roles

CoordinatorSubmodule 应为敌人分配临时战术职责,而不是只分配扇区。

Role Behavior Demo Usage
ActiveMelee 持有 MeleeAttack token允许主动近战攻击 同时最多 1 个
ActiveRanged 持有 RangedAttack token允许远程射击或轻量压迫 同时最多 1 个
ShowcaseVictim 靠近玩家前场,抗打断低,容易被连段压制 Demo 常用
Reposition 移动到可见扇区,不攻击 用于填补站位
Taunt 仅播放待机/威吓/轻微移动,不制造威胁 若已有动画则使用;否则等同 Reposition
Guard 保护指定目标或区域 未来 Boss 辅助配置使用
Flanker 允许绕背或侧后方攻击 Demo 默认禁用,高难度配置使用

4. DemoShowcaseFormationProfile

Demo 阶段默认配置:

  • 阵型目标:玩家爽快压制,镜头清晰,低受伤率。
  • 允许扇区:镜头前方或玩家前方约 160°
  • 禁止绕背:allowBackstabSectors = false
  • 近战攻击令牌:maxMeleeAttackTokens = 1
  • 远程攻击令牌:maxRangedAttackTokens = 1
  • 同时威胁源:maxActiveThreats = 2
  • 无令牌敌人:进入 ShowcaseVictimReposition,不主动从背后攻击。
  • 4 杂兵场景推荐分工:
    • 1 个 ActiveMelee
    • 1 个 ActiveRanged
    • 1 个 ShowcaseVictim
    • 1 个 Reposition

5. Future Formation Examples

这些配置不要求本次实现全部完成,但 FormationProfile 结构必须支持:

FlankingFormationProfile

用于未来高难度房间。

  • allowedSectorMode = FullRing
  • allowBackstabSectors = true
  • backSectorWeight > 0
  • 允许 Flanker role
  • 近战 token 可提高到 2 或 3

BossSupportFormationProfile

用于未来 Boss + 杂兵混合战。

  • 杂兵优先避开 Boss 主攻击扇区。
  • GuardActiveRanged 权重提高。
  • 杂兵不抢 Boss 的镜头中心。
  • Boss 战难度仍由 Boss 负责,杂兵只制造轻量干扰或补充节奏。

RangedPressureFormationProfile

用于远程敌人主题房间。

  • maxRangedAttackTokens 可高于 maxMeleeAttackTokens
  • 远程敌人优先占据前侧方或中距离区域。
  • 禁止远程敌人全部分散到背后。

Minion Feel Rules

L1_Assault_Pawn

Demo 定位:近战爽感沙包。

  • 抗打断能力应低,玩家能持续压制。
  • 近战进攻时只在持有 ActiveMelee role 时主动攻击。
  • 未持有攻击 role 时,优先作为 ShowcaseVictim 进入玩家前侧可见区域。
  • Medium / Heavy / Disruption 命中时,应提供明显硬直、击退或 Feedback。

L2_Assault_Stinger

Demo 定位:远程轻压迫目标。

  • 只在持有 ActiveRanged role 时射击。
  • 弹体压力应低于 Boss 战,不应形成高密度弹幕。
  • 弹体被 Perfect Dodge / Perfect Block / Reflection 处理时,应给予玩家明显收益,例如 Passion、能量或反击窗口。
  • 站位应优先保持在前侧方或中距离,不应默认绕到玩家背后。

Affected Systems

System Impact Action Required
CoordinatorSubmodule 从固定扇区/令牌逻辑扩展为 profile-driven 阵型协调 添加 FormationProfile 数据入口、扇区权重、role 分配
Behavior Designer AI 行为树需要读取当前 tactical role / token 状态 增加或调整条件节点,避免无令牌敌人强行攻击
L1_Assault_Pawn 默认承担近战爽感沙包职责 按 role 控制主动攻击、防御、靠近行为
L2_Assault_Stinger 默认承担远程轻压迫职责 按 role 控制射击频率与站位
PassionSystem 可用于强化完美处理杂兵攻击的奖励 视实现决定是否增加额外奖励钩子
SLSUtilities/Feedback 用于放大杂兵被打断/被压制反馈 优先复用现有 Feedback不新增 VFX
Encounter / Wave 配置 不同房间可指定不同阵型配置 后续为房间或波次挂载 profile

Acceptance Criteria

  • CoordinatorSubmodule 不再只使用单一固定环绕逻辑,至少支持一个可配置 FormationProfile 输入。
  • Demo 默认配置下4 个杂兵不会主动形成玩家前后左右完整包围。
  • Demo 默认配置下,玩家背后扇区不会被普通杂兵优先占用。
  • Demo 默认配置下,同时主动近战攻击的杂兵数量不超过 1。
  • Demo 默认配置下,同时主动远程攻击的杂兵数量不超过 1。
  • 无攻击 token 的杂兵不会继续强行攻击,而是进入 ShowcaseVictimReposition 或等价低威胁行为。
  • L1_Assault_Pawn 在杂兵战中更容易被玩家压制和打断,不承担主要难度压力。
  • L2_Assault_Stinger 的远程攻击提供轻量节奏压力,但不破坏 Demo 的爽快压制体验。
  • 配置结构允许未来启用绕背阵型,不需要重写 CoordinatorSubmodule 的核心算法。
  • No regression: C1_Axe Boss 战不因 Demo 杂兵阵型配置而被削弱或改变核心难度职责。

GDD Update Required?

Yes.

建议后续更新 design/gdd/game-concept.md 的“敌人系统 / 杂兵”与“战斗系统”部分,加入以下原则:

Demo 阶段杂兵战承担“爽快缓冲期”和“战斗展示”职责,而非主要难度来源。杂兵阵型由 CoordinatorSubmoduleFormationProfile 配置驱动;默认 Demo 阵型强调镜头友好、前场可见、低绕背压力和高受击反馈。未来高难度内容可以通过其它 FormationProfile 启用绕背、护卫、远程压制或 Boss 辅助职责。

本 quick spec 先作为实现依据GDD 正文可在实现方案确定后再同步。