# Is it possible to produce a bowl-shaped probability curve with dice rolls?

In D&D's basic D20 system, you roll one d20 and add in some modifiers, then compare the result to a target number. Each modifier effectively adds or removes a 5% chance of success with the roll.

One of the problems I've found is that the game handles large gaps in modifiers poorly: if one player has a +10 to hit and another has a +2 to hit, things become unplayable. I thought to myself: "It would be good if modifiers did less."

I considered the possibility of replacing the d20 roll with pools of dice (eg 4d6) and realized this would make the problem even worse. Because dice pools have a bell-shaped curve, moving from the middle to the sides by even one value can have very big effects, more than D&D's 5%.

But if the curve was the opposite way around, if it were bowl-shaped, with the odds of getting extreme results were higher than the odds of getting middle results, then players with modifiers and difficulty numbers around the middle of the curve would experience very little effect from a few points of modifier in either direction. At the same time, each modifier would be even more valuable: the +1 going from a +8 to a +9 is worth more than the +1 going from +7 to +8.

I like the idea of that kind of bowl-shaped curve, but is it even possible to generate using dice? Is there any other way to get a similar system, where small to mid-sized variances in modifiers are smoothed away but bigger variances become very meaningful?

• FYI this is called an inverted bell curve or sometimes "well curve". Aug 6, 2012 at 1:12
• A note on modifiers: The gain per point actually varies based on your target number; you get the best gains when you are near trivial or impossible difficulties. So going from +7 to +8 is only about a 3% increase for DC 15 and DC 20, but an 8% increase for DC 10. +0 to +1 is a 3% increase for DC 10 and DC 15, but an 8% increase for DC 20. Aug 6, 2012 at 4:58
• I had the same problem and figured out that the easiest way is to just swap the meanings of the results. For example, with a pool of 5d6 getting a 17 is "extreme bad", whilst getting an 18 is "extreme good", 5 is "slightly bad" and 30 is "slightly good". Same 'ol rolling, but different goals. Mar 29, 2018 at 15:55
• I think a better place to ask this is math.stackexchange.com Aug 23, 2023 at 22:46

## 8 Answers

There sure is!

1. Pick a size of a pool of d20 dice. The bigger the pool, the stronger the results.
2. Next grab a d6, d10, a different colored d20, or even a coin.
3. Roll the die pool and roll the extra die.
4. If you got an even number on the die, pick the smallest roll from of the pool of die and use this as a result. Odd? You pick the largest die value from the pool.

With a pool of 4d20 I get the following results in Excel (using a total sampling of 10,000 rolls):

1   2   3   4   5   6   7   8   9   10
9%  8%  7%  6%  5%  4%  3%  3%  3%  2%

11  12  13  14  15  16  17  18  19  20
2%  3%  3%  3%  4%  5%  6%  6%  8%  9%


So roughly a 20% chance of critical success or critical fail, and a 4% combined chance of a 10 or 11.

Credit goes to sage for suggesting the even/odd roll instead of a coin.

And now some graphs, because everyone likes graphs, right?

Although technically this is bar-graph land, I included a line graph as well as I thought it made it easier to see in light of the number of bars that were being dealt with. I also increased the sampling to some 100,000 dice.

• I like that this adds a new vector for enhancement. Namely, getting to add more Dice to the pool. They don't even need to be D20s, adding a D10 to the pool would boost the middle without effecting the edges curve shape. Aug 9, 2012 at 17:45
• I took the liberty of writing this up in AnyDice. You can play around with probabilities there. Also, you can bias the well based on your "coin": if you roll a d4 instead of a d2 and take the lowest d20 on a 1, and the highest on anything else, you can skew the entire well high without ruining its characteristics. Aug 9, 2012 at 19:52
• Dan's comment does make an interesting proposition: the whole bowl can be skewed towards success or failure by having a non 50% chance of picking the highest or lowest value. You could even go as far as to make a "luck" attribute that ranges from -5 to +5 and roll 1d20+luck and take the highest value on an 11 or higher and the lowest value on a 10 or lower. I never really thought of making a "luck" attribute actually affect the "luck" of the rolls in such a direct, yet curiously amusing, way! Aug 10, 2012 at 3:14
• @Soulrift An interesting idea... it works rather well, actually. It's getting a little complicated for table-top play, but could be written into a dice roller fairly easily. Aug 10, 2012 at 13:19

