Strategy

Setup → Combat → Calculation → Growth

What is it

Set up your lineup and numbers before the fight, then watch them clash to an outcome — Clash Royale, Plants vs. Zombies, and Slay the Spire all share this structure.

How it plays

You weigh the setup again and again in the preparation phase; once battle starts you hold your breath as the battle unfolds — in tower defense you're still placing and patching mid-wave — wins feel earned, losses make you immediately re-draft and retry.

Why learn it

This is the model of "numbers as strategy" — abstract combat into configuration and settlement, and the depth hides in the choices made before the fight.

Core Loop
Unit → Stats → Combat → Reward
Key Abstractions
Unit · Stats · Combat · Reward · Counter Relationships

Instant Playable Demo

Strategy Demo
Loading game…
Rule Hints
Configure team/deck → Enter combat → Choose actions → Resolve stats and effects → Determine win/loss → Receive rewards and growth
Concept

The strategy growth model integrates units, stats, skills, and combat rules into a quantifiable battle system. Players configure teams, select skills, calculate damage and survival probabilities, and engage in deep confrontations against AI or other players. The underlying numeric model involves health, attack, defense rate, speed, status, and special effects interacting to produce predictable yet random outcomes. The core design principle is "visible trade‑offs": every configuration and action carries clear costs and benefits, requiring players to balance resource allocation, risk assessment, and opponent prediction.

Role

Suitable for mid‑tier strategy and RPG games, emphasizing depth in pre‑battle setup and in‑battle decision‑making.

Significance

Mastering the strategy growth model means understanding stat design, combat formulas, counter relationships, and growth curves. It forms the foundation for designing mid‑tier games such as RPGs, card games, tower defenses, and auto‑chess, and is key to turning "action" into "thought".

Core Gameplay System Breakdown

Core Loop Flowchart
Core Loop Flowchart
3.1 Problems Solved
  • Create a rich strategic space with a limited set of units and skills.
  • Maintain long‑term engagement through numeric growth and unlocks.
  • Keep repeated battles fresh with counterplay and randomness.
3.2 Learning Goals
  • Design stat models and combat formulas (damage, defense, speed, etc.).
  • Master unit balance, counter relationships, and the meta cycle.
  • Implement skill systems, buffs/debuffs, and combat logs.
3.3 Minimal Ruleset
  • There exist combat units with stats (health, attack, defense rate, speed, skills).
  • Units can attack, cast skills, or generate status effects.
  • Damage = Attack × (1 – Defense Rate) × (1 + Skill Multiplier) × (1 + Random Factor).
  • After winning combat, players receive resources, experience, or new units; rewards are tied to unit growth.

Common Combos & Variants

Skill + Speed bonus
Using a speed‑boosting skill within the same turn allows the attack to occur first, increasing combo opportunities.
High defense + Counter skill
High‑defense units paired with counter skills can negate a powerful enemy attack and trigger a counterattack.
AOE skill + Low‑health units
Using an AOE skill on a cluster of low‑health units can eliminate multiple enemies at once, saving resources.
Advanced Design & Algorithms (collapsed)Click to expand
Design Warnings
  • Numeric imbalance can quickly erode strategic feel; balance attack and defense rates. Excessive attack renders defense ineffective, while too low attack makes defense overpowered.
  • Too much randomness can make players feel out of control; balance "calculation" with "surprise". A large random factor weakens strategic depth, while a small one makes combat overly predictable.
  • High defense actually forces attackers to use skills: when defense rate approaches 1, normal attacks are nearly ineffective, so players tend to use high‑multiplier skills, draining skill resources quickly.
Algorithm Examples
  • Stat formulas and damage expectation calculations.
  • Turn‑based / real‑time combat state machine.
  • AI behavior trees and difficulty adaptation.
Key Code(Counter-Multiplier Damage Formula)
ts· 5 lines
const COUNTER = { A: { B: 1.5, C: 0.5 }, B: { C: 1.5, A: 0.5 }, C: { A: 1.5, B: 0.5 } };
function damage(attacker: Unit, defender: Unit): number {
  const k = COUNTER[attacker.type]?.[defender.type] ?? 1.0;
  return Math.max(1, Math.floor(attacker.atk * k - defender.def));
}