Based on an opinion voiced in an Exalted forum, I picked up the hardback of Reign, a game self-published by Greg Stolze. Stolze is the co-author of the incredibly good Unknown Armies and wrote the best “how to run a game” chapter that I’ve ever read (published in the otherwise unremarkable Gamma World Game Master’s Guide), so I was excited to see how he tackled the epic fantasy genre. Mechanically, he does so with something called the One Roll Engine. (If you want to sign up to a site with a not-very-helpful user interface, you can download a version of the basic system for free.) This engine makes use of dice in a way I haven’t seen a game utilize before, and I figured I’d blog about the probability of the system because a) I didn’t immediately know how to calculate it, b) a post on how to do such probability calculations will hopefully be useful to fellow gamers and c) I wanted an excuse to play with the statistical and graphing features of Numbers.

Reign uses pools of ten-sided
dice (d10s), where results are determined by looking at how many dice
match *each other*. It is a bit like poker, where a roll might
generate, say, a three-of-a-kind, a pair, and some singles. Each of
these matches is called a “set”, and the number of dice in the set is
called the “width” of the set. So, for example, if you roll five dice
and get 4, 4, 4, 2, 8, you have one set of width three. For many rolls
in Reign, the actual number being matched, called the “height” of the
set (4 in the previous example), doesn’t particularly matter. For other
rolls, *only* the height matters. Still others rely on both the
height and the width. Usually only a single set in a roll matters, but
there are some mechanics that make use of the other sets as well. In
this way, the rules in Reign pull a lot of meaning out of a single roll
mechanic, and the probabilities employed are interesting but not
obvious. I’ve done some (very) minor probability documentation on some
other systems (an invented
five-suit card game and the “excellencies”
of Exalted, for example), but this is a bit more tricky.

### Simple calculations

The first basic observation to make is that if you have a pool with
more than 10 dice in it, you will *always* get at least one set.
If you have *n*+1 items that can only have *n* distinct
values, at least one of those values will come up more than once. Reign
is well aware of this, and has rules to match. Consequently, pools only
exceed 10 dice in very extraordinary circumstances; however, these
circumstances, though rare, do exist in the game, so this post will
consider results with up to 15 die pools.

Secondly, for any given roll, the odds of achieving *exactly*
a specific height are identical to achieving any other exact height.
That is, odds of rolling two tens using 5d10 are exactly the same as
rolling two nines. This means that, were you to build a chart where
rolling height *x* means one thing and height *y* means
something else, you have equal chances of getting either result. Thus,
if you want one result more than the others, you need to assign that
result to more than one height on the chart. Reign makes use of this
idea at least once in the rules (as a hit-location table). More often,
however, height is used in rules where the height must be *at
least* that number or higher. This makes reaching a certain height
harder as the number increases. A height of 10, for example, can only be
reached if the dice conspired to built a set containing 10s, but a
height of nine is reached by those same sets *plus* sets
containing nines, making it more likely. As a result, when this post
considers height, it will do so in the sense of reaching at least that height.

### Tools

Because Reign deals with sets, the key technique in calculating
probability is combinatorics. In
particular, the concept of a combination is
crucial. This looks scary, but you probably had to do some of this in
high school math class. The basic idea is that you have some number of
items in your hand, and you have to select a certain (smaller) number of
those items. The combination calculation measures how many different
ways you could make such as selection, where *order does not
matter*. For example, say you have four cubes in your hand, one red
(r), one blue
(b), one
green(g), one
violet (v).
You are instructed to select two cubes, where the order doesn’t matter.
You can do this, it turns out, six different ways: rb, rg, rv, bg, bv, gv. This would be
notated as C(4,2), read “four choose two”. Generically,
C(*n*,*k*), or “*n* choose *k*”. You may
also have vague memories of a permutation, which
is the same idea as combination except that order *does* matter.
For example, rb and br are considered the same
combination, but different permutations. A permutation of two items from
a set of four is notated as P(4,2). Calculating both combinations and
permutations makes use of the factorial operator.
This is a fairly simple idea to wrap your head around. A number like “4
factorial”, notated “4!” just means to multiply 4 × 3 × 2 × 1. So *n*! just means
*n* × *n* − 1 × *n* − 2 × … × 3 × 2 × 1.
Combinations and permutations are calculated as follows:

