Uniform vs. triangular vs. Gaussian: how different are they really?

It’s well-known that as you sum more and more standard dice together, the shape approaches a Gaussian distribution. But how much difference does the number of dice actually make?

Single d20 vs. Gaussian

First, we’ll compare a single d20 to a Gaussian. Since a Gaussian is a continuous distribution, we’ll discretize it by rounding all values to the nearest integer, which for a d20 is still plenty fine granularity.

Matching mean and standard deviation

The mean of a d20 is \mu_\text{d20} = 10.5 and its standard deviation is \sigma_\text{d20} = \sqrt{399/12} \approx 5.766.

3d6 and 2d10 are often given as examples of how “the bell curve clusters results more towards the center compared to 1d20”. However, 1d20 has nearly twice the standard deviation of 3d6 (\sigma_\text{3d6} = \sqrt{105/12} \approx 2.958), and still nearly half again as much as 2d10 (\sigma_\text{2d10} = \sqrt{198/12} \approx 4.062). So in these cases, the clustering is mostly because of the smaller standard deviation rather than the inherent shape of the Gaussian.

Presumably these comparisons are made on the basis that they have the same range… except that they don’t have the same range (3d6 only runs from 3-18 and 2d10 from 2-20, rather than 1-20). Furthermore, a Gaussian has infinite range, which cannot be matched by any sum of a finite number of standard dice with any finite scaling. So matching the range of a Gaussian is not even a well-formed comparison. The most that could be said is that using multiple dice allows you to maintain the same range of what is possible to happen (even if the chances towards the ends may become arbitrarily small) while weighting results towards the middle.

Matching the standard deviation allows a well-formed comparison to a Gaussian. Here’s the PMF:

And the CCDF (chance to hit):

  • The peak of the Gaussian’s PMF has a height of about 6.9%, which is just under 1.4 times the chance of rolling any particular number of a d20.
  • The maximum absolute difference in chance to hit1 happens at a 16 (or symmetrically, 6) needed to hit. The d20 has a 25% chance to hit, while the Gaussian has a 19.29% chance to hit, a difference of 5.71% absolute chance.
  • The maximum relative difference in chance to hit in favor of the uniform distribution happens a point further out, where the uniform distribution delivers 1.34 times the hits of the Gaussian. (The ratio in the opposite direction is of course infinite once we go past the end of the d20.)
  • In terms of the chance to hit (or miss), the Gaussian’s tail becomes thicker than the uniform distribution only at a 20 (or 2) needed to hit or beyond. At this point, the Gaussian’s chance to hit is 5.93%, which is not a part of the curve you probably want to be using regularly. The chance of rolling above 20 is 4.14%.

So with the same standard deviation, there is a sense in which the Gaussian does cluster more towards the center, but by barely more than a single face on a d20 at most.

This is an example of how the difference in the PMF can look much more dramatic than the difference in chances to hit. This is because the chances to hit are derived from integrating the PMF, which can smooth out sharp areas.

Matching the 50th percentile

What if we matched the height of the PMF at the 50th percentile instead?2 This happens at around \mu = 8. This gives us the following PMF:

And the corresponding CCDF (chance to hit):

Now the CCDF curve lines up at the 50th percentile. Meanwhile, at the tail, the chance for the Gaussian to roll greater than a 20 is 10.56%, more than twice what it was when we matched the standard deviations.

The main effect in this case is to lengthen the tails beyond what is achievable by the d20, as we saw in our previous series about effective hit points in the tail. I consider this to be the most important aspect of a Gaussian compared to a uniform distribution—not clustering.

In fact, if we choose \sigma in order to minimize the largest absolute difference in chance to hit, we get an intermediate value for the standard deviation \sigma \approx 6 producing a maximum absolute difference in chance to hit of 4.8%. That’s less than a single full face on a d20. This standard deviation is approximately equal to 3d12 (AnyDice).

Margin of success

What the standard deviation does do pretty well is matching linear margins of success. Here the matched 50th percentile PMF has significantly higher mean margins of success for the Gaussian (counting misses as 0):

While the matched standard deviation is a close fit:

Also, the mean and standard deviation are always good ways of comparing two Gaussians, since a Gaussian is completely defined by these two parameters.