I don't know if anyone's still following this, but after much playtesting I came up with a system that was fun and easy in actual play. I wish there were a way to combine 3 answers and credit everyone who participated (especially Nex Terren and Ricky Demer who's posts were very valuable) but I don't know how to do that.

In any case, the system I found most effective in D&D 4th ed, inspired by the discussion here, is as follows.

Instead of rolling 1d20 for checks, roll 3d20.

1. If one of the dice shows a natural 20 and no dice show a 1, result = 20.
2. If one of the dice shows a natural 1 and no dice show a 20, result = 1.
3. Otherwise, if the middle value of the three rolls is 1-10, take the lowest roll; if the middle value is 11-20, take the highest roll.

This system has a few features beyond the proposed systems that have worked out better in playtesting.

Firstly, it's fast and easy to use. No math is involved, you only look at the value of the middle die. It takes a little bit of time to sort out which one is the middle (rather than rolling a single die) but the time cost became negligible with use.

Secondly, it looks at the dice pool as a whole and rewards "good" rolls. If you roll, for example, 17, 15, 2, my system gives you the 17; Ricky's would give you the 2 and NeX's would 50/50 give you the 2. This preserves the excitement of rolling lots of big numbers.

Thirdly, it emphasizes crits. One of the early problems I found in testing was rolling a 20 but not using the 20 was very aggravating. The only case in my system where you don't use a 20 when you roll a 20 is if you also roll a 1, in which case you have a 50/50 chance of either crit hitting or crit missing.

In any event, I want to thank everyone who contributed (I wish I could mark more than one answer as "accepted") and I encourage people to continue testing and trying out new systems and sharing them with the community :)

• Neat! Having just learned the D&D 5e rules, I notice that you have co-discovered the same mechanic that fifth edition uses. You are essentially flipping a coin for "advantage" or "disadvantage" (except for your crit exception; but that sounds justified as it makes the game more fun) Oct 25, 2014 at 9:22
• This is absolutely wonderful, I hope you don't mind me stealing this for my games haha Jan 6, 2018 at 20:45

Alternatively, you can:

1. Roll an odd number of dice (3d20 is easiest).

2. Add the highest and lowest values, and compare the sum to 21.

3. If it's less (than 21), use the lowest value. If it's more (than 21), use the highest value. If it's equal (to 21), see whether the median (middle) value is high or low (1-10 or 11-20) and use the highest or lowest value, respectively.

When using 3 d20s, the distribution from Nex's method turns out to be equivalent to:
"Roll a d4. If it's 1-3 then use a single d20 as usual; if it's a 4 then use my method."

When using 3 d20s, the probabilities for my method,
Soulrift's suggested modification, and Nex's method are:

• First, "highest of the lowest" was a typo which should have read "highest or the lowest". That might have been what got you confused. In any case, for (1,4,20), the highest is 20 and the lowest is 1; these are equally extreme. The median ("middle value", 4 in this case) serves as tiebreaker, since its closer to 1 than 20, use 1. For (15,12,3), the highest is 15 and the lowest is 3. Since 3 is more extreme than 15, use 3. For (16,12,17), the highest is 17 and the lowest is 12. Since 17 is more extreme than 12, use 17. Aug 6, 2012 at 2:11

I like your premise (modifiers should matter less) but I think your hypothesis (an inverse bell curve solves that) to be questionable. I just don't think it would play very well, with extremely low or extremely high values being common, but mid-range results being rare. Such a system could be described as "swingy" and I think would make conflict feel extremely random and arbitrary.

Instead, I propose that your goal might be better met with something approximating a more logarithmic distribution, which can achieved with a very simple "Roll x dice and take the lowest/highest value" system. I think take lowest probably yields the best results. First a few charts of the distribution, then discussion. Here's a chart to demonstrate 1d20 to 5d20, take lowest single die, as accumulated odds of success. In other words "What are the chances I roll an N or higher?"

And this chart shows the same dice, but as "What are my odds of rolling exactly N?"

So as you can see, the more dice you add, the more extreme the curve. I think about 3d20 gives a pretty nice curve without being grossly impractical to wield. 5d20 gives a very smooth and extreme curve, but seems like an awful lot to sort through. (I did calculations for up to 10d20, but cut off at 5 because any more just seems like overkill.)

So how does this address the premise? Well, if you consider the area under the curve of the Exact Odds chart to be a kind of "worth" for how much a +X modifier of that much is, then you can see that as you add further modifiers, there are diminishing returns for each additional +1. The total amount of value remains the same in the system, of course, but that value is front loaded so that the first few bonuses are the most valuable, while the later ones are less so. So if a player had a +20 then that shifts them into a completely different scale from someone with only a +10. This also means that if a person with +2 is fighting a +4, and they both get a +1 additional bonus, the benefit is greater for the +2 owner.

