Keep-highest dice pools: every T dice halves the miss chance

Dice pools

Having done some analysis of fixed-die systems, we now turn our attention to dice pools. With fixed-die systems, the dice rolled are always the same and modifiers are used to change the probabilities. With dice pool systems, there are no modifiers; instead, the number of dice changes. We’ll assume that all the dice in the pool are identical.

In this series, we’ll look at keep-highest dice pools, starting with the non-opposed case. This is the case where the player rolls their pool against a target number (TN), and hits/succeeds if any of the dice pass the target number. In other words, the roll as a whole misses only if every die fails.

Taking a logarithm

If the chance of failure on a single die is q_1, then with a pool of A dice the total chance of missing is q_A = q_1^A. If we let T = -\frac{1}{\log_2 q_1} then the chance of missing is

q_A = 2^{-A/T}

Choosing a target number is therefore equal to choosing T, though the two generally have a nonlinear relationship. For example, if we are using d6s and our target number is 5, the chance of failing on any particular die is q_1 = \frac{2}{3}. From here we have T = -\frac{1}{\log_2 \left( 2/3 \right)} \approx 1.710. If we used a target number of 6 instead, we would have q_1 = \frac{5}{6} and T = -\frac{1}{\log_2 \left( 5/6 \right)} \approx 3.802.

For q_1 near 1 (very small chances of success p_1 = 1 - q_1 per die), we can make a linear approximation \log_2 q_1 = \frac{\ln q_1}{ln 2} \approx - \frac{1}{\ln 2} p_1 and T \approx \frac{\ln 2}{p_1}.

In turn, T is the number of dice the player needs to have a 50-50 chance of hitting or missing. Every additional T dice cuts the miss chance in half. For example, A = 2T would be a 25% miss chance, A = 3T would be a 12.5% miss chance, and so forth.

Fixed T, varying A

If we fix the number of dice T needed to halve the miss chance (by fixing the probability of success on each die, or equivalently, fixing the target number) and only allow the number of dice A to vary, this is equivalent to a roll-under system using a geometric die with half-life T versus a player score of A, which could itself be the sum of some bonuses and penalties.

The probabilities have fine granularity for high A (low miss chance), but coarser granularity for low A (low hit chance). For A/T close to zero, we can again use a linear approximation:

q_A \approx 1 + \frac{dq_A \left( 0 \right) }{d\left(A/T\right)} \frac{A}{T} = 1 - \left( \ln 2 \right) \frac{A}{T}

which means that the hit chance p_A = 1 - q_A is proportional to A/T. Graphically:

This means that with fixed T, two dice will be nearly twice as likely to succeed as 1 die. And zero dice has no chance of succeeding at all in a “pure” keep-highest system.

Blades in the Dark uses a system in this vein, with just two fixed target numbers (4 for a partial success and 6 for a full success). It has a special rule for zero or negative dice pools which gives one more step at the low end. There are also critical hits, which we’ll discuss a bit in the next article.

Varying T: granularity problems

What if we want to vary T as well? We treated the chance of failing on a single die q_1 as if were continuous. Unfortunately, physical dice are very much not continuous, so we are constrained when choosing the possible values for q_1 and therefore T. To make matters worse, when it comes to keep-highest dice pools, standard dice have their finest granularity with respect to what values of T are achievable at the low end, where it’s least needed, and their coarsest granularity at the high end, where it’s most needed.

Here’s a plot of various die types, with each point representing a TN. The vertical axis represents T, the number of dice in a die pool needed to halve the miss chance for that TN. For example, a TN of 6 on a d6 is just under the “4” line, which means that it takes just under 4 dice to halve the miss chance.

Click for full-size image.

Notice how most of the TNs are squashed together at the bottom. Fully half of the TNs on a standard die result in a single-die pool having a miss chance of 50% or lower. Meanwhile, they have large gaps at the higher ranges. The last point of TN on a standard die about doubles the dice pool size needed to achieve the same hit chance, and the possible TNs terminate outright after that.

If character advancement is limited, then the lower range may be sufficient even with just standard dice. If you want to use the higher ranges, here are some possible approaches to mitigating these problems. Unfortunately, each has significant shortcomings and drawbacks.

Larger dice

A brute-force approach is to use larger dice. Unfortunately, standard die sizes cap out at d20s, and even these only help a little.

Exploding dice

Another approach is to use exploding dice, such as the d6! used in early editions of Shadowrun. However, standard exploding dice are only a partial solution: while they extend the possible range of TNs upwards, they still suffer from uneven granularity. This is shown in the d6! and d10! ladders. (Look at d6!’s TN10→TN11→TN13 jumps!)

We can prevent missing TNs on exploding dice by starting the faces at 0 rather than 1. However, this makes the dice further from being standard dice. Also, T has an unusually large gap at that very spot, so jumping 2 TNs there may not be so bad.

Here are the values for exploding dice in tabular form.

Exploding on multiple faces

If we’re willing to explode on more than one face, we can shrink the largest gaps. Two examples are plotted above: treating 5+s on a d6 as exploding 5s, and treating 10+s on d12s as exploding 10s. However, using non-standard dice introduces an extra annoyance. The higher explode chance also increases the average number of dice and stages of dice that need to be rolled, as well as inflating the numerical values of TNs.

Randomized target numbers

Previously, we were able to smooth out the bumps in exploding dice by adding a standard die. It’s not feasible to do this to all of the player dice, since this would require pairing a standard die with every exploding die, a real pain to do physically. What is more feasible is to add a die to the target number. Equivalently, we could add a die to the player result after taking the single highest die.

Unfortunately, this means that the chance of missing no longer follows the simple equations above. For example, unlike simply changing the dice of the dice pool like the schemes above, with this scheme it requires more than double the dice to move from a 50% miss chance to a 25% miss chance. Furthermore, the smoothing works less well at low miss chances.

Two examples are plotted above for 50% miss chance.

Conclusion

In summary:

  • Choosing a target number for a keep-highest dice pool is equivalent to choosing the number of dice T required to halve the miss chance, though the TN and T generally have a non-linear relationship.
  • If T is allowed to vary, using standard dice with keep-highest dice pools produces coarse and uneven granularity at the high end. It’s possible to mitigate this somewhat with exploding dice and other schemes, but at the cost of complexity and more rolls. I don’t blame Shadowrun for switching to a success-counting system. However, if you plan to have bounded character advancement, you may be able to get away with just standard dice.

Next time, we’ll show that’s it’s possible to transform a keep-highest dice pool system with both A and T varying into a fixed-die system with nearly the same probabilities.

Leave a comment