Home

Articles about probability in RPG design.

Migrated articles to GitLab; probabilities of depletion mechanics

I decided to migrate the canonical version of articles to a GitLab wiki. Here are the reasons why: I expect a high degree of interconnectedness between articles, which fits better in a wiki than in a sequential collection of blog articles. It allows repository-based management of articles, which I find easier to deal with than WordPress. Articles can be written natively in Markdown, which again I find easier to work with than WordPress’s Blocks. WordPress does have a Markdown block, but the native format is a bunch of verbose HTML. Markdown also allows easier conversion for posting on Reddit. WordPress’s…

How much of a Gaussian falls outside the range of a sum of dice?

Previously, we looked at the maximum difference in chance to hit between uniform, triangular, and Gaussian distributions and found that it can be made smaller than a single face on a d20. But what if we are more concerned about the tails in particular? Range and standard deviation Range is often one of the first properties of dice that people think of. Conveniently, if you roll n dice, the range is exactly n times the range of an individual die. As we add dice together, the shape of the distribution approaches a Gaussian by the central limit theorem.…

Exploding step dice

Exploding dice (“acing” as Savage Worlds calls it) have tails that drop off like a geometric distribution. What would happen if we had step dice that actually followed a geometric distribution? Spoiler: it’s great in theory, but exploding dice don’t actually follow a geometric distribution well. Non-opposed An exploding die of size A has an asymptotic half-life of h_A = \frac{A}{\log_2 A}. For example, for an exploding d10, on average every ~3 points of DC halves the chance to succeed. If the dice were perfectly geometric, the chance of success against a target number T would be…

The Elo rating system, using dice

The Elo rating system was created by Arpad Elo to represent the relative skills between chess players. Since then, it has been used in other competitive activities from sports to tabletop games to video games. Can Elo ratings be translated to stats in a tabletop RPG? The Elo model of the world is exactly the same as an opposed fixed-die system: each player’s performance follows some distribution around their rating, and the higher performer wins the match. So in fact such a translation is quite easy. What’s the probability distribution? It’s commonly assumed that the normal distribution is the most…

Efficient computation of homogeneous roll-and-keep dice pool probabilities

“Roll-and-keep” is a concept popularized by the Legend of the Five Rings RPG. From 1st to 4th Edition, L5R used the following system: the player rolls a pool of (exploding) d10s, keeping a number of the highest dice rolled. This is thus a generalization of keep-highest dice pools (= keep one) and success-counting dice pools (= keep all). A similar concept can be applied to many schemes that have been proposed for D&D-style character generation. For example, roll 5d6, keeping the highest three dice; and/or rolling seven ability scores, keeping the highest six. However, computing the probabilities for this type…

Success-counting dice pools: quadratic pool size ≈ linear fixed-die modifier

Last time, we looked at the mean, variance, and standard deviation of success-counting dice pools. Now, we are going to use these statistics to transform success-counting dice pools into a fixed-die system with similar probabilities. Why transform into a fixed-die system? Our first transformation into a fixed-die system was with keep-highest dice pools, and the reasoning there still applies. With other such transformations under our belt, including opposed keep-highest dice pools and step dice, we can compare all of these systems using this common basis. The purpose of this article is not to suggest that you should actually use the…

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…

Success-counting dice pools: mean, variance, and standard deviation

In this series, we’ll analyze success-counting dice pools. This is where the player rolls a pool of dice and counts the number that meet pass a specified threshold, with the size of the dice pool varying. Each die that does so is called a success in the well-known World of Darkness games. This nomenclature can unfortunately be confusing, but I’m not going to fight precedent here. More than one success per die Some variants on success-counting allow outcomes other than zero or one success per die. Here are some examples: Exalted 2e where a 10 counts as 2 successes. Classic…

Non-exploding step dice

Step dice are systems where instead of adding modifiers, the size of the dice increase. The usual core progression consists of the consecutive standard die sizes d4, d6, d8, d10, d12. Non-opposed Suppose the player rolls a step die of size A against a target number T. The player loses ties, as this makes the math simpler; in practice, you’d probably have the player win ties and increase all target numbers by 1 to compensate. The chance of failure is then q = \frac{T}{A}. Like we did for keep-highest dice pools, we can transform this into a…

Keep-highest dice pools: opposed = raffle

Last time we showed how to transform the keep-highest dice pool system into a fixed-die system with similar probabilities. Now we finish up this series with the case where two keep-highest dice pools roll against each other. It’s a raffle (with the right tiebreaker) The tricky thing to consider here is tiebreaking. We’ll use the following rule: remove all the dice that weren’t tied and re-roll all of the tied dice. Repeat until one side is found to be the winner. Why use this rule? This means that, so long as all the dice are identical, every die has equal…

