跳到主要内容

第二场战斗

GCS · 快速上手

从空场景开始创建六个游戏数据库,再依次创建状态、卡牌、卡组、玩家、敌人与遭遇战,最后进入 Play Mode 验证整场战斗

开始前,先运行一场 Demo 战斗,并确认可以打开 Workbench

遭遇战结构

资产名称战斗中的作用
卡牌Ember Strike1 费、带有 Attack 标签的卡牌:造成 6 点伤害并施加 1 层 Embermark
卡组Ember Trial Deck放入 10 张 Ember Strike,确保始终能抽到
玩家Trial Hero使用这副测试卡组的简单玩家单位
敌人Trial Dummy会预告并造成少量攻击的可预测敌人
状态Embermark卡牌和敌人都可施加的、可见且可叠加的减益
遭遇战Ember Trial将上面五类内容资产连接为一场战斗

卡牌、玩家和敌人的美术、图标与预制体直接复用 Demo 内容,只创建战斗所需的数据和行为


1. 初始化战斗场景

新建场景,然后打开窗口:

Tools > TinyGiants > GCS > Game Card System

点击 Initialize System,GCS 会创建 GameCardManagerEventSystemBackgroundBattle RuntimeBattle Fx Directors,并在 Battle Runtime 下加入战斗面板、手牌区、卡牌堆与表现对象

执行 Initialize System 后,Hierarchy 中已创建 GameCardManager、EventSystem、Background、Battle Runtime 和 Battle Fx Directors

选择 GameCardManager,在 Encounter Bootstrap 中指定一个 Demo 遭遇战,进入 Play Mode 确认战斗正常启动,然后退出 Play Mode,继续创建本场战斗的数据

通过 Active 切换数据库

预设数据库可以直接通过 Active 按钮切换激活状态,因此,你可以直接点击按钮来切换预设数据库的激活状态,而不必去移除它,保留预设数据库也方便随时切回预设内容进行测试


2. 创建游戏数据库

回到 Edit Mode,在 Card、Deck、Player、Enemy、Status 和 Encounter 六个区域中分别点击一次 + New,GCS 会创建以下数据库:

区域新建数据库
CardNewCardDatabase
DeckNewDeckDatabase
PlayerNewPlayerUnitDatabase
EnemyNewEnemyUnitDatabase
StatusNewStatusDatabase
EncounterNewEncounterDatabase

六个数据库全部挂载后,点击每个预设数据库右侧的 Active,将预设数据库设为 Inactive,新数据库保持 Active。此时每一栏都会显示 1/2 Active:预设数据库仍保留在场景中,Workbench 只读取当前激活的新数据库

六类游戏数据库均保留预设引用,预设数据库为 Inactive,新数据库为 Active

打开 Workbench,Card、Deck、Player、Enemy、Status 和 Encounter 模式此时都没有内容,接下来创建的资产会写入刚刚激活的六个数据库

Workbench 中已选中空的 NewCardDatabase


3. 先创建状态

进入 Status 模式,创建 Embermark,并填写:

字段
NameEmbermark
DescriptionMarked by embers.
TypeDebuff
TagsTutorial
IconStatus_Burn
Stack RuleAdditive
Max Stacks9
Decay RuleNever
Show Stack Count开启
Behavior留空,不添加触发器

Embermark 只定义状态和显示规则,后续由卡牌和敌人的 FlowGraph 施加这个状态

Status 模式中的 Embermark 减益、叠层规则以及复用的 Demo 图标


4. 创建卡牌

进入 Card 模式,创建 Ember Strike

字段
NameEmber Strike
DescriptionDeal 6 damage. Apply 1 Embermark.
Cost1
TypeSupport
RarityCommon
Target ModeSingle Enemy Unit
TagsAttack
Keywords留空
UpgradeNone
IconStudy
TemplateSupport

Support 是卡牌的 Type,Attack 是它的 Tag,两者是独立字段

Card 模式中的 Ember Strike,显示 Support 类型、Attack 标签和复用的 Demo 表现资产

点击 Edit FlowGraph,按以下顺序连接节点:

On Card Played → Deal Damage → Change Status → 组节点(Play Effect)
Play VFX → Play SFX → Show Floating Text
节点字段
Deal DamageTargetOpponent
Amount6
Ignore Armor关闭
Change StatusTargetOpponent
Amount1
ModeDelta
StatusEmbermark
组节点Group NamePlay Effect
Exposed Params留空
Play VFXTargetOpponent
AnchorOn Unit
PrefabVFX_BurnIgnite
Lifetime0(自动)
Play SFXClipAttackMage/Mage2
Volume1
Show Floating TextTargetOpponent
KindDamage
ContentAmount
Amount6
Text留空
Use Custom Color关闭
Include Sign开启
Scale Multiplier1
Duration Multiplier1
Offset(0, 0, 0)

Opponent 指玩家打出卡牌时选择的敌人,将 Deal Damage 的 Dealt 连接到 Show Floating Text 的 Amount,让组节点显示扣除护甲后的实际伤害,再将 Change Status 的流程输出连接到组内 Play VFX 的输入

配置好 Play VFX、Play SFX 和 Show Floating Text 后,选中这三个表现节点并按 Ctrl + G,将其合并为 Play Effect 组节点,伤害与状态变化留在外层,主控制路径会更清楚,复用的表现链也能集中配置,组节点及其暴露参数可参考下一章的 FlowGraph 窗口

