The short version
- A lab is a tool first and an explanation second. You set it up, you get numbers, and the numbers are on the page rather than behind a verdict.
- Everything works on a phone, and everything works before the JavaScript arrives: the controls are plain forms and the server sends a finished answer.
- Every lab names what it assumed. If a number is an estimate rather than a measurement, it says so in a row you can read.
- Where a lab runs a model rather than the game, it says that at the top, not in a footnote.
-
Damage Lab
Attacker, target, upgrades, shields. Damage per hit, hits to kill, and every breakpoint where one upgrade takes a hit off.
Works now
-
Battle Lab
Two armies, the volley model and both of Lanchester's laws, with the attrition curves drawn. A model, not the engine.
A model, not an engine run
-
Flux Lab
Drag your army into a column, a line or an arc against a choke and watch the share of it that is actually firing.
Works now
-
Scouting Lab
Set when you last looked. See the budget line of everything they could have built since, growing while you wait.
Works now
-
Economy Lab
Workers, bases and expansion timing: when the expansion has paid for itself, and what the compounding is worth.
Works now
-
APM budget
A fixed number of clicks a minute, and more jobs than clicks. See what goes unattended.
Works now
-
Replay Room
Thirteen games from a 2009 college league, including the class's first homework, running in the real engine in your browser.
Works now
What the numbers rest on
Two files and one rule.
The unit and weapon data is one YAML file, taken from Liquipedia, and every lab reads it. A stat stated in two places is a stat that will disagree with itself, so there is only one place.
The damage rules are not from a wiki. They are read out of the engine this site runs on, from the function that actually resolves a hit, so the order of operations is the game's own: shields are hit before the damage type meets the unit's size, armour comes off what the shields did not absorb, and everything is computed in units of a two hundred and fifty sixth of a hit point. That is why the Damage Lab gives you halves and quarters instead of rounding them away.
The rule is that an assumption is printed. Mining rates, unit spacing, what a job costs in clicks: all of it is a guess until we have measured it, all of it is a field you can change, and every lab carries a list of them.
Coming next
Engine fights. Today the Battle Lab runs two fight models and says so at the top. Next it hands both armies to the real engine, fights them a dozen times and shows you how many units each side has left, next to what the models predicted. After that comes a full unit against unit table built from thousands of those fights.