跳到主要内容

敌人快速上手

GCS · Quick Start

在 Workbench 的 Enemy 模式中创建一个敌方单位,配置可预测的意图流图,并把它用于受控战斗测试。

适用于已经完成卡牌或状态,需要稳定测试目标的开发者。

敌人行为随机时,卡牌和状态调试会变得困难。本文创建一个 HP 范围窄、行动可重复的敌人,用于隔离测试变量。之后 Play Mode 中出现异常时,可以优先检查卡牌或状态配置。

打开 Enemy 模式

打开 Workbench,切换到 Enemy 标签页:

Tools/TinyGiants/GCS/Game Card Editor

左侧一栏列出场景 GameCardManager 上已注册 enemy database 里的敌方单位。demo 内容激活时,你应该看到来自 PresetEnemyUnitDatabase 的 16 个条目。列表为空说明没有激活的 enemy unit database,先在 manager 上处理好再继续。


创建敌人

新建一个敌人,或复制一个简单的 demo 敌人再改。Inspector 把字段分在四个折叠组里:

折叠组字段控制什么
BasicName显示在编辑器列表和战斗 UI 里。
BasicDescription简短的定位说明。就算游戏里不显示,编辑器里也用得上。
BasicTier分组标签,如 NormalEliteBoss。先用 Normal
BasicTags可选的职业、地貌或阵营标签,用于筛选。
VisualIconUI 和列表行里的头像。
VisualTemplate战斗中代表这个单位的 prefab。最终美术完成前可先复用 demo 敌人 prefab。
AttributesHP Min / HP Max战斗开始时掷出单位最大 HP 的范围。
BehaviorEdit FlowGraph决定意图并执行敌方回合的敌人流图。

每场战斗只掷一次敌人的最大 HP,结果落在 HP Min 到 HP Max 之间,两端都包含。测试用敌人的范围应保持较窄,例如 1824,便于多次运行时比较结果。demo 中的 Strawman 使用 1418,也是出于同样目的:

Workbench Enemy 模式选中 Strawman:Inspector 中的 Basic、Visual、Attributes 和 Behavior 折叠组,Preview 中的渲染和意图分布

字段填完后,列表中应显示敌人的等级 chip 和 HP 范围,Preview 栏应渲染它的模板。


给它一个可预测的意图

按 Behavior 折叠组里的 Edit FlowGraph,流图窗口以 <Asset Name> / FlowGraph 为标题打开。

敌人流图每回合回答两个问题:敌人预告什么,以及敌人行动时实际发生什么。GCS 会在回合开始时从流图解析并显示意图,到敌方阶段再执行同一条意图路径。

第一个敌人用一条固定路径回答这两个问题:

  1. On Enemy Behavior Start 入口开始。
  2. 加一个 Leaf Intent 节点。它的 Intent 下拉默认就是 Attack,这就是玩家会看到的图标。
  3. 后面接一个 Deal Damage 动作,Amount 填个小数字,比如 4。它的 Target 下拉默认是 Opponent,在敌人流图里解析为玩家。

回到 Workbench,Edit FlowGraph 按钮下方现在应该显示 Patterns 0 · LeafIntents 1 · Actions 1,Preview 的 Intents 面板应该只有一组 Attack

内置的 Intent 节点覆盖了你之后会用到的模式:

节点决定什么
Leaf Intent声明单位预告的意图,然后执行它的动作链。
Sequence Pattern跨回合按固定顺序轮转它的各个步骤。
HP Threshold Pattern单位 HP 百分比跌破阈值后切换分支。
Weighted Random Pattern每回合按权重掷出一个分支。
Once Per Battle主体分支只在第一次执行,之后不再触发。
Every N Turns每第 N 个回合执行一次主体分支。

在固定路径验证通过前,不要加入随机和阈值模式。需要参考更完整的敌人流图时,可以打开 demo 敌人的 Behavior;Hunter 场景 Mire of the Reaper 的 Boss,Mire Reaper,在 Leaf Intent 前接入了 HP Threshold Pattern 和 Weighted Random Pattern:

FlowGraph 窗口中 Mire Reaper 的 Behavior 流图:HP Threshold Pattern 接入 Weighted Random Pattern,再分出多条 Leaf Intent 动作链


把敌人放进遭遇战

敌人定义不会自动进入战斗,必须由遭遇战引用。切换到 Encounter 模式,选择一个测试遭遇战,或复制一个小型 demo 遭遇战(The Threshing Field 只有一个敌人),把你的敌人加入 Enemy Units 列表。首次验证只需要一个敌人。

你应该在 Enemy Units 折叠组里看到自己的敌人带着等级和 HP 范围,Preview 的 Lineup 面板里它正对着玩家单位。


在战斗中测试

在 Play Mode 启动遭遇战,检查:

  • 敌人出现在预期的棋盘位置。
  • 它的 HP 落在配置范围内。
  • 意图图标出现(遭遇战的 Enemy Intent Display 规则不能是 Hidden)。
  • 结束你的回合后敌人会行动。
  • 玩家 HP 或护甲按流图的伤害量变化。
  • 敌人 HP 归零时正确死亡。
使用 Monitor 验证数值

Game Card Monitor(Tools/TinyGiants/GCS/Game Card Monitor)的 Unit 标签页会在运行时显示 HP 和状态层数。调试数值时,优先使用 Monitor,而不是只观察战斗 UI。


常见错误

症状可能原因
敌人没有生成遭遇战没有引用这个敌人,或它所在的 enemy database 未激活。
每次运行 HP 差别太大HP Min 和 HP Max 相差太远,测试期间把范围收紧。
没有意图图标流图从未到达 Leaf Intent 节点,或遭遇战规则隐藏了意图。
敌方回合什么也不做意图后面没有连接动作路径,敌人只预告不行动。
敌人美术缺失Template 或 Icon 未分配。