$$ C(n,k) = \binom{n}{k} = \frac{n!}{k!(n-k)!} $$ | $$ P(n,r) = \frac{n!}{(n-r)!} $$ |

Fortunately, before you run screaming from this, most spreadsheets
(and more advanced calculators) have functions for combinatorics. Excel,
for example, uses `combin(n,k)`

.
It also has `permut(n,r)`

,
`fact(n)`

and `power(x,y)`

,
which are also useful. (One note here: Numbers lacks a
`permut(n,r)`

method, which is extremely irritating.)

### Stepping-stone calculations

Calculating odds of rolls like this is somewhat similar to calculating odds
in poker: you figure out how many possible ways there are to get a
certain result, and you divide by the total number of all results. This
gives the percent chance of achieving that result. Calculating the total
possible results for a die roll is easy: start with a single die and
figure out how many results this die can yield. Unless you are using
very strange dice, this will equal the number of faces on the die. For
each die you add to the pool, multiply by the number of ways that die
can come up. So, if you roll a d20, a d12 and a d6, the total possible
outcomes are 20 × 12 × 6. Since Reign uses pools of *n* d10s, for
any given roll the total possible outcomes are
10^{n}.

Calculating the ways to get a given result is usually more difficult.
One very trivial thing to figure out: what are the odds of all of the
dice of a roll matching? In this case, all of the dice have to match,
and there are ten possible values this match can have. Thus, no matter
how many dice are rolled, there are only ten possible rolls that result
in all of them matching. This means the probability is always 10 ÷
10^{n} = 1 ÷ 10^{n−1} =
10^{1−n}.

Another basic building block is also easy to calculate: when rolling
*n* dice, what is the chance that you will get *no* set at
all? To figure this out, you need to know how many ways you can roll the
dice such that none match any of the others. So, try to actually
construct such a roll, rolling one die at a time. The first die could
come up as anything, so it would have 10 possible outcomes. The second
die could be anything but the value of the first, so would have nine
possible outcomes. The third could have eight possible values and so on.
This sequence is sort of like 10! (that is 10 × 9 × 8 × 7 × 6 × 5 × 4 ×
3 × 2 × 1) with the last few terms hacked off based on how many dice you
had. If you had six dice, for example, you’d need to hack off the 4 × 3
× 2 × 1 part. Note that this is 4! and that “hacking off” the terms
would be done by taking 10! ÷ 4!. Note that this is exactly the formula
of P(10,6), above. (This is not a coincidence, but rather exactly what
permutation is.) Knowing the chance of no match, you can take 1 minus
this number to figure out the chance of at least one match. The outcome
looks like this (note that this matches with page 57 of the main
*Reign* rulebook):

Dice | Rolls without match | Possible rolls | Chance of no match | Chance of at least one match |
---|---|---|---|---|

1 | P(10,1) = 10 | 10 | 100.000% | 0.00% |

2 | P(10,2) = 90 | 100 | 90.000% | 10.00% |

3 | P(10,3) = 720 | 1,000 | 72.000% | 28.00% |

4 | P(10,4) = 5,040 | 10,000 | 50.400% | 49.60% |

5 | P(10,5) = 30,240 | 100,000 | 30.240% | 69.76% |

6 | P(10,6) = 151,200 | 1,000,000 | 15.120% | 84.88% |

7 | P(10,7) = 604,800 | 10,000,000 | 6.048% | 93.95% |

8 | P(10,8) = 1,814,400 | 100,000,000 | 1.814% | 98.19% |

9 | P(10,9) = 3,628,800 | 1,000,000,000 | 0.363% | 99.64% |

10 | P(10,10) = 3,628,800 | 10,000,000,000 | 0.036% | 99.96% |

11 | 0 | 100,000,000,000 | 0.000% | 100.00% |

Getting more detailed results requires more complexity. It happens that one of the tools needed to proceed requires figuring out the odds of rolling exactly one set with a given width, and all the rest of the dice not matching at all. By itself, this number is more of an intermediate result, but a general formula for figuring it out will help calculating more important results. We’ll call this formula “exact” and we do it like this:

