Nexus Games
The Nexus Games fair-roll standard

Fair dice. Every roll.

A dice app is only worth using if you trust the dice. Here is exactly how the dice in our apps work, in plain words, and how you can check them yourself.

Secure random numbersEvery face, equal chanceRolled on your phoneNo weighting, ever

In short

  • Every die comes from your phone's cryptographically secure random number generator. That's the same kind of randomness your phone uses for passwords and encryption.
  • We turn that random number into a face with a method that gives every face exactly the same chance.
  • Dice are rolled on your phone. No server picks, checks or changes your results.
  • There's no weighting, no streak protection, no "luck" setting and no way for the app to help or hurt either player.
  • A result is never changed after it's rolled. A reroll is a brand-new roll, and the app shows it as a reroll.

How a die gets rolled

  1. Your phone makes a random number

    When you tap Roll, the app asks your phone's built-in secure random number generator for a fresh 32-bit number. On Android this is the system's secure generator; in our browser previews it's your browser's own crypto.getRandomValues. Nobody, including us, can predict it.

  2. We turn it into a face, fairly

    A shortcut like "divide by 6 and take the remainder" makes some faces a tiny bit more likely. So we throw away the handful of numbers that would cause that and draw again. Then every face from 1 to 6 has exactly the same chance.

  3. You see it, and it stays

    The die lands on that face. The app counts hits and totals from what was rolled, and it never quietly changes a result. If you reroll a die, that's a new random roll.

What we never do

No server

Your dice are rolled on your phone, not on a computer somewhere else. There's no Nexus Games server that could see or change a roll.

No weighting

No face is ever more likely than another. There's no hidden "luck" setting, no streak breaker and no pity timer.

No picking sides

The app doesn't know who is winning, and it couldn't use that if it did. Both players get exactly the same dice.

No cheap randomness

We don't use the quick, predictable random functions many apps and games use. Every die comes from the secure generator.

The method, for the curious

Our app code isn't public, so we publish the method in full instead. This is the exact logic every one of our dice apps uses to roll a die:

// 1. Get 32 random bits from the phone's secure generator
x = secureRandom32()            // a whole number from 0 to 4,294,967,295

// 2. Throw away the few values that would make some faces more likely
limit = 4,294,967,296 - (4,294,967,296 mod sides)
if x >= limit: draw a new x and try again

// 3. Turn it into a face
face = (x mod sides) + 1         // 1 to 6 for a d6
4 in 4.29 billionHow many random values get thrown away and redrawn for a d6. A redraw happens about once in every billion dice.
1 in 6The chance of each face on a d6, exactly. The same idea works for d3, d8, d10, d12, d20 and d100.
0Servers involved in rolling your dice.

For developers: the apps use the expo-crypto getRandomValues function, which reads from Android's secure random source. Random values are fetched in small batches, and dice faces use rejection sampling to remove modulo bias. Automated tests in the Skirmish Dice apps check the redraw rule and roll large samples to confirm every face comes up evenly.

Check it yourself

You don't have to take our word for it. Real dice and fair digital dice both come out uneven over a few rolls and even out over many. Here's a simple test anyone can do:

  1. Roll a d6 pool until you've rolled 600 dice (for example, 30 rolls of 20 dice).
  2. Count how many 1s, 2s, 3s, 4s, 5s and 6s came up. Fair dice average 100 of each.
  3. Each face will usually land between about 82 and 118. Don't worry if one face lands a bit outside that; with six faces, that happens roughly 1 time in 4 or 5 with perfectly fair dice.
  4. For a proper test: for each face, take (count − 100)² ÷ 100, and add up all six. A total under 11.07 is what fair dice give 95% of the time. That's the chi-square test statisticians use.

In the Skirmish Dice apps, the History view on the Dice tab keeps your recent rolls so you can look back at them. We're also adding a fair-roll stats screen that does this counting for you: a chart of every face you've rolled over time, the chi-square check in plain words and a one-tap test that rolls hundreds of thousands of dice on your phone. It's planned for launch in Wargame Dice Roller and for a future update of our other dice apps.

Fair across the whole lineup

AppSecure random numbersEvery face equalRolled on your phone, no serverCheck your rolls todayFair-roll stats screen
Skirmish Dice: Strange FrontYesYesYesRoll history on the Dice tab (your last 50 to 500 rolls)Planned for a future update
Skirmish Dice: WWIIYesYesYesRoll history on the Dice tab (your last 50 to 500 rolls)Planned for a future update
Cog & Clock: Battle Tracker Coming soonYesYesYesExact odds before you roll, on the Dice tabPlanned for a future update
Wargame Dice Roller Coming soonYesYesYesRoll log (at launch)Planned for launch: a Stats tab with a fairness check

Checked against each app's current build on October 23, 2026. All of our apps are coming soon to Google Play. If anything here changes, we'll update this page.

Questions

Why did I roll five 1s in a row?

It happens with real dice too. Five 1s from five dice is a 1 in 7,776 chance, and a busy game night can mean hundreds of dice, so runs like that turn up now and then. Streaks are a normal part of true randomness; dice that never had streaks would be the suspicious ones.

Can the app tell when I'm losing?

No. The dice don't know the score, who rolled last or what's at stake. Every roll is a fresh random number with exactly the same odds.

Does anything get sent to a server?

No. Your dice are rolled on your phone and your rolls stay there. Cog & Clock's optional two-phone sync talks only to the other phone on your own Wi-Fi; there's no Nexus Games server for it to talk to. See our privacy policies.

Is your code open source?

No, our app code isn't public. That's why we publish the exact method on this page, and why you can test your own results any time. If you have a technical question about how our dice work, email nexusgamesapps@gmail.com and we'll answer it.

Do the browser previews roll the same way?

Yes. The "try it in your browser" previews run the same app code. There, the random numbers come from your browser's built-in secure generator (crypto.getRandomValues) instead of Android's.

What about rerolls?

A reroll is a brand-new random roll for that die, with the same fair odds. The app shows it as a reroll; it never swaps a result behind your back.

Pick your app

Same fair dice in every one of them. One small price, no ads and no account.

See all apps