Why a visible 3D roll beats a number on a screen (for trust at the table)
A random number generator and a thrown die produce the same kind of outcome, statistically. What they don't produce is the same amount of trust — and at a table where someone's character might live or die on the roll, that difference is the whole point of rolling dice in the first place.
· 4 min read · TerrainTale

The trust problem with an invisible roll
"Click here for a random number" and "roll a die" feel completely different, even when the math behind them is identical. A number that simply appears asks you to take its fairness on faith — there's nothing to watch, nothing to verify, nothing that resembles the physical act everyone at the table grew up trusting. A die that visibly tumbles, bounces off a rim, and settles gives you something to actually watch happen.
How TerrainTale's roller earns that
Each die in the tray is a real polyhedron thrown with random speed and spin, and a rigid-body physics engine decides where it lands — nothing about the outcome exists before the simulation runs. The value is read only after the die is still, off whichever face's normal points straight up. That ordering is what makes it a roll rather than a reveal: physics first, number second, not the other way around.
A cocked die gets nudged, not overridden
If a die ends up leaning on the rim or resting on another die — genuinely ambiguous, the way a die balanced on an edge is at a real table — it's automatically flicked and lands again, rather than the software picking whichever face happens to be closest to up. That's the same fix a person makes by hand when a die lands crooked; it just happens instantly here.
Where this matters most
It matters least for a routine perception check nobody's watching closely, and most for the rolls a table actually stops to look at: a death save, a called shot against the final boss, the one saving throw that decides whether the whole party survives an area spell. Those are exactly the rolls where "trust me, it's random" isn't good enough — and where watching a real die land is worth the extra second it takes.
The honest limit of any digital die
No physics simulation is provably unpredictable the way a person's exact throw of a physical die is — a browser roll is still, underneath, seeded by a random-number source. What a visible, physics-driven roll buys you isn't cryptographic proof; it's the same kind of confidence a table has always run on when someone rolls where everyone can see it, instead of behind a screen or a closed app.
What this looks like in practice
TerrainTale's dice roller at /dice-roller runs entirely in your browser and needs no account to use, so there's no server quietly deciding a result behind an API call before the animation even starts — the roll happens client-side, in view, the same tab you're already looking at. That's a small detail, but it's the difference between a tool you have to take on faith and one you can actually watch work.
It also fails honestly: if a browser can't start WebGL, the page says so plainly and switches to a plain random number instead of pretending to show 3D dice it can't render. You always know whether you're looking at a physics-based roll or a fallback number, rather than a tool quietly cutting a corner without telling you.