- Let
*n*be the pool size, i.e. the number of dice. - Let
*d*be the number of sides. In Reign,*d*is always 10. - Let
*w*be the desired width. - If you were to hand pick a set of the desired width from your pool,
you would need to select the height of the set you are going to build,
and a number of dice. The number of possible ways to do this is
*d*× C(*n*,*w*). - The dice that are
*not*part of the set have*d*^{n−w}possible values, but some of these would either make the current set larger, or could combine to make sets of their own. We want to make sure that all of the remaining dice not only don’t match the set set, they don’t match each other, either. Since we used*w*dice to make the set, that leaves*n*−*w*dice. Using ten-sided dice, the first of these dice would have nine possible ways of not matching the set. The next would only have eight possibilities, as it should match neither the set nor the previous die. The next die (if there is one), would have seven possibilities and so on. If you look at the pattern, you can see that this winds up being equal to P(*d*−1,*n*−*w*). - Taking these all together, that makes
*d*× C(*n*,*w*) × P(*d*−1,*n*−*w*) possible ways to roll*n**d*-sided dice such that they generate*exactly*one set of*exactly*width*w*. - In Reign, the formula is Exact(
*n*,*w*) = 10 × C(*n*,*w*) × P(9,*n*−*w*)

For reference, this formula gives the following values:

Width | Dice | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |

2 | 10 | 270 | 4,320 | 50,400 | 453,600 | 3,175,200 | 16,934,400 | 65,318,400 | 163,296,000 | 199,584,000 | ||||

3 | 10 | 360 | 7,200 | 100,800 | 1,058,400 | 8,467,200 | 50,803,200 | 217,728,000 | 598,752,000 | 798,336,000 | ||||

4 | 10 | 450 | 10,800 | 176,400 | 2,116,800 | 19,051,200 | 127,008,000 | 598,752,000 | 1,796,256,000 | 2,594,592,000 | ||||

5 | 10 | 540 | 15,120 | 282,240 | 3,810,240 | 38,102,400 | 279,417,600 | 1,437,004,800 | 4,670,265,600 | 7,264,857,600 | ||||

6 | 10 | 630 | 20,160 | 423,360 | 6,350,400 | 69,854,400 | 558,835,200 | 3,113,510,400 | 10,897,286,400 | 18,162,144,000 | ||||

7 | 10 | 720 | 25,920 | 604,800 | 9,979,200 | 119,750,400 | 1,037,836,800 | 6,227,020,800 | 23,351,328,000 | |||||

8 | 10 | 810 | 32,400 | 831,600 | 14,968,800 | 194,594,400 | 1,816,214,400 | 11,675,664,000 | ||||||

9 | 10 | 900 | 39,600 | 1,108,800 | 21,621,600 | 302,702,400 | 3,027,024,000 | |||||||

10 | 10 | 990 | 47,520 | 1,441,440 | 30,270,240 | 454,053,600 | ||||||||

11 | 10 | 1,080 | 56,160 | 1,834,560 | 41,277,600 | |||||||||

12 | 10 | 1,170 | 65,520 | 2,293,200 | ||||||||||

13 | 10 | 1,260 | 75,600 | |||||||||||

14 | 10 | 1,350 | ||||||||||||

15 | 10 |

### Calculating width odds

Armed with this information we can start answering real questions
about the probability of specific results. Unfortunately, there is no
one formula that provides a generic answer. Each roll of *n* dice
acts a bit like a poker hand of *n* single-suited cards or, more
closely, a roll in a game of poker dice
(which is essentially a simplified version of Yahtzee). You have
to look at the various possible results, and count them independently.
Unfortunately, you have to do this separately for each value of
*n*. We’ll show details of *n*=7, since it is large enough
for interesting things to occur. With seven dice, you have
10^{7} possible rolls, with the following possibilities:

