Absy Labs ABSY LABSKingshot Theorycraft Launch the simulator

Expedition combat · rally vs garrison

Stop guessing
which rally wins.
Simulate it.

Absy Labs takes a defender garrison and your hero roster, then ranks the attacks that lose the fewest troops for the most kills — math reverse-engineered from the engine, with every number graded for how sure we actually are.

Confirmed Probable Speculative — the same grading the engine deserves.
Thrud, a Kingshot cavalry hero
net score +9,140
win rate 92%
// what it does

Best Counter

Enter a garrison, get the top compositions from your own roster — leader trio, joiners and troop ratios — ranked by net casualty score with a Monte-Carlo win rate.

See how it searches →

Quick Fight

One matchup, round by round. Watch each squad bleed out, see which skills fired, and read the final casualty split for the battle type you picked.

Read the formula →

Sensitivity

Sweep a single lever — a hero star, a widget level, a bonus percent — and chart exactly how much the outcome moves. Find what's worth upgrading first.

Bonus stacking →

Benchmark

Not sure what to upgrade? Rank your whole roster against a tier-matched dummy and get a shard-budget roadmap — develop, hold or skip, in power-per-shard order.

The roadmap advisor →
// see a fight resolve

Every matchup is just
two armies and the math.

Quick Fight pits your rally against a garrison and runs the real engine round by round — the same per-troop attack, type counters and skill multipliers, no fudge factors. You get the casualty split and a win rate, not a vibe.

Hit swap to flip attacker and defender — the type triangle and bonuses re-resolve from the other side.

// theorycraft, explained

The damage formula,
without the hand-waving.

New here? Think of it as army size × per-troop power × who-counters-who × skills. That's the whole fight in one line. We start there — then show you every term, every source, and exactly where the proof ends.

Confirmed  The per-troop math and SkillMod are read straight from the open-source engine and checked against the 189-death worked example on every change.
damage = army_factor
  × att_per_troop / def_per_troop
  × type_bonus     // +10% if you counter
  × SkillMod       // the hidden multiplier
  × fatigue_factor
  / 100

round 0 · Inf vs Inf
damage = 56,335 × 680 / 2557.9 × 1.26
       = 188.7  →  deaths = 189
// reads from the live hero catalog
Thrud
Thrud
Cavalry
Triton
Triton
Infantry
Marlin
Marlin
Archer
Gordon
Gordon
Infantry
Hilde
Hilde
Cavalry
Sophia
Sophia
Archer
Charles
Charles
Infantry
Zoe
Zoe
Cavalry

Free, and staying that way.

If the sim saved you a bad rally, buy me a coffee — or come argue about op codes in Discord.