Really, the big issue is that with a limited range, enough modifiers will eventually overwhelm the value of the randomizer (for any die size, even a d% will run out eventually). This is what "Roll and Count" dicepools like in Shadowrun or the Storyteller system attempt to fix. By treating the modifier level as the number of dice rolled, the randomizer grows with the modifiers, becoming ever more random but offering ever loftier possibilities for extreme results.

So a few final thoughts. One thing I like about something like using take low or take high system in place of a flat single die system, aside from the curve, is the possibility to add other kinds of modifiers into the system. Sure, you can standardize on, say, 3d20 Take Lowest Single Die as your system, but there are many tweaks you can make, even based on character stats. Perhaps you vary the number of dice rolled. In a Take Low system, this veers the results downward for the player, but intriguingly increases the value of higher modifiers. One use for that would be to let players take extra risk at the cost of more dice. Power Attack, for example, can be expressed as "Roll an additional d6 of damage for each d20 you add to your roll". No change in the range, so he's still capable of hitting a DC 12 target, but at slightly lower odds.

Another factor you can modify is how many dice to keep. If you let players take the higher of the two lowest dice, that shifts the curve subtly back up. Or you can flip flop under some circumstances, let players keep the highest die they rolled. Lots of interesting little tweaks to play with!

Speaking of, you may not like the general way this system looks, but consider also the reverse: Xd20 Take Highest. Just flip the Exact Odds chart around and you've got it. Now a +1 is comparatively worthless against the extreme modifier the dice adds. But because the dice cap out at 20, each bonus is pushing that character out of the reach of the other characters. In effect, the modifiers become almost all that matters and the dice can only serve to let you down by not rolling extremely high. This is also a good system for imparting a heroic, high action feel to the game. Natural 20s are the most likely single result! But while heroes roll very high most of the time, when they fall short it is going to hurt!

So I don't know if I swayed you towards a Take High/Low system over some kind of inverse bell curve system, but I hope I've given you some things to consider. I think, outside of what I hope the math demonstrates about probabilities and modifier values, you also see the value in a simple mechanic over a complex one. Ultimately roleplaying is about the people, not the dice, and experience has taught me that a simple mechanic with lower handling time tends to be favorable to a clever mechanic that requires many steps to evaluate.

Note: I made a severe error in my math, which I hope I've now corrected. Let me know if anything looks wrong and I'll check it again.

Addition from 2012-08-09: An additional variant mechanic: Roll 3d20 but with 1 of them being distinct. This roll actually gives you 4 different distributions at once, which you can use for different purposes! You can do: take low die (low log curve), take mid die (bell curve), take high die (high log curve), or take distinct die (linear). I've experimented with this for 3d10 and it yields nifty results. One example tweak you could use: the lowest die is your value, but the distinct die is your critical hit check. That gives you the lower curve, but retains the same odds of critical hits as a linear 1d20 roll.

Addition from 2014-10-21: Looking back at this answer, I just thought it interesting to note that D&D 5, currently being released, uses something like the system I describe. D&D has "Advantage" and "Disadvantage," which means to roll 2d20 and take the higher or lower (respectively) die.

• I think you've got the odds backward on this one for some reason: higher bonuses mean lower rolls are needed for the same AC/DC, which means the marginal value of a further bonus goes up as it heads toward the low numbers on the dice more of the time. Switching it around to take highest only would leave most of the analysis the same, but give proper diminishing returns as expected. May 29, 2016 at 1:00

Another technique to make a bowl:

Roll (2d10+10) mod 20.

On the other hand, what you are proposing makes one's abilities far less important, the game is far more one of chance. That doesn't sound like a good idea to me.

Edit: Yes, this is more a V, the more dice you add the more of a bowl you get but I deliberately chose this to keep it from being too steep. Make it too steep and you might as well simply use a coin to resolve everything and not have stats or skills at all.

Since I used an even number of dice it's inevitable that one number will be omitted. Since in the end this is a yes/no system the omission of one number doesn't matter.