*No match (0x)*. This we calculated above: P(10,7)*Single pair (2x)*. This we calculated above: Exact(7,2)*Two pair (2x,2x)*. There are C(10,2) ways to select the heights of the pairs. The first pair can be selected C(7,2) ways, the second C(5,2). The remaining three die can come up P(8,3) different ways without matching the two pair or creating new pair of their own (that is, 8 × 7 × 6). So, the total number of exactly two pair rolls with seven dice is C(10,2) × C(7,2) × C(5,2) × P(8,3). Note that this suggests a general formula for the number of exactly two pair results for any number of dice*n*: C(10,2) × C(*n*,2) × C(*n*−2,2) × P(8,*n*−4), with the realization that this is only possible for some values of*n*(i.e. if*n*is less than 4, you can’t actually build two pair, and P(8,*n*−4) becomes undefined as well).*Three pair (2x,2x,2x)*. Similar to two pair, using this general formula: C(10,3) × C(*n*,2) × C(*n*−2,2) × C(*n*−4,2) × P(7,*n*−6).*Single triple (3x)*. This we calculated above: Exact(7,3)*Triple and a pair (3x,2x)*. Ten ways to select the height of the triple, the dice for which can be chosen C(7,3) ways. That leaves nine possibilities for the height of the pair, the dice of which can be selected C(4,2) ways. For the remaining two dice, there are 8 possible values for the height for the first and seven for the second (otherwise they match either each other or one of the other sets). Note that this is P(8,2). The total is then 10 × C(7,3) × 9 × C(4,2) × P(8,2). Again, a general formula suggests itself: 10 × C(*n*,3) × 9 × C(*n*−3,2) × P(8,*n*−5)*Triple and two pair (3x,2x,2x)*. Ten ways to select the height of the triple, the dice for which can be chosen C(7,3) ways. There are C(9,2) ways to select the heights of the pairs. The first pair can be selected C(4,2) ways, the second C(2,2). The remaining three die can come up 7 different ways without matching the other sets (note that this is P(7,1)). 10 × C(7,3) × C(9,2) × C(4,2) × C(2,2). For more than seven dice, there would dice left over that could not match the value of any of the sets or each other, so permutations of the seven remaining possible values would be used: 10 × C(*n*,3) × C(9,2) × C(*n*−3,2) × C(*n*−5,2) × P(7,*n*−7).*Two triples*. Calculated much like two pair, with a general formula of C(10,2) × C(*n*,3) × C(*n*−3,3) × P(8,*n*−6).*Four of a kind (4x)*. This we calculated above: Exact(7,4)*Four of a kind and a pair (4x,2x)*. Similar to a triple and a pair: 10 × C(*n*,4) × 9 × C(*n*−4,2) × P(8,*n*−6)*Five of a kind (5x)*. This we calculated above: Exact(7,5)*Five of a kind and a pair (5x,2x)*. Similar to a triple and a pair: 10 × C(*n*,5) × 9 × C(*n*−5,2) × P(8,*n*−7)*Six of a kind (6x)*. This we calculated above: Exact(7,6)*Seven of a kind (7x)*. This we calculated above: Exact(7,7)

You can do similar analysis of all the other lengths, and you end up
with the table below. Each row in the table shows a possible set
combination that may be rolled, and the general formula to figure out
how many possible outcomes will generate that set combination.
Naturally, not all combinations are possible for a given number of dice.
Try as you might, you’ll never get a width three set from two dice. Each
cell in the table shows two different bits of information for given
result for a given number of dice. The first is the numeric result of
that number. The second, in **bold**, is the percentage
chance of that result when rolling that many dice. Because the table
gets obnoxious as the number of dice increases, this only shows results
for two to 10 dice, but you should be able to use techniques shown above
to extend it to more if you need to. (I also wrote some really horrid
Python code to double-check these numbers by counting the sets made by
every possible roll from 2 to 10 dice. It all matches.)

Result | General Formula | Dice Rolled | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||||||

0x | P(10,n) | 9090.0% |
72072.0% |
5,04050.4% |
30,24030.24% |
151,20015.120% |
604,8006.0480% |
1,814,4001.81440% |
3,628,8000.362880% |
3,628,8000.0362880% |
|||||

2x | 10 × C(n,2) × P(9,n−2) | 1010.0% |
27027.0% |
4,32043.2% |
50,40050.40% |
453,60045.360% |
3,175,20031.7520% |
16,934,40016.93440% |
65,318,4006.531840% |
163,296,0001.6329600% |
|||||

3x | 10 × C(n,3) × P(9,n−3) | 101.0% |
3603.6% |
7,2007.20% |
100,80010.080% |
1,058,40010.5840% |
8,467,2008.46720% |
50,803,2005.080320% |
217,728,0002.1772800% |
||||||

4x | 10 × C(n,4) × P(9,n−4) | 100.1% |
4500.45% |
10,8001.080% |
176,4001.7640% |
2,116,8002.11680% |
19,051,2001.905120% |
127,008,0001.2700800% |
|||||||

