How we designed
our dice.
A six has five ways to happen.
That doesn’t mean it will turn up when you need it.
You build beside a six. You wait. Someone else’s four produces again. And again. By the time your number arrives, the game has moved on.
A lecture about probability doesn’t give you those turns back. We wanted to answer two questions: did the dice work correctly, and did the way they work make for a good game?
We compared six approaches across six million simulated rolls. Balanced is now the default for new ranked and custom games. This is the trade-off behind that choice.
The triangle is a map.
It isn’t a schedule.
Two independent dice have 36 equally likely ordered outcomes. A one followed by a five differs from a five followed by a one, even though both total six. There is one way to make two, five ways to make six and six ways to make seven.
Where the triangle comes from
Choose a total. Each of the 36 ordered pairs is equally likely with independent dice.
With independent dice, six has a 5-in-36 chance on the next roll whether it has just appeared three times or has been absent for twenty turns. The dice don’t remember.
An average is not an appointment.
Across sixty independent rolls, we expect about 8.3 sixes. Eight is not a quota. In a specific twenty-roll stretch, the chance of no six is about 5%—before searching for unusual eights, repeated fours or any other striking pattern.
One game. Many games.
Teaching simulations of independent dice. Pale markers show the long-run reference; every chart uses the same scale.
First Sequence Data
| Sum | Observed | Long-run reference |
|---|---|---|
| 2 | 1 | 1.67 |
| 3 | 2 | 3.33 |
| 4 | 5 | 5.00 |
| 5 | 8 | 6.67 |
| 6 | 17 | 8.33 |
| 7 | 7 | 10.00 |
| 8 | 12 | 8.33 |
| 9 | 2 | 6.67 |
| 10 | 3 | 5.00 |
| 11 | 2 | 3.33 |
| 12 | 1 | 1.67 |
All Twelve Trials
| Trial | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 2 | 5 | 8 | 17 | 7 | 12 | 2 | 3 | 2 | 1 |
| 2 | 0 | 4 | 5 | 7 | 9 | 5 | 9 | 10 | 8 | 2 | 1 |
| 3 | 1 | 2 | 8 | 3 | 6 | 15 | 14 | 3 | 3 | 3 | 2 |
| 4 | 3 | 3 | 5 | 7 | 7 | 11 | 9 | 5 | 6 | 3 | 1 |
| 5 | 0 | 5 | 9 | 6 | 6 | 12 | 5 | 5 | 6 | 4 | 2 |
| 6 | 2 | 6 | 5 | 4 | 8 | 8 | 13 | 6 | 5 | 1 | 2 |
| 7 | 0 | 2 | 8 | 6 | 6 | 12 | 7 | 6 | 6 | 5 | 2 |
| 8 | 2 | 2 | 3 | 12 | 6 | 15 | 6 | 6 | 4 | 2 | 2 |
| 9 | 3 | 6 | 5 | 7 | 9 | 4 | 11 | 6 | 6 | 2 | 1 |
| 10 | 0 | 3 | 7 | 5 | 6 | 12 | 8 | 11 | 4 | 2 | 2 |
| 11 | 0 | 4 | 8 | 7 | 4 | 10 | 9 | 11 | 5 | 2 | 0 |
| 12 | 1 | 2 | 4 | 7 | 11 | 9 | 8 | 8 | 2 | 5 | 3 |
An unusual screenshot is a reason to investigate. Alone, it cannot establish a broken generator. Across enough games, rare-looking charts are inevitable. We need to study both the generator across games and the experience within each game.
Four promises inside “fair”.
- Correct probabilities
- Common numbers occur at their intended long-run rates.
- Fewer extreme swings
- A short game is less likely to contain a punishing drought.
- The same rules for everyone
- Outcomes don’t depend on who benefits, who leads or who paid.
- An inspectable process
- The explanation, implementation and recorded outcomes agree.
These promises aren’t interchangeable. A perfect triangle can still allocate all the useful rolls before you build your city. A beautiful chart can describe a predictable sequence.
Put the dice in a deck.
Write each of the 36 dice pairs on a card. Shuffle and draw one per turn. Draw all 36 and the counts form the exact triangle. The order is random; the final counts are fixed.
There’s a catch. Once 1 + 1 appears, two cannot appear again before the reshuffle. At the end, a careful player knows the last card. Random does not necessarily mean independent.
See the reshuffle
Teaching simulation. Compare our 24-draw rule with drawing the whole deck.
| Sum | Possible ordered pairs | Next draw |
|---|---|---|
| 2 | 1 / 36 | 2.8% |
| 3 | 2 / 36 | 5.6% |
| 4 | 3 / 36 | 8.3% |
| 5 | 4 / 36 | 11.1% |
| 6 | 5 / 36 | 13.9% |
| 7 | 6 / 36 | 16.7% |
| 8 | 5 / 36 | 13.9% |
| 9 | 4 / 36 | 11.1% |
| 10 | 3 / 36 | 8.3% |
| 11 | 2 / 36 | 5.6% |
| 12 | 1 / 36 | 2.8% |
Draw History
There is an established tabletop precedent: the CATAN Traders & Barbarians event-card variant uses a production deck with an early reshuffle and additional events. We studied the number mechanism, not those extra effects. Official rules, pages 4–5.
Draw 24. Leave twelve unknown.
Balanced draws without replacement from 36 ordered outcomes. After the twenty-fourth draw, the remaining twelve are discarded and the next roll starts a fresh deck. There is no additional repeat suppression.
This gives the probabilities some memory without running down to a known final card. It guarantees neither a perfect triangle nor the end of droughts. Some totals can still become temporarily impossible; droughts can cross a reshuffle.
Twenty-four is a design choice, not a mathematical discovery of the one true fair setting. Fewer draws move closer to independent dice; more draws make counts steadier and outcomes easier to infer.
What six million rolls told us.
We generated 10,000 fresh sequences of 100 rolls for each of six methods. At sixty rolls we measured histogram error: total variation distance, half the sum of the absolute differences between observed and target proportions.
Smoother / more predictable
Checked-in research: 10,000 sequences per method. Balanced is our choice for this trade-off, not the winner of every column.
Vertical axis: best next-total guess rate (starts at 14%).
Dashed line: independent-dice baseline · 16.7%.
Balanced’s mean error was 0.1012, compared with 0.1565 for independent dice: about 35% lower in this experiment. That does not mean a game is 35% fairer. Its best next-total guess rate rose from 16.67% to 19.13%.
The full deck is exact at thirty-six rolls. Its sixty-roll error is not zero because that checkpoint includes part of the next deck. These are fixed-length dice simulations, not completed games. Real games end in response to events on the board.
The prettiest chart isn’t the whole answer.
A continuously correcting “dueness” lottery produced the smoothest chart we tested: mean error 0.0352. But its best next-total guess rate reached 29.92%. The tested setting also produced two about 2.97% of the time, against the 2.78% target.
We tested one configuration, not the entire family of methods. That result is a reason to investigate the correction, not a universal verdict. The dueness approach explains the mechanism.
Same numbers.
Different opportunities.
Same chart. Different game.
Illustrative fictional scenario: a settlement on nine becomes a city after roll ten. No robber or bank shortage. This is not a competitive-game simulation.
Forward 9 grain
Reversed 6 grain
Identical totals, different income: 9 versus 6 grain.
Timeline Data
| Roll | Forward sum / grain | Reversed sum / grain |
|---|---|---|
| 1 | 6 / 0 | 10 / 0 |
| 2 | 4 / 0 | 7 / 0 |
| 3 | 9 / 1 | 9 / 1 |
| 4 | 8 / 0 | 12 / 0 |
| 5 | 5 / 0 | 8 / 0 |
| 6 | 10 / 0 | 9 / 1 |
| 7 | 3 / 0 | 5 / 0 |
| 8 | 7 / 0 | 9 / 1 |
| 9 | 2 / 0 | 6 / 0 |
| 10 | 11 / 0 | 9 / 1 |
| 11 | 9 / 2 | 11 / 0 |
| 12 | 6 / 0 | 2 / 0 |
| 13 | 9 / 2 | 7 / 0 |
| 14 | 5 / 0 | 3 / 0 |
| 15 | 9 / 2 | 10 / 0 |
| 16 | 8 / 0 | 5 / 0 |
| 17 | 12 / 0 | 8 / 0 |
| 18 | 9 / 2 | 9 / 2 |
| 19 | 7 / 0 | 4 / 0 |
| 20 | 10 / 0 | 6 / 0 |
A final chart forgets when you built, when the robber arrived and when the bank ran short. Smoothing a histogram cannot promise equal opportunity or equal resource income.
See what happened.
The live dice chart counts accepted server rolls. Gold bars show actual totals; pale markers show the long-run reference at that many rolls. The count table also shows conditional next-roll probabilities, including a fresh distribution after draw twenty-four.
The reference triangle is not a forecast of your next roll. Reconnecting reloads the saved totals rather than counting events again. Existing saved games keep their original independent-dice rule; new games use Balanced.
Transparency needs evidence.
The server chooses each accepted draw from the remaining outcomes using fresh server entropy. Players cannot supply that randomness. The remaining ordered pairs stay private; public cycle counts are enough to calculate next-total odds. Accepted actions retain the information needed to reconstruct a replay.
A replay establishes consistency with the saved record. It is not a cryptographic proof that a server never chose a favourable random value. We have not implemented a public commitment protocol or claimed an independent production audit.
The research simulator and the small examples on this page are separate from the production generator. We still need completed-game studies, more seeds, rolling-window analysis and checks of sevens across seats. We are not claiming novelty or an optimal setting.
Some memory.
Room for surprise.
We chose Balanced as the default: 36 ordered outcomes, draw 24, discard twelve, reset. It reduces short-run histogram swings while accepting some predictability. It cannot guarantee the roll you need.
Check the work
Research snapshot v1 · 8 September 2026 · seed 20260908 · 10,000 trials per method.
Download the full results (JSON) ↗Download the reproduction script (Python) ↗Run python3 dice-balance-v1.py. The script prints JSON. The downloads preserve this version; later research will use a new version.
Corrections & Changes
· First implementation. Next-draw odds reset at the 24/36 boundary; comparison dots are centred on their measured coordinates. Balanced’s status reflects the new-game implementation.
Spotted a problem? Send a correction with the section and evidence. Changes will be recorded here.