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

  1. Effective HP versus: d20
  2. Effective HP versus: sum of standard dice
  3. Effective HP versus: exploding dice
  4. Exploding dice: adding standard dice
  5. Exploding dice: opposed rolls
  6. 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 two-die scheme.

The small die determines the position within a half-life. It’s just a standard die with a number of faces equal to the half-life, e.g. a d3 for a half-life of 3.

The big die will determine the number of half-lives. It is equivalent to a coin flip where one side is zero and the other side is equal to the half-life, i.e. one maximum roll of the small die, and explodes.

We can merge three explosion levels of the big die into a single d8 by labeling it as follows:

Each pip indicates 1× half-life. The face with three pips explodes.

Rolling operates the same as before: roll both dice, exploding the big die if necessary, and add them together. This is much how like a d100 is rolled using one d10 to determine the tens place and another to determine the ones place. For example, if our half-life is 6, and we roll two pips on the big die and a 3 on the small die, we add 6 times 2 = 12 to the roll of the small die for a result of 15.

In AnyDice, this is:

[explode d{0,1}]*HALFLIFE + dHALFLIFE

While this follows the geometric distribution well, this big die is considerably less like a standard die. If you’re willing to tolerate a left tail, I would recommend using exploding + standard dice.

Uniformity

The right tail of a geometric distribution has the property that every point multiplies chance to hit and EHP by the same ratio. So in terms of EHP, it could be said to be more uniform than the actual uniform distribution!

This is also one reason I don’t like the use of the word “exponential” as a generic term to describe “fast-growing” curves. Between the three types of distributions we’ve looked at so far — uniformnormal, and exponential (the continuous analog to our discrete geometric distribution) — the exponential actually has the slowest growth in EHP.

Mass attacks

The geometric distribution provides a quick method for resolving a large number of attacks where each attack is unlikely to hit, analogous to the “mob attack” optional rule in 5e D&D. For example, if the half-life is 3, instead of having 100 archers make 100 attacks, we can have them make 50 attacks with a +3 bonus, or 25 attacks with a +6 bonus, or 10 attacks with a +10 bonus, or so forth. This could even be used to help pre-compute a stat block for a group as if they were a single unit.

We could also use this when a character makes repeated attempts at a task where there is no penalty for failure. This is analogous to the “take 20” rule in D&D 3e/Pathfinder.

There is one caveat, however: this preserves the mean number of hits, but only when the hit chance remains below 100%, after which more bonus does nothing. (If we added a left tail rather than using a pure geometric distribution, there will be some in-between area where additional bonus gradually becomes less effective.)

Options for dealing with this caveat include:

  • Just ignore it; e.g. no matter how many archers attack, a target can only be hit at most once at a time.
  • Use a margin-of-success system to reward hit chances over 100% with e.g. more critical hits.
  • Give more bonus than the mass attackers would normally be due; for example, every doubling of the number of attacks might give two half-lives of bonus rather than one. This could be argued to help compensate for mass attack bonuses not giving any benefit past 100% hit chance by give them extra effect below 100% hit chance; however, it also accelerates the point at which 100% hit chance occurs.

Time-to-success

In principle, the geometric distribution can be used in the reverse fashion to determine how many independent identical attempts at a task it takes to succeed, using only a single roll. In fact, this is arguably why this distribution exists in the first place.

This can be done by precomputing a table:

pow(2, roll needed to succeed on a single attempt / half-life) / half-life

And then rolling the geometric die, adding a flat +1, and multiplying the result by the appropriate entry in the table. (Some adjustment will need to be made if we added a left tail rather than using a pure geometric distribution.)

However, this is probably too complex a procedure to be worthwhile. It may be better to have the player commit to a number of attempts at a time and use the mass attack rule above, or just use GM fiat.

Tiebreaking

Previously we assumed that tiebreaking is deterministic. For example:

  • If only one player rolls, we could say that all ties go to the roller.
  • If there is no PvP, only PvE, we could say that all ties go to the player (or all go to the enemy, if we want a more hostile feel).
  • If all rolls have a clear attacker and defender, we can could say that all ties go to the attacker or all go to the defender.

Deterministic tiebreaking saves time, so I would recommend it whenever possible.

However, if there is no consistent way of determining who should win ties, I recommend flipping a coin. It’s obvious, simple, fair, and mathematically sound: the effect is just to shift the median of the distribution so that it lies halfway between two numbers rather than on a single number. I would consider it no less of a Laplace distribution. Here’s a comparison using opposed exploding d10s (AnyDice):

Less favored approaches

Other half-lives

If we want greater precision, we could consider doubling the half-lives to 6 or 10. However, I consider these less favorable as they start requiring adding larger numbers together than I would like, and it’s harder to get them to follow a geometric distribution well. Near-standard exploding dice for these would be:

  • Half-life = 6: d20, treating 19+ as exploding 20s.
  • Half-life = 10: d20, treating 16+ as exploding 20s.

For reference, the behavior around the median of a d20 corresponds to about a half-life of 8, though I don’t recommend actually using this value since it doesn’t have any convenient factors other than powers of 2.

Other rejected approaches

  • Relabeled d20. While this only requires one die, it’s less accurate to a geometric distribution than a two-die system, and is harder to memorize if we don’t want to manufacture a custom die.
  • Laplace by rolling a geometric die with random sign. Less accurate and doesn’t save any die rolls.
  • Exploding die + relabeled die. While it’s possible to get more accuracy this way, I don’t think it’s worth adding a non-standard die.
  • Only underdog rolls in an opposed roll; the overdog just gets their median. This reduces the total number of dice compared to actually doing an opposed roll, though it also doesn’t get us a better approximation of a Laplace distribution like actually doing an opposed roll would. Furthermore, it introduces the extra step of determining who the overdog is.
  • 1d6 × 1d6. Despite how bizarre the concept is, this follows a 1d20 well outside the right tail, and is close to geometric for a while after that. However, it does skip a bunch of numbers, doesn’t have a precise half-life, and isn’t simpler than an exploding + standard die.

Leave a comment