Skip to main content

Second Battle

GCS ยท Quick Start

Start with an empty scene, create six game databases, then add the status, card, deck, player, enemy, and encounter required to run the battle.

Before starting, run one demo battle and confirm that the Workbench opens.

Encounter structureโ€‹

AssetNameBattle role
CardEmber StrikeA 1-cost card tagged Attack: deal 6 damage and apply 1 Embermark.
DeckEmber Trial DeckTen copies of Ember Strike, so the card is always available.
PlayerTrial HeroA simple player that draws the trial deck.
EnemyTrial DummyA predictable enemy that telegraphs and deals a small attack.
StatusEmbermarkA visible, stackable debuff applied by both the card and enemy.
EncounterEmber TrialThe battle that joins the five content assets above.

Reuse the demo sprites, icons, and prefabs for the card, player, and enemy. Create only the data and behavior required by the battle.


1. Initialize the battle sceneโ€‹

Create a new scene, then open the following window:

Tools > TinyGiants > GCS > Game Card System

Select Initialize System. GCS creates GameCardManager, EventSystem, Background, Battle Runtime, and Battle Fx Directors, including the battle board, hand, card piles, and presentation objects under Battle Runtime.

The Hierarchy after Initialize System creates GameCardManager, EventSystem, Background, Battle Runtime, and Battle Fx Directors

Select GameCardManager and assign any demo encounter in Encounter Bootstrap. Enter Play Mode and confirm the battle starts, then exit Play Mode and continue with the new game databases.

Switch databases with Active

Preset databases can be switched directly with their Active controls, so you can use those controls to change which preset database is active without removing it. Keeping the presets assigned also makes it quick to switch back for testing.


2. Create the game databasesโ€‹

Return to Edit Mode. In the Card, Deck, Player, Enemy, Status, and Encounter sections, select + New once. GCS creates the following databases:

SectionNew database
CardNewCardDatabase
DeckNewDeckDatabase
PlayerNewPlayerUnitDatabase
EnemyNewEnemyUnitDatabase
StatusNewStatusDatabase
EncounterNewEncounterDatabase

After all six databases are assigned, select Active on each preset database to change it to Inactive and leave the new databases active. Each section now displays 1/2 Active: the preset database remains assigned, while the Workbench reads only the active new database.

The six game database sections with each preset database inactive and each new database active

Open the Workbench. Card, Deck, Player, Enemy, Status, and Encounter mode contain no entries. The assets created in the remaining steps are written to these active databases.

Workbench with the empty active NewCardDatabase selected


3. Create the status firstโ€‹

In Status mode, create Embermark with the following settings:

FieldValue
NameEmbermark
DescriptionMarked by embers.
TypeDebuff
TagsTutorial
IconStatus_Burn
Stack RuleAdditive
Max Stacks9
Decay RuleNever
Show Stack CountEnabled
BehaviorLeave empty; no triggers

Embermark only defines the status and display rules. The card and enemy FlowGraphs created below apply this status.

Status mode with the new Embermark debuff, its stack behavior, and a reused demo icon


4. Create the cardโ€‹

In Card mode, create Ember Strike:

FieldValue
NameEmber Strike
DescriptionDeal 6 damage. Apply 1 Embermark.
Cost1
TypeSupport
RarityCommon
Target ModeSingle Enemy Unit
TagsAttack
KeywordsLeave empty
UpgradeNone
IconStudy
TemplateSupport

Support is the card's Type. Attack is its Tag; the two fields are independent.

Card mode with Ember Strike selected, its Support type, Attack tag, and reused demo presentation

Select Edit FlowGraph and connect the nodes in this order:

On Card Played โ†’ Deal Damage โ†’ Change Status โ†’ Group (Play Effect)
Play VFX โ†’ Play SFX โ†’ Show Floating Text
NodeFieldValue
Deal DamageTargetOpponent
Amount6
Ignore ArmorDisabled
Change StatusTargetOpponent
Amount1
ModeDelta
StatusEmbermark
GroupGroup NamePlay Effect
Exposed ParamsLeave empty
Play VFXTargetOpponent
AnchorOn Unit
PrefabVFX_BurnIgnite
Lifetime0 (automatic)
Play SFXClipAttackMage/Mage2
Volume1
Show Floating TextTargetOpponent
KindDamage
ContentAmount
Amount6
TextLeave empty
Use Custom ColorDisabled
Include SignEnabled
Scale Multiplier1
Duration Multiplier1
Offset(0, 0, 0)

Opponent is the enemy selected when the player plays the card. Connect Dealt from Deal Damage to Amount on Show Floating Text so the group displays the actual damage after armor, then let Change Status continue into the group's Play VFX input.

