PokéIQ
3D Lab

3D Lab // Mass Battle

Kanto starters war

Pick a battle below

Battle setup

How many Magikarp beat Arceus?

01 //Ready-made battles

Each with its own link

Bulbasaur, Charmander and Squirtle in their hundreds against a few dozen Venusaur, Charizard and Blastoise.

02 //Results

Precomputed with the same battles

How it works

The real games' maths

  • Damage is Smogon's damage calculator, the one Pokémon Showdown uses: STAB, the type chart, abilities, items, weather, terrain, Terastallization, stat stages, burns, critical hits and the 16 random damage rolls are exact.
  • Stats come from the Pokédex with the games' stat formula at each Pokémon's level (any from 1 to 100) with its nature, EVs and IVs; by default a neutral nature, 85 EVs and 31 IVs in every stat (the random battles' spread).
  • Sets: by default, Pokémon in Showdown's random battles bring up to four attacking moves of their random-battle set and its ability; the rest use the attacking moves they know by levelling up to their level (the strongest first, then new types) and their first regular ability. In Advanced you can give any species any moves it can legally learn, any of its abilities, a nature, an EV and IV spread and a Tera type.
  • No held items unless you choose them. Items change matchups a lot (Pikachu's Light Ball doubles its Attack), so armies hold nothing by default, and every answer here is item-free unless its battle says otherwise (the Light Ball one does). Pick an item per species, or turn on random-battle items in Advanced.
  • Turns: everyone acts once a round, choosing its move as the round starts: the one that does the most expected damage (accuracy × average damage) to the foes it would hit. Priority moves go first, then higher Speed (with its stages, paralysis, Choice Scarf and the weather abilities), ties at random.
  • Hits: accuracy and evasion (with their stages, No Guard, Compound Eyes, Wide Lens, Bright Powder, Thunder in the rain…), critical hits, recoil, drain, Life Orb and High Jump Kick's crash. Multi-hit moves play hit by hit, as in the games: each hit can be a critical hit, and Sturdy, Focus Sash and Disguise only hold a hit taken at full HP, so Icicle Spear and Population Bomb break through them. A spread move (Earthquake, Surf, Blizzard…) that hits more than one foe does 0.75× damage, as in double battles.
  • Side effects and status: Thunderbolt's paralysis, Scald's burns, Crunch's Defense drop, Close Combat's own drops, Iron Head's flinch, Hurricane's confusion and Outrage's lock-in, with Serene Grace, Sheer Force and Shield Dust. Paralysis, burns, poison, bad poison, sleep and freezing work as in the games, with the types, abilities and terrains that block them.
  • Abilities in battle: contact abilities (Static, Flame Body, Effect Spore, Rough Skin), Poison Touch, Toxic Chain and Poison Puppeteer; abilities that grow with the battle (Moxie, Beast Boost, Speed Boost, Stamina, Justified, Weak Armor, Defiant); absorbing abilities (Lightning Rod, Volt Absorb, Sap Sipper); Truant (Slaking loafs every other turn) and Slow Start (Regigigas at half Attack and Speed for five turns); abilities that change a Pokémon as it fights (Aegislash's Stance Change, Wishiwashi's Schooling, Minior's Shields Down, Eiscue's Ice Face, Mimikyu's Disguise, and Protean and Libero, once, as in Gen 9); Mold Breaker, which goes through Sturdy and the like; Intrepid Sword and Dauntless Shield as the battle starts; Protosynthesis and Quark Drive in the sun or on the Electric Terrain you pick; Shed Skin and Hydration.
  • Items in battle (when held): Choice items lock their move; Leftovers, Sitrus and Lum Berries, Focus Sash, Air Balloon, Rocky Helmet, King's Rock, Punching Glove and Weakness Policy do their jobs, and Knock Off takes an item away.
  • The field: sun, rain, sandstorm or snow and Electric, Grassy, Psychic or Misty Terrain, through the calculator and at the end of each round (sandstorm damage, Grassy Terrain healing, Psychic Terrain stopping priority moves), as do Leftovers, poison and burns. Castform takes the weather's type.

Checked against Showdown's simulator

The same sets were played 1,000 times each in this battle and in Pokémon Showdown's own simulator, in 34 small battles (one against one, two against one, one against two, three against one) at levels 50 and 100, with both choosing moves the same way and everyone in reach of everyone (the battlefield below is left out). In 65 of the 68 comparisons the two win rates are within the noise of that many battles. The matchups include one for each ability here that changes a Pokémon as it fights (Truant, Slow Start, Stance Change, Schooling, Shields Down, Ice Face, Disguise, Protean, Libero, Toxic Chain, Poison Puppeteer, Mold Breaker and Skill Link against Sturdy, Intrepid Sword, and Protosynthesis and Quark Drive in their weather and terrain). Two of the other three are a known gap: in a double battle, Lightning Rod pulls a partner's Electric moves into itself, and this battle has no moves between allies. The third is chance: played again with 4,000 fresh battles, it agrees.

  • Charizard vs Armarouge, level 100This battle 63.5% · Showdown 63.3%
  • 3 Poliwrath vs Bruxish, level 100This battle 80.6% · Showdown 80.1%
  • Delphox vs 2 Exeggutor, level 50This battle 73.5% · Showdown 72.6%
  • Slaking (Truant) vs Typhlosion, level 50This battle 37.4% · Showdown 37.8%
  • Greninja (Protean) vs Samurott, level 100This battle 43.6% · Showdown 42.7%
  • Cloyster (Skill Link) vs Skarmory (Sturdy), level 100This battle 50.7% · Showdown 50.3%

Our battlefield

  • Positions are this page's own addition. A round lasts 3 seconds of battle time. Pokémon run toward their target at 10 m/s per 100 base Speed (Pokémon Race's scale): the nearest foe they can hurt, the weakest or strongest one near them, or the other side's boss, as each side is told. A side holding the line waits for foes to come close (both waiting, they advance after a while).
  • A move that makes contact needs the two side by side (within 0.6 m); any other move reaches 6 m. Spread moves hit every foe within 3 m of the user, never its own side (in the games Earthquake and Surf also hit allies).
  • Bodies take room by height and the shape of their art and push each other apart (heavier ones harder); formations can be tight, normal or loose. A hit knocks its target back by its damage over the target's weight.
  • A battle still going after 3 minutes of battle time is a draw, and so is one where neither side can hurt the other at all.

Not in this version

Status moves (Swords Dance, Protect, Will-O-Wisp), switching, abilities that act on others as a Pokémon comes in (Intimidate, Trace, Neutralizing Gas, and Drizzle and the other weather and terrain setters: the field is the one you pick), anything between allies (Earthquake hitting partners, Lightning Rod drawing a partner's moves, Helping Hand), the damage trapping moves do over the next turns, Flash Fire's boost, Mega Evolution during the battle (Megas start Mega Evolved) and Dynamax, and moves that need what the battle doesn't track: charging or recharging moves, moves that make the user faint, one-hit KO moves, Fake Out, Focus Punch, Dream Eater, Super Fang, Counter and the like.

“How many?”

The answer is the smallest army that wins at least half its battles (or nine in ten, if you ask in Advanced). Every size is tried on the same seeded battles: doubling first, then a binary search with 40 battles per size (20 to 200 in Advanced), stopping a size early once its result is decided. The ± is half the range of army sizes that could go either way (winning a quarter to three quarters of their battles), measured on all the battles at the answer and at sizes either side of it. An army of several species, or a group, is shared evenly between them. Battles run in your browser, on every spare core, and well past the number the view can draw.

Above the view's limit (lower on phones), the battle is still fought by every unit, and the view draws an even share of each army, labelled on screen. Every battle is seeded: its share link replays the same battle, hit for hit, with the same sets, field and settings.

Data: the Pokédex (PokéAPI), Showdown's random-battle sets, learnsets and move data (@pkmn), Smogon's damage calculator (@smogon/calc), checked against Showdown's simulator (@pkmn/sim). Figures: Pokémon HOME renders made solid with depth maps (Depth Anything V2). Music: “Epic Endgame Cinematic” by cynicmusic (CC0). The colosseum's crowd: “Crowd Shouting/Speaking Ambience” by StarNinjas (CC0); the other sounds are made in the browser. Ground textures: Poly Haven (CC0).