Opposed d20 vs. Gaussian

The sum or difference of two of the same standard die produces a triangular distribution. To make things truly symmetric, we’ll break ties by coin flip. Including the coin flip, the standard deviation is \sigma_\text{2d20} = \sqrt{801/12} \approx 8.17. Again, we’ll compare this to a Gaussian with the same standard deviation. First, the PMF:

And the CCDF (chance for underdog to win):

  • The peak of the Gaussian is 4.9%, virtually indistinguishable from the triangular. So this time there’s not much distinction between matching the standard deviation and matching the height of the PMF at the 50th percentile.
  • The maximum absolute difference in chance to win happens at a modifier disparity of 8. The triangular has a 18% chance of the underdog winning, while the Gaussian has a 16.37% chance of the underdog winning, a difference of 1.63%. That’s less than a third of a single face on a single d20.
  • The maximum relative difference in chance for the underdog in favor of the triangular distribution happens at a difference in modifiers of 11, where the triangular distribution delivers 1.14 times the wins for the underdog compared to the Gaussian.
  • The triangular’s chance for the underdog falls under the Gaussian’s starting at a difference in modifiers of 15. Here the chance for the underdog to win is just under 1 in 30. In Dungeons & Dragons 5th Edition, it takes a tarrasque versus a frog in a Strength check to produce this level of disparity.
  • Just 0.72% of rolls of the Gaussian are beyond each end of the triangular’s range. So while the Gaussian technically has an infinitely long tail, the chances of actually exceeding the end of the triangular’s tail is quite small.

Even the mean margin of success plot is very close:

So two of the same die is already most of the way to a Gaussian.

Mixed die sizes

Note that this mostly applies when the dice the same size or at least close to it. With heavily lopsided die sizes (e.g. d20 + d6), don’t expect anything more than rounding off the extreme ends, which most systems try to use less often anyways. Unless you prefer the aesthetic of the extra die, you might just use a flat modifier instead for simplicity.

Here are some example CCDFs:

Success-counting

The d20 is a fairly large die; how well do very small dice follow the Gaussian? Let’s look at counting 4+s on a d6 dice pool, which is equivalent to counting heads on coin flips. Since we are now comparing several different pool sizes, we’ll normalize according to the standard deviation and compare it to a continuous Gaussian. Here are the PMFs:

And the CCDFs:

(You may want to try right-click → Loop.)

The maximum absolute difference in chance to hit versus a discretized Gaussian with the same standard deviation drops below 1% at a pool size of just 4 coins. So the main differences are the coarse granularity and the range of possible results, not the overall shape of the CCDF.

Conclusion

  • Standard deviation isn’t always a great statistic for binary hit/miss. Alternatives include median absolute deviation, the height of the PMF at some reference percentile, and the maximum absolute difference in chance to hit1, depending on what exactly you’re trying to achieve.
  • Standard deviation does work perfectly for Gaussians and pretty well for linear margins of success.
  • With binary hit/miss, it’s possible to tune the standard deviation of a Gaussian so that the absolute difference in chance to hit compared to a d20 never reaches a full single face (5%).
  • The sum or difference of just two of the same standard die (a triangular distribution) is already most of the way to a Gaussian. More dice mostly extends the tails with extra possible but increasingly improbable rolls.
  • Even counting successes on coin flips converges to a Gaussian quickly. The major differences are the coarse granularity and the range of possible results, not the overall shape of the CCDF.

Overall, I’d say the main difference between a uniform, triangular, and Gaussian is whether the tails have a hard cutoff (uniform) versus a smooth (but still fairly steep) dropoff, and how far the range of improbable but technically possible rolls extends. Other than this, the probabilities are close enough that they should only be a secondary concern. Two standard dice should be plenty for all but the most discerning.


1 This is equivalent to the Kolmogorov-Smirnov statistic, though this seems to be an atypical application of the concept.

2 As usual, you don’t have to pick 50% exactly; if e.g. your system is expected to operate around a 60% typical chance to hit you could use that instead. Note though that this may also require using a different mean for the two distributions in order to get their CCDFs to match up horizontally at that percentile.

Leave a comment