I got interested in the “Rolling With Advantage” mechanic in D&D, which has an interesting distinction versus a straight +modifier, and I looked at that in Part 1. That got me wondering if changing the dice would change the mechanic at all, which I looked at in Part 2. Lastly, I wanted to show analytical solutions for these probabilities, because I had a hard time finding them myself so thought I’d consolidate them here.
Cumulative Probabilities
Let’s take a look again at our basic scenario. When attempting a challenge, you roll a D20, and if it is equal or greater than the DC, you succeed. When you roll with advantage, it’s the same, but you roll two die and take the highest.
The probability of overcoming a challenge at a given DC looks like this:

It makes sense to graph the data this way since this is how the original problem works. It lets us answer questions like, what is the probability of beating a DC 20 check? It’s 5% normally, 10% with advantage. Of beating a DC 10 check? 55% normally, 80% with advantage.
But what we’re really showing here is actually derived from something else. Because we care about rolling equal or greater, this is a cumulative probability distribution. It’s the probability of rolling a given DC, plus the probability of rolling each DC that’s higher.
Let’s look at the probability of just rolling exactly a given DC:

Let’s check this makes sense: For the normal line, this says the chance of rolling exactly a given number is 5%, and it doesn’t matter what the number is. That makes sense, because the probability of rolling any given number is 1/20 = 5%. So that normal line checks out, it’s just 5% throughout, and then the cumulative is 100% for rolling a 1 (any number is equal or higher), sloping down until it’s 5% at 20 (there’s just one way to get a 20). So far so good.
For rolling with advantage, the line isn’t flat, instead the probability starts very low and gets higher. What’s the probability of rolling a 1, with advantage? Well, we’re taking the max of the two die, so the only way to roll a 1 would be if both dice came up 1, so that’s a (1/20)*(1/20) = 1 in 400 chance, or 0.25%. From there the slope goes up, 0.5% per DC, until 20. The probability of rolling a 20 is the chance of rolling it one die, plus the chance of rolling it on the other die, minus the chance of rolling it on both (otherwise we’d double count that), so (1/20) + (1/20) – (1/400) = 5%+5%-0.25% = 9.75%. So far so good again.
We can see there’s a relationship between the slope of the exact line and the resulting cumulative probability. A flat line, line the normal 5% chance, results in a linearly decreasing cumulative probability. But a linearly increasing exact chance gives us a nonlinearly decreasing cumulative probability. Why?
A way to think of it is in the cumulative distribution we’re seeing the slope of the nominal line. There’s a relationship here like that between velocity and acceleration. It’s derivatives and integrals… oh no, calculus?

Well, we don’t really need to do any calculus here, it’s just interesting to remind ourselves what’s going on.
Let’s see add another exact probability, like rolling with disadvantage, where we take the minimum of two dice. It’s easy to predict that it’ll just be the inverse of the advantage line- now rolling a 1 is the easiest, and rolling a 20 is the rarest.

For Advantage, the slope will decrease slowly from 1, where it’s lowest, and it’ll be steepest at 20, so we get a nonlinear line that tapers off and then falls towards 20. For Disadvantage, it’ll be the opposite, steepest moving away from 1, and then tapering off towards 20. Let’s look:

So an exact probability that increases or decreases gives us a cumulative probability which tapers off nonlinearly, which is neat. (I mentioned this way back in part 1, but the reason this is interesting is because a nonlinear distribution means it’s situational. There could be times a straight +2 or 3 modifier is better than Advantage, and times when it isn’t, which seems like a useful quality.)
Can we get any other interesting distributions out of this domain of mechanics?
Rolling with Avervantage
Rolling with Advantage makes it easier to achieve high numbers, and harder to roll low ones. Disadvantage is the opposite. Can we make a mechanic that makes it easier to roll middle numbers, and harder to roll high or low numbers? We’re looking for a distribution like this:

That’s the probability of rolling exactly each DC if you take the average of the two dice. That is, you sum the dice, divide by two, and then round to the nearest integer. This is a little inelegant, and it has an upwards bias (since 0.5s will round up). So there’s still only 1 out of 400 ways to roll a 1 (you need a 1 on both dice). But now there’s 3 ways to roll a 20: a 20 on both dice, or a 19 and a 20, or a 20 and 19. This idea works better using three dice and taking the median, but this ‘Rolling with Avervantage” mechanic will work fine for demonstration purposes.
So what will the cumulative distribution of this look like? This line goes up and down nonlinearly, with a slope change midway through. So we’ll get something like both Advantage and Disadvantage? Let’s see:

