2
\$\begingroup\$

The Question

I'm working with my friend on a new (we think) dice system for a homebrew RPG (soon to hit the TTRPG world by storm, no doubt). A design goal is that players' statistical success rate at common-but-difficult tasks, appropriate to their experience/level, is about 75%*. I'm wondering if there is a way, given the Difficulty of a roll, to determine which pool(s) of dice would be suitable to succeed at it more often than not.

The System

Alright so, obviously, you need to know what our plan is. Any likeness to other dice systems (I've noticed some corollaries to Genesys myself) is completely coincidental. This is still very much in production, but the general rules/expectations are:

  • creatures form a pool of dice from various aspects such as ability score, weapon/tool quality, and skill(s)
  • die pools range from 2 dice minimum to probably around 7
  • pools are comprised of d4-d12, increasing as a character invests in that aspect
  • the pool is rolled and a tally is made, counting numbers of successes against the roll's Difficulty
    • a 4-7 is 1 Success
    • an 8-11 is 2 Successes
    • a 12 is 3 Successes
  • difficulties are expected to range from 1-8 or so given the typical output of the above standards

For example, a heroic army commander making an attack might roll 1d10 for their strength, 1d8 for being in melee combat, 1d8 for their spear quality, 1d12 for their legendary prowess with spears, and 1d6 for their knowledge of human anatomy. They end up with a pool of 1d12+1d10+2d8+1d6. Rolling for multiples of 4, they have a good chance (~86%) to roll at least 3 Successes and a decent chance (~67%) for 4+. They could even get exceptionally lucky and roll in the ballpark of 8-10 with exceptionally low (less than 3%) odds.

I made an anydice program to check the expected output of various pools using the system. I like a lot of aspects about it, but I'm finding that I'm not sure how to reverse-engineer it. I could keep making various pools until I find that 75-ish percent that I'm looking for, for various Difficulties, but I'm interested if there is a faster way.


*This is an attempt to overcome observation bias as much as it is to ensure parties are successful in their quests and such.

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

Consider just counting 4+s or 5+s on d6s

The central limit theorem says that, once you add enough dice together---including these success-counting dice---the total will resemble a normal distribution, which is described entirely by its variance and mean. Personally, I would call all but the first of your examples pretty close to the shape of a normal distribution.

Furthermore, variance and mean are both additive, so if the variance-to-mean ratio (VMR) between the two is constant for all of your proposed dice, then any sum of your dice will also have that same VMR. Now, your VMRs are not all the same; you've got the d6 with the lowest VMR of 0.5 and the d4 with the highest at 0.75, but that's not a huge range, and I'm not getting the impression that variable VMR is an intentional design goal here.

So, in the end, all this complexity of having possibly multiple successes per die and different die sizes is not really generating much in the way of curve shape beyond what you could get with just simply counting 4+s or 5+s on d6s or similar and only changing the size of the pool. If you want to avoid having as strict a hard cap on successes, you could try something like exploding dice or paired crits, as demonstrated in e.g. Burning Wheel or the various Storyteller systems (Vampire etc.)

The 75% chance

If you look up this chance on a z-score table, you'll want to target the difficulty to about 2/3 of a standard deviation below the mean. The standard deviation of a pool is the square root of the total variance:

$$\sigma = \sqrt{\sum_i \sigma_i^2} $$

where \$n\$ is the number of dice and \$\sigma_i^2\$ is the variance of each individual die in the pool. For example, if you have 9d6, where each 4+ is a success, the variance per die is 0.25, and the total variance is 2.25. Take the square root and multiply by 2/3, and you get a target distance of 1 below the mean. In this case the mean is 4.5, so you would target the difficulty at 3.5.

However, you need a little care in accounting for tiebreaking. A quick estimate would be to add 0.5 to the target difficulty if the player wins ties or subtract 0.5 if they lose ties. In this example, if the player wins ties, you'd bump the difficulty up to a round 4. In this example, the actual chance comes out to 74.61%, a close match.

Progression

It takes a quadratic progression of dice pool sizes (and target number of successes) to produce a similar effect as a linearly increasing modifier (and difficulty) in a fixed-dice + modifier system (e.g. 3d6 + modifier vs. difficulty). Since the variance and standard deviation increase with the pool size, the pool size and target numbers of successes must grow at an increasing rate to cancel this out.

Further reading

If you want the full ugly math, you can try my articles on the central limit theorem as it applies to success-counting dice pools, or the fixed-dice equivalent to a success-counting dice pool.

\$\endgroup\$
3
  • \$\begingroup\$ I'm not sure I'm sold on changing the pools as described because I think we like the idea of a Gaussian curve with the chance for high-highs and low-lows without the time added by exploding dice, but it's still early enough that we can definitely add it to things to consider. Regardless, thank you for explaining the math on multiple levels (unfortunately it's been a decade since I touched calc and that was not for probabilities). Is there a simple way (or a simple way to phrase it might be more accurate) find the variance for multiple-success dice? \$\endgroup\$ Commented May 26, 2022 at 13:01
  • 1
    \$\begingroup\$ Avoiding extra rolling stages is a fair concern; indeed I suspect it is why Vampire 5e changed from the exploding mechanic of previous editions to the paired-crit system. In any case, this is primarily a concern for small pools, as larger pools will naturally have a tail of unlikely-but-possible number of successes. Another option is opposed pools rather than a fixed target number of successes, though this can also be more time-consuming. \$\endgroup\$ Commented May 26, 2022 at 18:24
  • 1
    \$\begingroup\$ As for computing variance, I like the (mean of squares) - (square of mean) method when calculating by hand. You can also take the square of the standard deviation reported by AnyDice, or use a spreadsheet (though be careful to use the population variance, not the sample variance). \$\endgroup\$ Commented May 26, 2022 at 18:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .