We've all been there: you're at a pick-up roleplaying group at your local game shop, and that noisy munchkin to your right—who is playing some kind of half-dragon triple-multiclassed character from an out-of-print rulebook that he found a PDF of online—seems to roll more than his fair share of natural 20s. Okay, maybe we haven't all been there, but let me tell you: it's annoying when someone appears to be awfully lucky with their rolls.

The issue is slightly less pronounced with board games, where everyone tends to use the same pool of dice, but having dice regularly come up high or low can obviously affect how the game plays out.

Putting aside cases of intentional cheating, did you know that dice—particularly polyhedral dice like d20 or d8—are almost universally unbalanced? Some are more balanced than others, but as you would expect from mass-produced objects, small flaws in manufacturing and materials nearly always push each individual die either above or below the expected average roll.

The question is, if we accept that no die will be completely fair, how do we at least make sure that the dice we're rolling aren't so unbalanced as to be unfair?

The ol' golf ball test

The simplest though not most accurate method of testing the balance of your dice is to float them in a glass of salted water. Depending on the die, you may have to add a lot of salt to achieve flotation. Place the die in the water, note which side of the die faces upwards, and then give it a flick.

For reasonably balanced dice, you should see a good variety of numbers facing upwards. For badly balanced dice, you'll probably see the same one or two faces regularly. Throw those bad dice out.

Mark Fickett

Mark Fickett

Mark Fickett

Mark Fickett

Mark Fickett

The, er, automatic roller and computer vision method

And then, of course, if you're the rare breed of roleplayer-cum-DIY-maker supernerd, you could create an automated rolling system that rolls your dice thousands of times, and then from those results work out the standard deviation for the perfect average roll.

That's what Mark Fickett did, and you should read his superb (and very long) write-up of what he found out. I will summarise his setup and results here.

The die rolling machine is essentially a servo attached to a small ice cream tub, hooked up to an Arduino. The servo fires, the die is rolled, and then the Arduino triggers a camera overhead that takes a photo. Some computer vision software locates the die in the photo and extracts the number on the face of the die. The number is recorded, and then the process begins again, rolling the die hundreds or thousands of times until an adequate sample size has been reached.

Fickett used his machine to analyse a bunch of d20 made by popular brands—Chessex, Wiz, Game Science, etc.—and reported on his findings.

For the most part, the results were a mixed bag. The Chessex dice were all reasonably fair in that the rolls averaged about 10.5 (the perfect average roll on a d20), but the results were highly variable between each die (i.e. each die favoured different numbers, but the averaged total was close to 10.5). Wiz dice were similar: mostly fair, but with variable results.

In both cases, the Wiz and Chessex dice tended towards symmetrical distributions: so, if 20 came up a lot, 1 was also quite common on that same die, keeping the average at around 10.5. This is most likely down to the construction of the die (two halves stuck together) and the arrangement of the numbers (opposite sides always add up to 21).

Game Science dice, which have very sharp edges, are promoted by the company as being especially fair. In testing, one die had a very fair standard deviation of 0.07, but another had a not-especially-fair deviation of 0.12 (in fact, that die turned in an average roll value of 10.67, making it one of the "luckiest" of the bunch).

Crystal Caste, which sells some rather unusually shaped dice (but no one in the UK seems to import them), had the worst fairness, with high deviations and low averages. (One die averaged just 10.18 and "1" was the most likely roll. If you get a lot of critical failures while roleplaying, maybe you've been using a Crystal Caste die?)

Here's a graph tallying up the fairness of all the dice tested. The red line shows how close the dice got to the ideal average (10.5); the blue bars show the deviation from perfectly fair roll frequency distribution (i.e. each face turns up roughly the same number of times).

Correlation between geometry and roll frequency

Fickett also attempted to correlate the geometry of the die (specifically the distance between opposite sides of the die) and the observed frequency of rolled numbers. In some cases there was a correlation, with a longer distance resulting in a higher frequency for those two sides; in other cases, there was no correlation at all. This is likely because there can be other factors at play that aren't so easily measurable, such as any imperfections of the material inside the die.

One weakness of Fickett's analysis is that he only rolled plastic dice, because the automated rolling system probably wouldn't be strong enough to withstand thousands of metal die rolls. He also admits that the dice might behave differently when rolled in a different context (in a larger/smaller bucket, across a table top, etc).

Similar dice-fairness analyses have been performed by other people, too. The Awesome Dice Blog compared Chessex and Game Science d20s and found that, while Game Science dice were indeed quite fair, they rolled significantly fewer 14s (a finding that is somewhat backed up by Fickett's numbers). 1000d4 performed a huge analysis (by hand!) that found Game Science dice to be the most consistent, and Crystal Caste dice came out rather better than in Fickett's tests.

Ultimately, while some brands seem to be fairer (i.e. closer to an average of 10.5) than others, there is still lots of intra-brand variability (i.e. two dice from the same maker can roll a very different set of numbers).

One solution, if you really want to make sure that your dice rolls are fair, would be to analyse the characteristics of the dice you actually own. A more realistic solution, though, would be to buy a big bag of same-brand dice and force everyone to use dice from the same pool. And if anyone wants to bring their own dice to the gaming table, throw them into a glass of salt water first.