Whoa, weird! It’s an S-curve shape. Haha well now we’re talking! The cumulative probability for ‘Rolling with Avervantage’ is nonlinearly better than normal at DC checks below 11, and nonlinearly worse than normal at passing DC checks above 11.
I’m not sure what the flavor of this would be exactly, but it seems pretty neat. “Avervantage” is a condition that makes you better at succeeding at easy tasks, but worse at harder tasks. Blessing of the Novice or something. Talk about situational!
That’s neat, but conceptually I have an easier time imagining the opposite condition. If the S-curve was flipped the other way, where easy tasks get harder and harder tasks get easier, it’d be something like, Too Much Expertise. I feel like that’s a natural situation, if you’re an Expert Lockpicker or whatever, it’s easier to pick the hard locks but now the easy ones stump you.
The distribution we want is something where it’s easy to roll the extremes, but hard to roll a middle number. We want something like this:

Is there an easy operation that would yield this result? I don’t know! I couldn’t figure out one. To generate the above I just took the Average results and inverted them, but that isn’t feasible as a real mechanic. Some kind of u-quadratic? Or… Roll Two Die And… if the average is less than 11, add 10, otherwise, subtract 10? Ugh, I’m not sure.
Are there other interesting distributions that could yield other mechanics like Advantage, Disadvantage and ‘Avervantage’? I’m not sure. I played around with a few ideas (like multiplying them together…?) but most just exaggerated these existing sets of curves, and didn’t yield anything interesting like the Average/Median one. But it’s something to think about.
Analytical Formulas Over Brute Force
I’ll pause there on the mechanics themselves, and return to something I mentioned earlier, about solving these analytically versus by brute force. Brute forcing a distribution table is great, but if I was actually going to use these probabilities in something, it might be helpful to have a single formula that outputs a result. That is, I want to calculate “Roll three D20s and take the highest number, what’s the probability it’s above 15?” without having already having had to generate a table of all 8,000 cases. I alluded to this back in Part 1, but just want to explain it before closing this out.
The big advantage over brute forcing something is because once we have a formula, we can change the variables. Who says we need two dice for this? Or twenty sides? Maybe we want it every which a way and don’t want to have to generate whole new brute forced tables to check each variant.