After configuring Play VFX, Play SFX, and Show Floating Text, select those three presentation nodes and press Ctrl + G to merge them into the Play Effect group node. Keeping damage and status changes outside the group makes the gameplay sequence easy to read while the reusable presentation chain stays together. For group nodes and exposed parameters, see the next FlowGraph Window chapter.

Ember Strike FlowGraph with Deal Damage and Change Status followed by the Play Effect group


5. Create the deckโ€‹

In Deck mode, create Ember Trial Deck:

FieldValue
NameEmber Trial Deck
DescriptionTen Ember Strikes for the second-battle tutorial.
TagsLeave empty
IconDeck_Warrior_Start
CardsEmber Strike ร— 10

Deck mode with Ember Trial Deck containing ten Ember Strike copies

6. Create the playerโ€‹

In Player mode, create Trial Hero:

FieldValue
NameTrial Hero
DescriptionA tutorial player with a guaranteed Ember Strike draw.
TagsLeave empty
IconAvatar
TemplatePrefab
Base HP60
Base Energy3
Starting DeckEmber Trial Deck
Energy NameEnergy
Energy DescriptionLeave empty
Energy IconNone (Sprite)

Starting Deck determines which deck the player uses when the battle starts. Trial Hero draws Ember Strike from Ember Trial Deck.

Player mode with Trial Hero using Ember Trial Deck and reused demo presentation assets


7. Create the enemyโ€‹

In Enemy mode, create Trial Dummy:

FieldValue
NameTrial Dummy
DescriptionA predictable tutorial enemy.
TierNormal
TagsLeave empty
IconAvatar
TemplatePrefab
HP Min24
HP Max24

Enemy mode with Trial Dummy configured before its behavior graph is created

Select Edit FlowGraph and connect the nodes in this order:

On Enemy Behavior Start โ†’ Leaf Intent (Attack) โ†’ Deal Damage โ†’ Change Status โ†’ Group (Play Effect)
Play VFX โ†’ Play SFX โ†’ Show Floating Text
NodeFieldValue
Leaf IntentIntentAttack
Deal DamageTargetOpponent
Amount3
Ignore ArmorDisabled
Change StatusTargetOpponent
Amount1
ModeDelta
StatusEmbermark
GroupGroup NamePlay Effect
Exposed ParamsLeave empty
Play VFXTargetOpponent
AnchorOn Unit
PrefabVFX_ImpactHit
Lifetime0 (automatic)
Play SFXClipHitLight/Hit002
Volume1
Show Floating TextTargetOpponent
KindDamage
ContentAmount
Amount3
TextLeave empty
Use Custom ColorDisabled
Include SignEnabled
Scale Multiplier1
Duration Multiplier1
Offset(0, 0, 0)

Connect Dealt from Deal Damage to Amount on Show Floating Text. The player sees the Attack intent before ending their turn; the behavior then deals 3 damage, applies Embermark, and runs the Play Effect group to play the impact VFX, SFX, and actual-damage text.

Trial Dummy FlowGraph with Deal Damage and Change Status followed by the Play Effect group


8. Assemble the encounterโ€‹

In Encounter mode, create Ember Trial:

FieldValue
NameEmber Trial
DescriptionA complete second-battle tutorial encounter.
DifficultyNormal
TagsLeave empty
IconBackground; this is also the runtime battle background
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 seconds

Full shows the enemy intent icon and value. IconOnly shows only the icon, and Hidden shows no intent.

Encounter mode with Ember Trial connecting Trial Hero, Trial Dummy, the Ember Trial Deck reward deck, and a reused preview image

Finally, set Ember Trial as the manager's Encounter Bootstrap choice. It is the one asset the runtime starts.

GameCardManager with Ember Trial selected in Encounter Bootstrap


9. Run and verify the encounterโ€‹

Enter Play Mode. You should see the player, one enemy, a hand that includes Ember Strike, and a full enemy intent. Play Ember Strike, target the enemy, and then end the turn.

The completed battle: Ember Strike in hand and Trial Dummy telegraphing an attack

Select an Ember Strike, choose Trial Dummy as its target, and resolve the card.

Targeting Trial Dummy with Ember Strike

Trial Dummy's HP drops from 24 to 18, and its status bar shows one stack of Embermark.

Ember Strike has resolved: Trial Dummy is at 18 of 24 HP and has one Embermark stack

End the turn and let the enemy's graph resolve. Trial Dummy's Attack deals 3 damage, then applies the same visible Embermark to Trial Hero.

The enemy turn has resolved: Trial Hero is at 57 of 60 HP and both sides show one Embermark stack

Confirm all of the following results:

  • Ember Strike appears in hand, spends 1 energy, and deals 6 damage.
  • Embermark appears on the enemy after the card resolves.
  • The enemy displays an Attack intent before its turn.
  • Ending the player turn makes the enemy deal 3 damage and apply Embermark to the player.
  • The encounter has a valid preview image, player, enemy, reward deck, and no Console errors.