Keep-highest dice pools ≈ fixed-die with exploding + standard die

Last time, we found that choosing target numbers in keep-highest dice pools was equivalent to choosing how many dice T it takes to halve the miss chance, and that it’s difficult to vary T with fine granularity at the high end. In this part, we will show that it’s possible to transform a keep-highest dice pool into a fixed-die system with nearly the same probabilities even when both A and T are allowed to vary. What does a transformation into a fixed-die system require? The key mathematical property of a fixed-die system is that the chance…

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.…

Margins of success in fixed-die systems

Previously, we looked at effective hit points in fixed-die systems with binary hit/miss outcomes. Of course, this isn’t the only possible outcome structure. It’s common for systems to have some sort of critical hit mechanic, effectively introducing a third possible outcome. Some systems may go as far as using the full margin of success (MoS) –the difference between the player’s result and the target number –to determine the magnitude of the success. For this article, we’ll assume the margin of success is one-sided; in other words, there are no margins of failure; or in yet other words that failure merely results in…

Exploding dice: approximating pure geometric dice and other appendices

Miscellaneous items that I didn’t cover in the series proper, which I tried to keep focused on effective hit points. This part is naturally less polished, being composed of exactly the odds and ends that were left on the cutting board. Series index Effective HP versus: d20 Effective HP versus: sum of standard dice Effective HP versus: exploding dice Exploding dice: adding standard dice Exploding dice: opposed rolls Exploding dice: appendices <- You are here Avoiding a left tail If we want to avoid a left tail and achieve something closer to a pure geometric distribution, we could use the following…

Exploding dice: opposed rolls

Last time, we added standard dice to exploding dice in order to smooth out the resulting probability distribution. Now we’ll finish up our discussion of exploding dice by looking at opposed rolls. The Laplace distribution Opposed geometric rolls result in a discrete version of a Laplace distribution, which is basically two geometric distributions glued back-to-back. The half-life on each side is the same as that of the individual geometric distributions. With an opposed roll both players have a chance to succeed or fail regardless of the disparity in modifiers. This is unlike the non-opposed roll, where the roller may be fail-proof…

Exploding dice: adding standard dice

Last time, we looked at exploding dice and canonical geometric dice, each of which had its problems. Our goal is to find a scheme that: Allows us to control the width of our distribution. Stays as close to standard dice as possible. Isn’t too complicated or time-consuming to roll. Choosing a half-life To the first point, the geometric distribution has exactly one parameter, and that parameter directly scales its width. There’s several ways of expressing this parameter, but I’m going to go with the amount of attack bonus needed to halve the opponent’s EHP (as long as we aren’t already…

Effective HP versus: exploding dice

As we saw last time, the tail of a normal distribution falls approximately as \exp\left(-x^2\right) which makes the EHP in the right tail grows approximately as \exp\left(x^2\right) (up to some scaling). A gentler curve would be \exp\left(-x\right) and \exp\left(x\right) respectively: a geometric distribution. Exploding dice In fact, there is an existing die concept that roughly implements a geometric distribution: the exploding die, as used in games such as Savage Worlds (although in this series we are only analyzing binary succeed/fail outcomes). In short, if we roll the highest number on the die, we roll the die again and add it to the total.…

Effective HP versus: sum of standard dice

Last time we looked at the effect of a single die on effective hit points. It’s well-known that as you sum dice together that you start to get a bell curve shape (normal distribution). For standard dice this happens quite quickly; even three d6s are enough to start approximating this shape (program #1 on AnyDice). How does this affect effective hit points compared to a single die (uniform distribution)? 1d20 vs. 5d12–22 AnyDice. Matching the 50th percentile I picked 5d12–22 because it behaves similarly to 1d20 around the 50th percentile. Here’s what I mean when I say the 50th percentiles are similar: Both graphs…

Effective HP versus: d20

The most famous RPG is Dungeons & Dragons, and its core mechanic is rolling 1d20, adding a modifier, and comparing it to a target number such as Armor Class (AC). It’s often said that rolls in 5e D&D feel “swingy”, and often in a way that implies that this is bad. If this level of “swinginess” is indeed bad, there’s a simple way that a d20 system could be made less so: if we multiplied all the modifiers by 10, the d20 would mean almost nothing, and the modifiers almost everything. Even a more reasonable multiplier of 1.5 or 2 would make…