Army A
Loaded—
Static · local-only · editable armies
Generalized army math workbench
The public demo starts with editable starter forces. The army editor stores the roster; the matchup panel stores the current battle state, including participating attackers, remaining defenders, cover, range, and temporary conditions.
Armies
Use the starter forces as editable examples or select local JSON/CSV army files for import. The file picker is used to load roster data into your browser session; the files are not transmitted to a site backend.
—
—
Use groups for commanders, sergeants, Nobz, special weapons, heavy weapons, or any subset of a squad with different stats or equipment.
—
Battle State
The roster is stable. These fields describe what is happening right now: how many attackers are participating, how many defenders remain, and what temporary conditions apply.
—
—
No battle-state preset applied yet.
Battle state is temporary. It changes this calculation without overwriting the saved army roster.
Calculation
Current result Press Run Math after changing the configuration.● attacker/output · ★ leader/commander · ◆ special weapon/group · ▲ heavy weapon · ■ defender/protection · ! warning/custom · ○ inactive/not participating
Army A / attacker · Army B / defender · selected weapon · saves/survival
Results
Run a matchup to generate statistics.
Exact damage distribution shows the probability of causing exactly N unsaved wounds or hull points in one attack step. Cumulative odds shows the chance of causing at least N damage. Turn forecast repeats this same attack over several rounds to show survival, kill-by-turn, and expected remaining target strength.
The long-run average if this same attack were repeated many times. It is useful for comparing options, but it is not a promise that the next roll will be close.
Use it to compare average damage between weapons or targets.The median is the middle outcome. P10 and P90 form a planning band: roughly low-side and high-side outcomes for this attack or forecast.
Use these when you care about realistic ranges, not just averages.Standard deviation describes how spread out the outcomes are. A high-spread attack may have the same average as a reliable one but fail more often.
Use this to identify swingy plans before committing resources.The probability that the current attack removes the target based on its current wounds, models, or hull points after saves and post-save rolls.
Use this when the target must be gone now.The chance that the attack causes no unsaved damage at all. This is the “nothing happens” risk.
Use this to avoid plans that can completely bounce.Damage beyond what was needed to remove the target. High overkill can mean the weapon is powerful but inefficient into this target.
Use this to avoid wasting high-value attacks.Calculated directly from dice probabilities when the situation is simple enough. This is preferred when supported because it gives the full outcome distribution.
The bar chart shows exact one-round damage outcomes.A local random simulation that repeats the same attack many times. It is useful as a sanity check and for future complex mixed-state cases.
Simulation results should be close to exact results when both apply.X-axis: exact unsaved wounds or hull points caused. Y-axis: probability of that exact result. Bars at or beyond the target pool count as kill outcomes.
This answers “what is the chance I do at least this much damage?” It is usually the clearest chart for kill thresholds and planning.
—
Turn Forecast
This repeats the current attack over the selected number of rounds. It is a planning view, not a full game-state simulator.
The rising line is cumulative kill probability. The falling line is the chance the target is still alive after each repeated attack round.
The center line is expected remaining wounds/models/HP. The band shows P10 to P90 outcomes; a wide band means the plan is swingy.
| Round | Kill by turn | Still alive | New kill chance | Expected damage | Expected remaining | P10 | Median | P90 | Threat left |
|---|---|---|---|---|---|---|---|---|---|
| Run a matchup to populate the forecast. | |||||||||
Export
Exports are generated in the browser. Army imports are local file reads, not server uploads.
About
uHammer is a static browser workbench. It does not include accounts, server uploads, a database, official art, official logos, copied datasheets, No official rules text, or a locked official roster database. The starter Space Marines and Orks armies are editable examples for demonstrating realistic army math workflows.
The current statistics engine supports exact binomial-style single-round damage distributions, cumulative probability curves, repeated-round survival projections, and a local Monte Carlo check. Unsupported tags are preserved and shown as assumptions rather than silently applied.