Skip to main content

Overview

Elemental Battlecards offers two distinct paths to victory, allowing for diverse strategic approaches. You can win by either collecting all card types or gathering enough essence tokens.

Victory Conditions

Condition 1: Field Control (6 Unique Types)

Control All 6 Card Types on Field

Be the first player to have all 6 unique card types on your battlefield to win the game.
The six required types:

Fire

Fuego

Water

Agua

Plant

Planta

Light

Luz

Shadow

Sombra

Spirit

Espíritu
// From Frontend/src/scenes/GameScene.js:1323-1333

// Victory condition: 6 unique types on field
const playerFieldTypes = new Set(
  this.player.field.filter(c => c).map(c => c.type)
);
if (playerFieldTypes.size === 6) {
  console.log('[GameScene] VICTORY: PLAYER (field control - 6 types)');
  return 'player';
}
// From Frontend/src/helpers/constants.js

export const GAME_CONFIG = {
    UNIQUE_TYPES_TO_WIN: 6,    // Need all 6 types ON FIELD
    MAX_FIELD_SIZE: 6,         // Field has exactly 6 slots
};
Cards must be ON YOUR FIELD to count toward this victory condition. Cards in your hand, deck, or graveyard do not count. Card level doesn’t matter - you just need at least one card of each type on the field.

Condition 2: Complete All 6 Essences

Fill All 6 Essence Orbs

Be the first player to activate all 6 elemental essences to win the game.
// From Frontend/src/scenes/GameScene.js:1336-1343

// Victory condition: All 6 essences filled
if (this.player.essences.size === 6) {
  console.log('[GameScene] VICTORY: PLAYER (filled all 6 essences)');
  return 'player';
}
// From Frontend/src/helpers/constants.js

export const GAME_CONFIG = {
    ESSENCES_TO_WIN: 6,  // Need all 6 essence types
};
How to earn essences: Essences are earned through direct attacks - attacking when your opponent has NO cards on their field:
// From Frontend/src/scenes/GameScene.js:1237-1241

// Player performs direct attack
console.log('[GameScene] Player performs direct attack', { 
  attackerType: attackerData.type, 
  attackerIndex: attackingCardObject.getData('fieldIndex') 
});

this.player.fillEssence(attackerData.type);
When opponent’s field is empty:
  1. Select one of your cards on the field
  2. Perform an attack action
  3. Since no enemy cards exist, this becomes a “direct attack”
  4. You gain the essence matching your attacking card’s type
Example:
  • You attack with a Fire card when opponent has no field cards
  • You gain the Fire essence orb
  • The Fire essence lights up in the UI
Each essence can only be earned once. If you already have the Fire essence and do another direct attack with Fire, nothing happens.
Essences are ONLY earned through direct attacks when the opponent’s field is empty. Regular combat victories do NOT award essences.

Condition 3: Opponent Inactivity

Win by Opponent Timeout

If your opponent fails to take any action for 3 consecutive turns, you win automatically.
// From Frontend/src/scenes/GameScene.js:1313-1321

// Victory by inactivity
if (this.playerInactiveTurns >= 3) {
  console.log('[GameScene] VICTORY: OPPONENT (player inactivity)');
  return 'opponent';
}
if (this.opponentInactiveTurns >= 3) {
  console.log('[GameScene] VICTORY: PLAYER (opponent inactivity)');
  return 'player';
}
How inactivity is tracked:
  • Each player has an inactivity counter
  • Counter increments when no action is taken during a turn
  • Counter resets to 0 when any action is performed (place card, attack, or fuse)
  • After 3 consecutive inactive turns, the inactive player loses
What counts as “activity”:
  • Placing a card from hand to field
  • Attacking with a card
  • Fusing two cards
What does NOT count:
  • Letting the turn timer run out
  • Opening menus
  • Hovering over cards
This prevents stalling and ensures games progress. Combined with the 12-second turn timer, this creates a sense of urgency and prevents indefinite matches.

Victory Path Comparison

Field Control Path

Focus: Maintaining battlefield diversityStrategy:
  • Place all 6 different types on your field
  • Protect diverse cards from being destroyed
  • Manage your 6 field slots efficiently
  • Balance offense and defense