5x | 10 × C(n,5) × P(9,n−5) | 100.01% |
5400.054% |
15,1200.1512% |
282,2400.28224% |
3,810,2400.381024% |
38,102,4000.3810240% |
||||||||

6x | 10 × C(n,6) × P(9,n−6) | 100.001% |
6300.0063% |
20,1600.02016% |
423,3600.042336% |
6,350,4000.0635040% |
|||||||||

7x | 10 × C(n,7) × P(9,n−7) | 100.0001% |
7200.00072% |
25,9200.002592% |
604,8000.0060480% |
||||||||||

8x | 10 × C(n,8) × P(9,n−8) | 100.00001% |
8100.000081% |
32,4000.0003240% |
|||||||||||

9x | 10 × C(n,9) × P(9,n−9) | 100.000001% |
9000.0000090% |
||||||||||||

10x | 10 × C(n,10) × P(9,n−10) | 100.0000001% |
|||||||||||||

2x,2x | C(10,2) × C(n,2) × C(n−2,2) × P(8,n−4) |
2702.7% |
10,80010.80% |
226,80022.680% |
3,175,20031.7520% |
31,752,00031.75200% |
228,614,40022.861440% |
1,143,072,00011.4307200% |
|||||||

3x,2x | 10 × C(n,3) × 9 × C(n−3,2) × P(8,n−5) |
9000.90% |
43,2004.320% |
1,058,40010.5840% |
16,934,40016.93440% |
190,512,00019.051200% |
1,524,096,00015.2409600% |
||||||||

3x,3x | C(10,2) × C(n,3) × C(n−3,3) × P(8,n−6) |
9000.090% |
50,4000.5040% |
1,411,2001.41120% |
25,401,6002.540160% |
317,520,0003.1752000% |
|||||||||

4x,2x | 10 × C(n,4) × 9 × C(n−4,2) × P(8,n−6) |
1,3500.135% |
75,6000.7560% |
2,116,8002.11680% |
38,102,4003.810240% |
476,280,0004.7628000% |
|||||||||

4x,3x | 10 × C(n,4) × 9 × C(n−4,3) × P(8,n−7) |
3,1500.0315% |
201,6000.20160% |
6,350,4000.635040% |
127,008,0001.2700800% |
||||||||||

4x,4x | C(10,2) × C(n,4) × C(n−4,4) × P(8,n−8) |
3,1500.00315% |
226,8000.022680% |
7,938,0000.0793800% |
|||||||||||

5x,2x | 10 × C(n,5) × 9 × C(n−5,2) × P(8,n−7) |
1,8900.0189% |
120,9600.12096% |
3,810,2400.381024% |
76,204,8000.7620480% |
||||||||||

5x,3x | 10 × C(n,5) × 9 × C(n−5,3) × P(8,n−8) |
5,0400.00504% |
362,8800.036288% |
12,700,8000.1270080% |
|||||||||||

5x,4x | 10 × C(n,5) × 9 × C(n−5,4) × P(8,n−9) |
11,3400.001134% |
907,2000.0090720% |
||||||||||||

5x,5x | C(10,2) × C(n,5) × C(n−5,5) × P(8,n−10) |
11,3400.0001134% |
|||||||||||||

6x,2x | 10 × C(n,6) × 9 × C(n−6,2) × P(8,n−8) |
2,5200.00252% |
181,4400.018144% |
6,350,4000.0635040% |
|||||||||||

6x,3x | 10 × C(n,6) × 9 × C(n−6,3) × P(8,n−9) |
7,5600.000756% |
604,8000.0060480% |
||||||||||||

6x,4x | 10 × C(n,6) × 9 × C(n−6,4) × P(8,n−10) |
18,9000.0001890% |
|||||||||||||

7x,2x | 10 × C(n,7) × 9 × C(n−7,2) × P(8,n−9) |
3,2400.000324% |
259,2000.0025920% |
||||||||||||

7x,3x | 10 × C(n,7) × 9 × C(n−7,3) × P(8,n−10) |
10,8000.0001080% |
|||||||||||||

8x,2x | 10 × C(n,8) × 9 × C(n−8,2) × P(8,n−10) |
4,0500.0000405% |
|||||||||||||