Ember Strike 的 FlowGraph:Deal Damage 和 Change Status 后连接 Play Effect 组节点


5. 创建卡组

进入 Deck 模式,创建 Ember Trial Deck

字段
NameEmber Trial Deck
DescriptionTen Ember Strikes for the second-battle tutorial.
Tags留空
IconDeck_Warrior_Start
CardsEmber Strike × 10

Deck 模式中的 Ember Trial Deck,包含十张 Ember Strike

6. 创建玩家

进入 Player 模式,创建 Trial Hero

字段
NameTrial Hero
DescriptionA tutorial player with a guaranteed Ember Strike draw.
Tags留空
IconAvatar
TemplatePrefab
Base HP60
Base Energy3
Starting DeckEmber Trial Deck
Energy NameEnergy
Energy Description留空
Energy IconNone (Sprite)

Starting Deck 决定玩家进入战斗时使用哪一副牌,Trial Hero 会从 Ember Trial Deck 中抽取 Ember Strike

Player 模式中的 Trial Hero,使用 Ember Trial Deck 和复用的 Demo 表现资产


7. 创建敌人

进入 Enemy 模式,创建 Trial Dummy

字段
NameTrial Dummy
DescriptionA predictable tutorial enemy.
TierNormal
Tags留空
IconAvatar
TemplatePrefab
HP Min24
HP Max24

Enemy 模式中的 Trial Dummy,先完成基础配置,再创建它的行为图

点击 Edit FlowGraph,按以下顺序连接节点:

On Enemy Behavior Start → Leaf Intent(Attack)→ Deal Damage → Change Status → 组节点(Play Effect)
Play VFX → Play SFX → Show Floating Text
节点字段
Leaf IntentIntentAttack
Deal DamageTargetOpponent
Amount3
Ignore Armor关闭
Change StatusTargetOpponent
Amount1
ModeDelta
StatusEmbermark
组节点Group NamePlay Effect
Exposed Params留空
Play VFXTargetOpponent
AnchorOn Unit
PrefabVFX_ImpactHit
Lifetime0(自动)
Play SFXClipHitLight/Hit002
Volume1
Show Floating TextTargetOpponent
KindDamage
ContentAmount
Amount3
Text留空
Use Custom Color关闭
Include Sign开启
Scale Multiplier1
Duration Multiplier1
Offset(0, 0, 0)

将 Deal Damage 的 Dealt 连接到 Show Floating Text 的 Amount,玩家结束回合前会看到 Attack 意图,之后该行为会造成 3 点伤害、施加 Embermark,再执行 Play Effect 组中的命中特效、音效和实际伤害飘字

Trial Dummy 的 FlowGraph:Deal Damage 和 Change Status 后连接 Play Effect 组节点


8. 组装遭遇战

进入 Encounter 模式,创建 Ember Trial

字段
NameEmber Trial
DescriptionA complete second-battle tutorial encounter.
DifficultyNormal
Tags留空
IconBackground,同时作为运行时的战斗背景
PlayerTrial Hero
Enemy UnitsTrial Dummy × 1
Reward DeckEmber Trial Deck
Starting Hand Size5
Draw Per Turn5
Max Hand Size10
Starting Energy0
Card Reward Count3
Armor Decay RuleResetOnTurnStart
Hand Discard RuleDiscardOnTurnEnd
Enemy Intent DisplayFull
Animation Gap Per Step0.28

Full 显示敌人意图图标和数值,IconOnly 只显示图标,Hidden 不显示意图

Encounter 模式中的 Ember Trial,连接 Trial Hero、Trial Dummy、Ember Trial Deck 奖励卡组和复用的预览图像

选择 GameCardManager,在 Encounter Bootstrap 中指定 Ember Trial,进入 Play Mode 时,GCS 会从这个遭遇战读取玩家、敌人、卡组和战斗规则

GameCardManager 的 Encounter Bootstrap 已指定 Ember Trial


9. 运行并验证遭遇战

进入 Play Mode,画面中应显示 Trial HeroTrial Dummy、包含 Ember Strike 的手牌和敌人的 Attack 意图

完成的战斗:手牌中有 Ember Strike,Trial Dummy 预告攻击

选择一张 Ember Strike 并指定 Trial Dummy 为目标,卡牌结算后

使用 Ember Strike 指定 Trial Dummy 为目标

敌人的 HP 从 24 降至 18,状态栏显示 1 层 Embermark

Ember Strike 已结算:Trial Dummy 为 18/24 HP,且有 1 层 Embermark

结束玩家回合,Trial Dummy 的 Attack 会造成 3 点伤害,并向 Trial Hero 施加 1 层 Embermark

敌人回合已结算:Trial Hero 为 57/60 HP,双方均显示 1 层 Embermark

确认以下结果全部成立:

  • Ember Strike 出现在手牌,消耗 1 点能量并造成 6 点伤害
  • 卡牌结算后,敌人身上出现 Embermark
  • 敌人行动前显示 Attack 意图
  • 玩家结束回合后,敌人造成 3 点伤害并对玩家施加 Embermark
  • 遭遇战具有有效预览图像、玩家、敌人、奖励卡组,Console 没有报错