敌人快速上手
在 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 把字段分在四个折叠组里:
| 折叠组 | 字段 | 控制什么 |
|---|---|---|
| Basic | Name | 显示在编辑器列表和战斗 UI 里。 |
| Basic | Description | 简短的定位说明。就算游戏里不显示,编辑器里也用得上。 |
| Basic | Tier | 分组标签,如 Normal、Elite、Boss。先用 Normal。 |
| Basic | Tags | 可选的职业、地貌或阵营标签,用于筛选。 |
| Visual | Icon | UI 和列表行里的头像。 |
| Visual | Template | 战斗中代表这个单位的 prefab。最终美术完成前可先复用 demo 敌人 prefab。 |
| Attributes | HP Min / HP Max | 战斗开始时掷出单位最大 HP 的范围。 |
| Behavior | Edit FlowGraph | 决定意图并执行敌方回合的敌人流图。 |
每场战斗只掷一次敌人的最大 HP,结果落在 HP Min 到 HP Max 之间,两端都包含。测试用敌人的范围应保持较窄,例如 18 到 24,便于多次运行时比较结果。demo 中的 Strawman 使用 14 到 18,也是出于同样目的:

字段填完后,列表中应显示敌人的等级 chip 和 HP 范围,Preview 栏应渲染它的模板。
给它一个可预测的意图
按 Behavior 折叠组里的 Edit FlowGraph,流图窗口以 <Asset Name> / FlowGraph 为标题打开。
敌人流图每回合回答两个问题:敌人预告什么,以及敌人行动时实际发生什么。GCS 会在回合开始时从流图解析并显示意图,到敌方阶段再执行同一条意图路径。
第一个敌人用一条固定路径回答这两个问题:
- 从 On Enemy Behavior Start 入口开始。
- 加一个 Leaf Intent 节点。它的
Intent下拉默认就是Attack,这就是玩家会看到的图标。 - 后面接一个 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:

把敌人放进遭遇战
敌人定义不会自动进入战斗,必须由遭遇战引用。切换到 Encounter 模式,选择一个测试遭遇战,或复制一个小型 demo 遭遇战(The Threshing Field 只有一个敌人),把你的敌人加入 Enemy Units 列表。首次验证只需要一个敌人。
你应该在 Enemy Units 折叠组里看到自己的敌人带着等级和 HP 范围,Preview 的 Lineup 面板里它正对着玩家单位。
在战斗中测试
在 Play Mode 启动遭遇战,检查:
- 敌人出现在预期的棋盘位置。
- 它的 HP 落在配置范围内。
- 意图图标出现(遭遇战的
Enemy Intent Display规则不能是Hidden)。 - 结束你的回合后敌人会行动。
- 玩家 HP 或护甲按流图的伤害量变化。
- 敌人 HP 归零时正确死亡。
Game Card Monitor(Tools/TinyGiants/GCS/Game Card Monitor)的 Unit 标签页会在运行时显示 HP 和状态层数。调试数值时,优先使用 Monitor,而不是只观察战斗 UI。
常见错误
| 症状 | 可能原因 |
|---|---|
| 敌人没有生成 | 遭遇战没有引用这个敌人,或它所在的 enemy database 未激活。 |
| 每次运行 HP 差别太大 | HP Min 和 HP Max 相差太远,测试期间把范围收紧。 |
| 没有意图图标 | 流图从未到达 Leaf Intent 节点,或遭遇战规则隐藏了意图。 |
| 敌方回合什么也不做 | 意图后面没有连接动作路径,敌人只预告不行动。 |
| 敌人美术缺失 | Template 或 Icon 未分配。 |