2x,2x,2x | C(10,3) × C(n,2) × C(n−2,2) × C(n−4,2) × P(7,n−6) |
10,8001.080% |
529,2005.2920% |
12,700,80012.70080% |
190,512,00019.051200% |
1,905,120,00019.0512000% |
|||||||||

3x,2x,2x | C(10,2) × C(n,2) × C(n−2,2) × 8 × C(n−4,3) × P(7,n−7) |
75,6000.7560% |
4,233,6004.23360% |
114,307,20011.430720% |
1,905,120,00019.0512000% |
||||||||||

3x,3x,2x | C(10,2) × C(n,3) × C(n−3,3) × 8 × C(n−6,2) × P(7,n−8) |
201,6000.20160% |
12,700,8001.270080% |
381,024,0003.8102400% |
|||||||||||

3x,3x,3x | C(10,3) × C(n,3) × C(n−3,3) × C(n−6,6) × P(7,n−9) |
201,6000.020160% |
14,112,0000.1411200% |
||||||||||||

4x,2x,2x | C(10,2) × C(n,2) × C(n−2,2) × 8 × C(n−4,4) × P(7,n−8) |
151,2000.15120% |
9,525,6000.952560% |
285,768,0002.8576800% |
|||||||||||

4x,3x,2x | 10 × C(n,4) × 9 × C(n−4,3) × 8 × C(n−7,3) × P(7,n−9) |
907,2000.090720% |
63,504,0000.6350400% |
||||||||||||

4x,3x,3x | C(10,2) × C(n,3) × C(n−3,3) × 8 × C(n−6,4) × P(7,n−10) |
1,134,0000.0113400% |
|||||||||||||

4x,4x,2x | C(10,2) × C(n,4) × C(n−4,4) × 8 × C(n−8,2) × P(7,n−10) |
1,134,0000.0113400% |
|||||||||||||

5x,2x,2x | C(10,2) × C(n,2) × C(n−2,2) × 8 × C(n−4,5) × P(7,n−9) |
272,1600.027216% |
19,051,2000.1905120% |
||||||||||||

5x,3x,2x | 10 × C(n,5) × 9 × C(n−5,3) × 8 × C(n−8,3) × P(7,n−10) |
1,814,4000.0181440% |
|||||||||||||

6x,2x,2x | C(10,2) × C(n,2) × C(n−2,2) × 8 × C(n−4,6) × P(7,n−10) |
453,6000.0045360% |
|||||||||||||

2x,2x,2x,2x | C(10,4) × C(n,2) × C(n−2,2) × C(n−4,2) × C(n−6,2) × P(6,n−8) |
529,2000.52920% |
28,576,8002.857680% |
714,420,0007.1442000% |
|||||||||||

3x,2x,2x,2x | C(10,3) × C(n,2) × C(n−2,2)× C(n−4,2) × 7 × C(n−6,3) × P(6,n−9) |
6,350,4000.635040% |
381,024,0003.8102400% |
||||||||||||

3x,3x,2x,2x | C(10,2) × C(n,3) × C(n−3,3) × C(8,2) × C(n−6,2) × C(n−8,2)× P(6,n−10) |
31,752,0000.3175200% |
|||||||||||||

4x,2x,2x,2x | C(10,3) × C(n,2) × C(n−2,2) × C(n−4,2) × 7 × C(n−6,4) × P(6,n−10) |
15,876,0000.1587600% |
|||||||||||||

2x,2x,2x,2x,2x | C(10,5) × C(n,2) × C(n−2,2) × C(n−4,2) × C(n−6,2) × C(n−8,2)× P(4,n−10) |
28,576,8000.2857680% |

### Calculating height

As mentioned above, calculating odds for height is only interesting
when you need a roll of *at least* a given height. Such
calculation is surprisingly cumbersome, even if you mostly leave width
out of it. In order for width to “count”, you must have at least one
match, and this is what makes things hard to figure. It is honestly
easier just to write code to count all possible outcomes, but if you
want to figure it out do the following:

