Product 05 — a tool for one team, not a product
TNT
The Warhammer app. It is your turn, the timer is running, and the whole decision comes down to one attack: if this unit shoots that one, does it actually die? TNT answers that on the phone in your hand. It was built for one competitive Warhammer 40,000 team.
Why it exists
Nobody can do that sum in their head with a clock running.
One attack is a stack of rolls hanging off each other: hit, then wound, then the save, then the invulnerable save, then feel-no-pain, then damage — every step bent by abilities, cover, range and whatever was spent that turn. So players use a rule of thumb, and a rule of thumb holds up until the moment it matters: the close call, where the two options are near enough that the guess is making the decision for you.
TNT simulates the attack instead of averaging it. Pick the attacker, the weapon and the target, toggle what is actually in effect, and the phone gives you the spread rather than one number: the probability the target dies, mean damage, confidence intervals, and a damage bar against its real wounds. The same engine takes a whole list against a whole list as a pairwise matrix, when the question is about the army rather than one unit.
The engine is pure, side-effect free, and runs on the phone in the player’s hand. Nothing about a dice roll needs a server.
Unofficial, fan-made, and not endorsed by anyone
TNT is an unofficial tool made by and for the members of one tabletop gaming team. It is not affiliated with, endorsed, sponsored or approved by Games Workshop. Warhammer, Warhammer 40,000 and the names of the factions, units and rules the app refers to are the trademarks and copyright of their respective owners; nothing here claims any right in them. No game rules or profiles are published on this site.
Under the hood
Where a simulation like this quietly goes wrong.
Most of the work has not been the maths. It has been the handful of places where the app would happily report a confident, wrong number, and what it does about each one.
- Firing modes are never summed. A weapon with two profiles is still one weapon: a model fires one mode. Adding both overstated output until the grouping rule was written, and the unused profile is now greyed out rather than silently dropped.
- An upper bound says so on its face. The army-wide figure for an ability that can only be aimed at one unit per turn is an upper envelope, not a forecast. The app says so where the number appears, with the truer per-target reading next to it.
- A stale number cannot pass as a fresh one. Cached results carry a fingerprint of both lists and of the whole game-data catalogue. Edit a weapon anywhere and every cached analysis is flagged stale, in red, instead of carrying on showing pre-correction figures.
- Reference targets are marked synthetic. The ladder used to test an army against light infantry through to heavy armour is a set of named reference statlines, kept visibly apart from real saved lists so nobody mistakes one for the other.
Honest state
In use at the table. Several parts do not exist.
It gets used in real games and it is not finished. Nothing here is for sale and there is nothing to sign up for.
-
The analyser, single unit and list against list
Monte Carlo engine in the browser: probability of a kill, mean damage, confidence intervals, ability and modifier toggles, and the full pairwise matrix for two lists.
In use -
Lists, imports, the game-data reference and the collection tracker
Lists with faction, detachment, units, attachments and enhancements, imported from the two list-building formats the team already uses; validation warns rather than blocks, by decision, because the players know the rules better than the importer does. Behind them sits a private reference of units, weapons, detachments, stratagems and enhancements, curated by the team from community-maintained sources with every change logged, plus a per-faction record of which models a player actually owns.
In use -
Custom stat entry, buff chips in the analyser, and the game log
The engine supports them and the schema exists for the log; none of it is wired to a screen. Where the app links to one of these, it links to something not yet built.
Not built -
List comparison, matchup simulation, strict validation
Specified in the plan for later phases. Nothing is built.
Proposed -
Any public or commercial version
There is none, and none is planned on this page. It was built for a team of players who know each other.
Not a product
Limits, stated
What it does not try to be.
- Not a rules authority. It does not settle arguments about the rules and is no substitute for the published game. Where the app and the rulebook disagree, the rulebook is right.
- Not a replacement for the list builders. It imports from them; it does not compete with them.
- Not a tournament system. No pairings, no scoring, no event management.
- Not a publisher of game data. The reference is private to the team, assembled from community-maintained sources, and not redistributed by this site or by Vivenso Labs.
Built by Vivenso Labs