I’m not going to go into the derivation of these that much, and I’m also not much of a mathematician. Sometimes I’ll dust off a textbook and really try to work through something. But more typically, I usually just dig through some posts on stackexchange and the like (like this one and this one) and then rejigger what I find.
Variables We’ll Use
For all the below, let:
d
mean the number of dice sides. Sod=20
means a d20.n
mean the number of dice we throw. Son=2
means the usual ‘rolling with advantage’, you roll two die and take the higher. But Advantage withn=3
would mean you roll three dice and take the highest.x
mean the particular DC we’re trying to roll for. Sox=15
means, probability to roll against a DC check of 15. For the tables we’ll generate every case fromx=1
tox=d
(so for a D6, it’s 1 to 6, for a D20, it’d be 1 to 20 and so on).
And I use these same variables in the Excel doc I’ve included below as well.
Probabilities for Rolling Exact DC
No Modifier
The normal no modifier result is successes divided by all possibilities, which for every number is the same. It doesn’t matter what x
is (the DC we’re rolling against).
P(rolling x on a d-sided die) = 1/d
So the probability of rolling a 5 on a D6 (d=6, x=5
) is 1/6=16.66%
. The probability of rolling a 15 on a D20 (d=20, x=15
) is 1/20=5%
.
Advantage
This is the probability that the highest of the dice thrown is equal to a given number. The way we calculate that is to find the probability that none of the dice are equal to or higher than the DC, and then subtract the probability where none of the dice are higher than the DC.
P(the highest of n d-sided dice =x) =
P(NOT rolling higher than x on n d-sided dice) - P(NOT rolling higher than x-1 on n d-sided dice)
=
(x/d)^n - ((x-1)/d)^n
Let’s look at rolling two D20s, trying to roll a 15 exactly (d=20, n=2, x=15
) as an example. To get a 15, it means none of the dice can be higher than 15. So the first term is the probability of rolling a 15 or less. There are 15 ways to do it, and we need to do it twice, once for each die: (x/d)^n = (15/20)^2 = 56.25%
. In the second part, we calculate the probability of getting a 14 or less: (x-1/d)^n = (14/20)^2 =49%
. The difference between these, 7.25%
, is the probability of getting exactly a 15.
Disadvantage
Disadvantage is the probability that the lowest of the dice thrown will equal the given number. The logic for this is exactly the same as advantage, we’re just reversing the direction. So instead of trying to roll not higher than the target, we try to not roll lower.
Probability that all the dice are less than or equal to a number.
P(the lowest of n d-sided dice equals x) =
P(NOT rolling lower than x on n d-sided dice) - P(NOT rolling lower than x-1 on n d-sided dice)
=
=((d+1-x)/d)^n-((d+1-x-1)/d)^n
So the probability of getting a 19 exactly when rolling three D20s with disadvantage (d=20,n=3,x=19
) is ((21-19)/20)^3 - ((21-18)/20)^3 = 0.1% - 0.0125% = 0.0875%
.
Probability for Rolling Equal or Higher DC (Cumulative)
No Modifier
The probability of rolling equal to or higher a given DC is just a linear interpolation between 100% at the minimum, and 1/d at the maximum.
P(rolling >=x on a d-sided die) = =1-(d-(d-x+1))/d
Advantage
The cumulative totals are actually easier to calculate for advantage/disadvantage, because we can calculate it directly rather than getting the difference between two different ranges as we do for the exact number.
For advantage, the cumulative probability of rolling equal or higher to a given DC is equal to 100% minus the probability not rolling higher on any of the dice. Probability is filled with these funny things where not doing the opposite thing is easier to calculate than actually doing something.
P(highest of n d-sided dice is >= x) =
P(NOT rolling higher than x-1 on any of n d-sided dice)
=
=1-((x-1)/d)^n
So for example, rolling at least a 5 on three D6 (d=6,n=3,x=4
), means not rolling a 1-3 on any of those dice. 1-((4-1)/6)^3 = 87.5%
Disadvantage
And disadvantage is the same, elegantly enough the formula is exactly the same we just change where the brackets are. Instead of not rolling higher on any, we look at not rolling lower on one, repeated for each dice:
P(lowest of n d-sided dice is >= x) = (1-((x-1)/d))^n
Throwing Any Number of Any-Sided Dice
So now we can calculate the probability of succeeding at various Advantage or Disadvantage checks, on any number of dice or with any number of sides! Woohoo!

Although, as I already saw in Part 2, there isn’t actually much difference in doing so. Changing the number of die faces improves the ‘resolution’ of the curve without fundamentally changing it. And adding more dice exaggerates the curves, which has some utility, but also doesn’t change them very much. So I think this excursion was a little bit of a blind alley, but at least I learned some things along the way.
What about Avervantage / Medianvantage?
Earlier we looked at another neat mechanic that does have a weird curve, rolling some number of dice and taking the average or median. What’s the formula for those then? Well, unfortunately it’s more complex. I worked out a formula for the “Rolling with Medianvantage” case, but it’s heavily dependent on the number of dice. You see, the median cares about a few distinct cases. Let’s say you roll three dice:
- If all the dice show the same number, the median is whatever you rolled.
- If all the dice are different, the median is the middle value (which means in this case that the resulting median will never be the highest or lowest number on the dice)
- If two of the dice are the same, that value is the median.
So the probability of the median is really about adding up these three distinct cases, which all get calculate separately. And if we add more dice, it introduces more and more cases. Combinatorics can be such a pain. If there’s a generalized way to solve a problem like this, I definitely don’t know it, unfortunately. In the spreadsheet below, you can see the median formula for the case of n=3 dice if you’re curious though.
Closing out Advantage / Disadvantage
I was curious about the implications of ‘Rolling with Advantage’, and exploring it a bit more thoroughly, I do think it’s a neat mechanic. I was wondering if changing the number of dice we throw or number of dice faces would change the output very much, which it didn’t. That’s more obvious to me now in retrospect, and something I think I’ll keep in mind when thinking about other dice problems and mechanics.
Thanks for reading! So even if this didn’t amount to much, I hope you found something here useful or interesting. Here’s one last spreadsheet doc, which has everything referenced above:
Leave a Reply