• This gives a lopsided inverted V, not an inverted bell curve. 3d6+9 mod 20 gets it closer. Aug 6, 2012 at 8:00
• The general form of this is: "Take a bell curve (ex. sum n d10 and subtract n), add max/2, mod max." More dice gives a better curve (Source is in the comments). Aug 6, 2012 at 14:10
• @AceCalhoon Not true apparently! Modulo arithmetic is normally defined to only produce positive numbers only as a convenience, but mathematically both -X and X are valid remainders after an integer division and different programming languages handle negative remainders in arbitrary ways. And it's 11 that's missing: there's no way to get a remainder of 11 by dividing a number in [12..30] by 20. In any case, this answer doesn't produce anything that looks like an inverted bell curve (which makes sense: 2d10 can't produce even a normal bell). Aug 6, 2012 at 17:56
• @SevenSidedDie Some stats texts (and several gaming texts) refer to the bilear "curve" as a form of bell curve. Technically, any number of dice gives a stepped bell, not a true bell, so it's a matter of how AR one cares to be whether or not the whole discussion is irrelevant. Aug 6, 2012 at 23:25
• Even patching the nasty hole in the middle and shifting the means to come as close to the actual middle of the scale as possible gives a distressingly asymmetrical set of curves. "2d10+9 mod 20 reroll 0s as 2d10-1" is probably the best of these, but is still rather clunky, and is kind of not really bowl-shaped. May 29, 2016 at 0:57

This is a fun one, and there's a lot of different ways to do it. I might take another look later and see if I can come up with more, but here's my first train of thought.

The way I saw this question, you want a bell shaped curve (fairly common) but inverted. Being of a literal turn of mind, I took my favourite bell shaped curve and inverted it. FATE dice (essentaily 4d3-8) usually come up with a very even bell, which I tend to like.

Vertical Axis is percentages, bottom axis is roll value. I'm not very good with excel.

It occurs to me that if you added four to any negative result, and subtracted four from any positive result, you would essentially flip the curve upside down. Well, except for the problem of zero. Doing this, all of the -4s and +4s wind up looking like a zero. That takes all the fun out of it, and puts this ugly spike right in the middle of the graph. Plus, is a natural zero positive or negative? (Mathmaticians please ignore the bait- I meant is it positive or negative with regards to quick dice rolling and whether we add or subtract four.) After a bit of trial and error, I noticed if you treat zero (The most likely roll in FATE) as always negative the problem of the -4s and +4s (the most unlikely roll in FATE) you actually get a pretty nice curve, if I say so myself.

There are probably much more mathmatically sound ways of doing it, (for example, Ricky Demer's answer) and you do get an uneven curve (add another four if you don't want negative numbers) but it's quick and gets close.

• Instead of +/- 4 you should really use +/- 5 for this. That gets you a much more consistent spread and preserves the output range. You still have to deal with 0 specially, but you have to do that anyways. May 17, 2017 at 7:17

Even though you ask for a specific structure, I am wondering if another approach would be even better? If you have ever played Risk 2's Same Time Risk, you will see that modifiers (amount of units) increases the quality of the d12 dice you are given, which has values in the range 1-6, but the lowest quality dice has extra ones and twos, where the highest quality dice has extra fives and sixes. This means, that no matter the modifiers, no one is unbeatable, but the chances of beating a high quality dice with a low quality dice is very low, which, if I understand you correctly, is how you would like it to perform.

• I like this thought, but custom dice tend to be really expensive. Jun 24, 2016 at 3:14
• You could just get different color d12 and have different colors map differently to a 1-6 score. E.g. middle quality maps 1-2 to 1, 3-4 to 2 and so forth, and best quality dice maps 1 to 1, 2 to 2, 3-4 to 3, 5-6 to 4, 7-9 to 5 and 10-12 to 6. That'll make it a lot cheaper at least. Jun 25, 2016 at 12:04
• True, I like it. Jun 25, 2016 at 12:10

### You can use the mechanics of Roll with Emphasis

This mechanic suggests to roll 2 d20s, and take the result furthest from 10. In case of two outcomes that have the same distance from 10, reroll.

The probability of getting the outcome D is given by $$P(D) = \frac{2|D-10|-1}{181}.$$

The plot of such distribution is given in the figure below (left): It is clear that there are 2 drawbacks:

• the value 10 is not achievable
• the distribution favors the values greater than 10

One way to overcome one of the above issues is to take 10.5 instead of 10 in the formula above: this leads anyway to have the value of 10 and 11 with zero probability.

If the shape of the distribution is not "bowl-y" enough, one may increase the number of dice: rolling 3 d20s instead of 2 leads to the following formula: $$P(D) = \frac{\left(2|D-10|-1\right)^2}{2281}.$$

This distribution suffers from the same issues of the one above (see figure below, left panel) and one of them can be corrected by taking 10.5 instead of 10 in the above formula (right panel below).