- Let
*n*be the pool size, i.e. the number of dice. - Let
*d*be the number of sides. In Reign,*d*is always 10. - Let
*h*be the minimum height needed. Naturally, 0<*h*≤*d*. - You now need to break the problem into sub-problems. So let
*m*take on values from 2 to*n*. For each value of*m*, figure out the following:- Figure out how many rolls of
*n*dice of*d*sides generate exactly*m*dice that have values of*h*or greater. This can be done with a function X(*n*,*d*,*m*,*h*) = C(*n*,*m*) × (*d*-(*h*-1))^{m}× (*h*-1)^{(n-m)}. Note that when*h*=1 and*m*=*n*, the final term in that function is 0^{0}, which is technically undefined, so is omitted in that case. - Figure out how many possible ways the
*n*dice of*d*sides can come up. We did this above:*d*^{n}. - Find the probability of
X(
*n*,*d*,*m*,*h*). This is just the value of the function, divided by the total number of possible rolls. So ProbX_{m}= X(*n*,*d*,*m*,*h*) ÷*d*^{n}. - Now, given the
*m*dice that came up*h*or greater, figure out the number of possible ways those dice can match. We do this much the same way we figured out the chance of at least one match, above. This time, though, we have only*d*-(*h*-1) possible values. So the possible ways to have*no*match with these dice is P(*d*-(*h*-1),*m*). The number of possible ways these dice can come up is ÷ (*d*-(*h*-1))^{m}. So Y(*d*,*m*,*h*) = (*d*-(*h*-1))^{m}− P(*d*-(*h*-1),*m*). - Figure ProbY
_{m}= Y(*d*,*m*,*h*) ÷ (*d*-(*h*-1))^{m}. - Remember Prob
_{m}= ProbX_{m}× ProbY_{m}.

- Figure out how many rolls of
- Now add up all values of Prob
_{m}, and you have the probability of rolling at least height*h*on*n*dice of*d*sides.

This looks like this, again with the total number of rolls that meet a given height, followed by the percentage chance:

Height | Dice Rolled | ||||||||
---|---|---|---|---|---|---|---|---|---|

2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |

1 | 1010.0% |
28028.0% |
4,96049.60% |
69,76069.760% |
848,80084.8800% |
9,395,20093.95200% |
98,185,60098.185600% |
996,371,20099.6371200% |
9,996,371,20099.96371200% |

2 | 99.0% |
25225.2% |
4,49144.91% |
63,95463.954% |
792,22579.2225% |
8,952,62489.52624% |
95,403,44795.403447% |
982,427,88698.2427886% |
9,941,058,90999.41058909% |

3 | 88.0% |
22422.4% |
4,01640.16% |
57,88857.888% |
729,60072.9600% |
8,413,05684.13056% |
91,453,56891.453568% |
957,516,03295.7516032% |
9,803,680,25698.03680256% |

4 | 77.0% |
19619.6% |
3,53535.35% |
51,56251.562% |
660,83566.0835% |
7,771,45677.71456% |
86,191,90386.191903% |
918,898,75091.8898750% |
9,546,080,13195.46080131% |

5 | 66.0% |
16816.8% |
3,04830.48% |
44,97644.976% |
585,84058.5840% |
7,022,78470.22784% |
79,471,87279.471872% |
863,672,83286.3672832% |
9,124,660,22491.24660224% |

6 | 55.0% |
14014.0% |
2,55525.55% |
38,13038.130% |
504,52550.4525% |
6,162,00061.62000% |
71,144,37571.144375% |
788,768,75078.8768750% |
8,490,265,62584.90265625% |

7 | 44.0% |
11211.2% |
2,05620.56% |
31,02431.024% |
416,80041.6800% |
5,184,06451.84064% |
61,057,79261.057792% |
690,950,65669.0950656% |
7,588,071,42475.88071424% |

8 | 33.0% |
848.4% |
1,55115.51% |
23,65823.658% |
322,57532.2575% |
4,083,93640.83936% |
49,057,98349.057983% |
566,816,38256.6816382% |
6,357,469,31163.57469311% |

9 | 22.0% |
565.6% |
1,04010.40% |
16,03216.032% |
221,76022.1760% |
2,856,57628.56576% |
34,988,28834.988288% |
412,797,44041.2797440% |
4,731,954,17647.31954176% |

10 | 11.0% |
282.8% |
5235.23% |
8,1468.146% |
114,26511.4265% |
1,496,94414.96944% |
18,689,52718.689527% |
225,159,02222.5159022% |
2,639,010,70926.39010709% |