Time to win: Mid-game (requires placing and protecting 6 cards)

Essence Path

Focus: Aggressive field clearing and direct attacksStrategy:
  • Clear opponent’s field completely
  • Perform direct attacks with all 6 card types
  • Create high-level cards to dominate combat
  • Force opponent to empty their field
Time to win: Late-game (requires 6 separate direct attacks)

Strategic Considerations

Dual-Path Strategy

The best players pursue both victory conditions simultaneously, adapting based on game flow.
Example strategic decisions:
Situation: You have 5/6 types and 3 essences
Decision: Focus on drawing cards to find the missing type
Action: Play defensively, draw aggressively

Situation: You have 3/6 types but 5 essences
Decision: Go for the essence victory
Action: Attack aggressively to get the final essence

Situation: You have 4/6 types and 4 essences
Decision: Stay flexible and pressure opponent
Action: Maintain board control, force opponent errors

Field Control Strategy

Diversity First

Prioritize placing different types over same-type cards. With 6 field slots and 6 required types, every slot must be a different type.

Defensive Positioning

Once you have all 6 types on field, play defensively to protect them. Use type advantages to counter enemy attacks.

Replace, Don't Fuse

Avoid fusing cards when pursuing field control - fusion removes one card and reduces diversity.

Rapid Deployment

Place cards quickly early game to establish board presence across all types before opponent can pressure you.

Essence Collection Strategy

Field Clearing

Focus on destroying ALL opponent cards to create direct attack opportunities. Level 2-3 cards excel at this.

Diverse Attacks

Keep one card of each type available for direct attacks. You need to perform direct attacks with all 6 types.

Maintain Pressure

After clearing opponent’s field, immediately perform direct attack before they can place new cards.

Combat Dominance

Invest in fusion to create Level 3 cards - they have combat advantage and can sweep opponent’s field reliably.

Game Configuration

All victory-related constants are defined in the game configuration:
// From Frontend/src/helpers/constants.js

export const GAME_CONFIG = {
    MAX_HAND_SIZE: 4,            // Limits hand size
    MAX_FIELD_SIZE: 6,           // Limits field size
    INITIAL_DECK_SIZE: 48,       // Starting deck
    TURN_TIME_LIMIT_MS: 12000,   // 12 seconds per turn
    MANDATORY_ATTACK_TURN: 3,    // Must attack by turn 3
    UNIQUE_TYPES_TO_WIN: 6,      // Victory condition 1
    ESSENCES_TO_WIN: 6,          // Victory condition 2
};
The mandatory attack rule on turn 3 prevents pure defensive strategies. You must engage in combat, which opens paths for both victory conditions.

Victory Check Timing

The game checks for victory conditions at specific moments:
// From Frontend/src/scenes/GameScene.js

checkVictoryConditions() {
  // 1. Check inactivity (3 turns)
  if (this.playerInactiveTurns >= 3) return 'opponent';
  if (this.opponentInactiveTurns >= 3) return 'player';
  
  // 2. Check field control (6 unique types on field)
  const playerFieldTypes = new Set(this.player.field.filter(c => c).map(c => c.type));
  if (playerFieldTypes.size === 6) return 'player';
  
  const opponentFieldTypes = new Set(this.opponent.field.filter(c => c).map(c => c.type));
  if (opponentFieldTypes.size === 6) return 'opponent';
  
  // 3. Check essences (6 filled)
  if (this.player.essences.size === 6) return 'player';
  if (this.opponent.essences.size === 6) return 'opponent';
  
  return null; // No winner yet
}
Check moments:
  • After each turn ends: All conditions checked in priority order
  • After direct attack: Essence count checked immediately
  • After placing 6th unique type: Field control checked
The first player to meet any condition wins immediately. Checks happen in priority order: inactivity → field control → essences.

Advanced Tips

Control the game pace based on your victory path:
  • Leading in types? Slow down, play defensively
  • Leading in essences? Speed up, force combat
  • Behind in both? Disrupt opponent’s strategy
  • Card Types - Understanding the 6 types required for type victory
  • Combat System - Win combats to earn essences
  • Fusion - Create powerful cards for combat dominance

Build docs developers (and LLMs) love