PDA

View Full Version : Dice Roll Probabilities



Ellye
2009-09-11, 11:19 PM
While trying to decide what kind of dice to use in my own RPG system, I've put together a quick probability table for rolls in multiple die. Since it might be useful to someone else perhaps, I decided that there's no harm in posting it here.

First column is the target number, second column is the probability of getting exact that number and third column is the probability of getting a number equal to or lower than that number.

====================
2D4 2D4 2D4 2D4
====================
{table=head]Roll|==|<=
2|6.25|6.25
3|12.5|18.75
4|18.75|37.5
5|25|62.5
6|18.75|81.25
7|12.5|93.75
8|6.25|100[/table]
UNIQUE ROLLS: 16

====================
2D6 2D6 2D6 2D6
====================
{table=head]Roll|==|<=
2|2.77778|2.77778
3|5.55556|8.33333
4|8.33333|16.6667
5|11.1111|27.7778
6|13.8889|41.6667
7|16.6667|58.3333
8|13.8889|72.2222
9|11.1111|83.3333
10|8.33333|91.6667
11|5.55556|97.2222
12|2.77778|100[/table]
UNIQUE ROLLS: 36

====================
2D8 2D8 2D8 2D8
====================
{table=head]Roll|==|<=
2|1.5625|1.5625
3|3.125|4.6875
4|4.6875|9.375
5|6.25|15.625
6|7.8125|23.4375
7|9.375|32.8125
8|10.9375|43.75
9|12.5|56.25
10|10.9375|67.1875
11|9.375|76.5625
12|7.8125|84.375
13|6.25|90.625
14|4.6875|95.3125
15|3.125|98.4375
16|1.5625|100[/table]
UNIQUE ROLLS: 64

====================
2D10 2D10 2D10 2D10
====================
{table=head]Roll|==|<=
2|1|1
3|2|3
4|3|6
5|4|10
6|5|15
7|6|21
8|7|28
9|8|36
10|9|45
11|10|55
12|9|64
13|8|72
14|7|79
15|6|85
16|5|90
17|4|94
18|3|97
19|2|99
20|1|100[/table]
UNIQUE ROLLS: 100

====================
2D12 2D12 2D12 2D12
====================
{table=head]Roll|==|<=
2|0.694444|0.694444
3|1.38889|2.08333
4|2.08333|4.16667
5|2.77778|6.94444
6|3.47222|10.4167
7|4.16667|14.5833
8|4.86111|19.4444
9|5.55556|25
10|6.25|31.25
11|6.94444|38.1944
12|7.63889|45.8333
13|8.33333|54.1667
14|7.63889|61.8056
15|6.94444|68.75
16|6.25|75
17|5.55556|80.5556
18|4.86111|85.4167
19|4.16667|89.5833
20|3.47222|93.0556
21|2.77778|95.8333
22|2.08333|97.9167
23|1.38889|99.3056
24|0.694444|100[/table]
UNIQUE ROLLS: 144

====================
2D20 2D20 2D20 2D20
====================
{table=head]Roll|==|<=
2|0.25|0.25
3|0.5|0.75
4|0.75|1.5
5|1|2.5
6|1.25|3.75
7|1.5|5.25
8|1.75|7
9|2|9
10|2.25|11.25
11|2.5|13.75
12|2.75|16.5
13|3|19.5
14|3.25|22.75
15|3.5|26.25
16|3.75|30
17|4|34
18|4.25|38.25
19|4.5|42.75
20|4.75|47.5
21|5|52.5
22|4.75|57.25
23|4.5|61.75
24|4.25|66
25|4|70
26|3.75|73.75
27|3.5|77.25
28|3.25|80.5
29|3|83.5
30|2.75|86.25
31|2.5|88.75
32|2.25|91
33|2|93
34|1.75|94.75
35|1.5|96.25
36|1.25|97.5
37|1|98.5
38|0.75|99.25
39|0.5|99.75
40|0.25|100[/table]
UNIQUE ROLLS: 400

====================
3D4 3D4 3D4 3D4 3D4
====================
{table=head]Roll|==|<=
3|1.5625|1.5625
4|4.6875|6.25
5|9.375|15.625
6|15.625|31.25
7|18.75|50
8|18.75|68.75
9|15.625|84.375
10|9.375|93.75
11|4.6875|98.4375
12|1.5625|100[/table]
UNIQUE ROLLS: 64

====================
3D6 3D6 3D6 3D6 3D6
====================
{table=head]Roll|==|<=
3|0.462963|0.462963
4|1.38889|1.85185
5|2.77778|4.62963
6|4.62963|9.25926
7|6.94444|16.2037
8|9.72222|25.9259
9|11.5741|37.5
10|12.5|50
11|12.5|62.5
12|11.5741|74.0741
13|9.72222|83.7963
14|6.94444|90.7407
15|4.62963|95.3704
16|2.77778|98.1481
17|1.38889|99.537
18|0.462963|100[/table]
UNIQUE ROLLS: 216

====================
3D8 3D8 3D8 3D8 3D8
====================
{table=head]Roll|==|<=
3|0.195313|0.195313
4|0.585938|0.78125
5|1.17188|1.95313
6|1.95313|3.90625
7|2.92969|6.83594
8|4.10156|10.9375
9|5.46875|16.4063
10|7.03125|23.4375
11|8.20313|31.6406
12|8.98438|40.625
13|9.375|50
14|9.375|59.375
15|8.98438|68.3594
16|8.20313|76.5625
17|7.03125|83.5938
18|5.46875|89.0625
19|4.10156|93.1641
20|2.92969|96.0938
21|1.95313|98.0469
22|1.17188|99.2188
23|0.585938|99.8047
24|0.195313|100[/table]
UNIQUE ROLLS: 512

====================
3D10 3D10 3D10 3D10
====================
{table=head]Roll|==|<=
3|0.1|0.1
4|0.3|0.4
5|0.6|1
6|1|2
7|1.5|3.5
8|2.1|5.6
9|2.8|8.4
10|3.6|12
11|4.5|16.5
12|5.5|22
13|6.3|28.3
14|6.9|35.2
15|7.3|42.5
16|7.5|50
17|7.5|57.5
18|7.3|64.8
19|6.9|71.7
20|6.3|78
21|5.5|83.5
22|4.5|88
23|3.6|91.6
24|2.8|94.4
25|2.1|96.5
26|1.5|98
27|1|99
28|0.6|99.6
29|0.3|99.9
30|0.1|100[/table]
UNIQUE ROLLS: 1000

====================
3D12 3D12 3D12 3D12
====================
{table=head]Roll|==|<=
3|0.0578704|0.0578704
4|0.173611|0.231481
5|0.347222|0.578704
6|0.578704|1.15741
7|0.868056|2.02546
8|1.21528|3.24074
9|1.62037|4.86111
10|2.08333|6.94444
11|2.60417|9.54861
12|3.18287|12.7315
13|3.81944|16.5509
14|4.51389|21.0648
15|5.09259|26.1574
16|5.55556|31.713
17|5.90278|37.6157
18|6.13426|43.75
19|6.25|50
20|6.25|56.25
21|6.13426|62.3843
22|5.90278|68.287
23|5.55556|73.8426
24|5.09259|78.9352
25|4.51389|83.4491
26|3.81944|87.2685
27|3.18287|90.4514
28|2.60417|93.0556
29|2.08333|95.1389
30|1.62037|96.7593
31|1.21528|97.9745
32|0.868056|98.8426
33|0.578704|99.4213
34|0.347222|99.7685
35|0.173611|99.9421
36|0.0578704|100[/table]
UNIQUE ROLLS: 1728

====================
3D20 3D20 3D20 3D20 3D20
====================
{table=head]Roll|==|<=
3|0.0125|0.0125
4|0.0375|0.05
5|0.075|0.125
6|0.125|0.25
7|0.1875|0.4375
8|0.2625|0.7
9|0.35|1.05
10|0.45|1.5
11|0.5625|2.0625
12|0.6875|2.75
13|0.825|3.575
14|0.975|4.55
15|1.1375|5.6875
16|1.3125|7
17|1.5|8.5
18|1.7|10.2
19|1.9125|12.1125
20|2.1375|14.25
21|2.375|16.625
22|2.625|19.25
23|2.85|22.1
24|3.05|25.15
25|3.225|28.375
26|3.375|31.75
27|3.5|35.25
28|3.6|38.85
29|3.675|42.525
30|3.725|46.25
31|3.75|50
32|3.75|53.75
33|3.725|57.475
34|3.675|61.15
35|3.6|64.75
36|3.5|68.25
37|3.375|71.625
38|3.225|74.85
39|3.05|77.9
40|2.85|80.75
41|2.625|83.375
42|2.375|85.75
43|2.1375|87.8875
44|1.9125|89.8
45|1.7|91.5
46|1.5|93
47|1.3125|94.3125
48|1.1375|95.45
49|0.975|96.425
50|0.825|97.25
51|0.6875|97.9375
52|0.5625|98.5
53|0.45|98.95
54|0.35|99.3
55|0.2625|99.5625
56|0.1875|99.75
57|0.125|99.875
58|0.075|99.95
59|0.0375|99.9875
60|0.0125|100[/table]
UNIQUE ROLLS: 8000

DragoonWraith
2009-09-11, 11:27 PM
Use a Table to set this up nicely, for example:

2d4
{table=head]Roll | Probability, Equal To | Prob., Less Than or Equal To
2 | 6.25 | 6.25
3 | 12.5 | 18.75
4 | 18.75 | 37.5
5 | 25 | 62.5
6 | 18.75 | 81.25
7 | 12.5 | 93.75
8 | 6.25 | 100[/table]
Will make it much easier to read.

Ellye
2009-09-11, 11:34 PM
Done. :)
ten characters

DragoonWraith
2009-09-11, 11:38 PM
Oh, I just finished doing it for you, was going to give it to you to save you the trouble (for I know the secrets of RegEx; though from the speed at which you accomplished that, I suspect you do too).

My version's got the nice headers I put in my post, if you want it. Let me know, I'll PM it to you.

EDIT: Yours has headers, plus ones that look better than mine. I'm just going to stop and say Good Job! Hehehe.

Ellye
2009-09-11, 11:52 PM
Thanks! And yeah, never underestimate the power of regular expressions!
http://xkcd.com/208/

Doc Roc
2009-09-11, 11:53 PM
I considered posting that, but I well and truly abhor perl, favoring python. So I figured I'd just wait. :)

DragoonWraith
2009-09-12, 12:00 AM
Perl requires you to escape a space? Ouch.

I use Notepad++ for it, mostly. And I, too, was thinking of that comic.

On a related note, does anyone know of a Firefox extension that allows RegEx Search & Replace for text area boxes within the browser? Copying stuff out, pasting it into Notepad++, RegEx'ing it, and copying and pasting it back is kind of annoying.

Doc Roc
2009-09-12, 12:01 AM
Perl thinks that you should escape everything. Except perl. You can never escape perl.

Gralamin
2009-09-12, 12:07 PM
Perl requires you to escape a space? Ouch.

I use Notepad++ for it, mostly. And I, too, was thinking of that comic.

On a related note, does anyone know of a Firefox extension that allows RegEx Search & Replace for text area boxes within the browser? Copying stuff out, pasting it into Notepad++, RegEx'ing it, and copying and pasting it back is kind of annoying.

Unfortunatly no. And If I had found this earlier I would of just done RegEx in Bash.


Anyway, on topic: You may also want to calculate Dicepool and Exploding Probabilities. Dice Pool is a common alternative to rolling dice + Mods, and Exploding dice are used every so often (usually: Roll max = Roll again and add result. So 1d10e that rolls 10 and then 5 gets 15). They can be a bit tricky to calculate with math, but pretty easy to program in a million to 10 million rolls, taking the average :smallwink:.

Siosilvar
2009-09-12, 12:25 PM
Anyway, on topic: You may also want to calculate Dicepool and Exploding Probabilities. Dice Pool is a common alternative to rolling dice + Mods, and Exploding dice are used every so often (usually: Roll max = Roll again and add result. So 1d10e that rolls 10 and then 5 gets 15). They can be a bit tricky to calculate with math, but pretty easy to program in a million to 10 million rolls, taking the average :smallwink:.

The average of an exploding d10 is easy.

1d10e

Avg. 5.5 + .55 + .055 etc. Average comes out to 6 and 1/9.

d6e is similar.

3.5 + (1/6 * 3.5) + (1/36 * 3.5) etc.

Gralamin
2009-09-12, 01:37 PM
The average of an exploding d10 is easy.

1d10e

Avg. 5.5 + .55 + .055 etc. Average comes out to 6 and 1/9.

d6e is similar.

3.5 + (1/6 * 3.5) + (1/36 * 3.5) etc.

Of an Add them up d10, yes.
But if you have a success and Explosion based die, (Like 1d10s8e) Then its a bit more difficult. (I think it works out to something like 1/3 successes per Die Roll).

Lets see... that'd be:
1,2,3,4,5,6,7 = No Success, so 70% chance of no success
Thus, 20% chance of Success, and 10% chance of success + new roll.
Continue the infinite recursion and it comes out to 3/10 + 3/100 + 3/1000 + 3/10^n
So 3 * (sum to infinity starting at i = 1) of 10^(-i). This obviously converges, but It's been way too long since I did infinite sums so I can't show a mathmatically accurate way of it, but looks like it ends up as 3 * 1/9 = 1/3.

Edit: Oh right, of course.
Add 3 to both sides. Then s+3 = 3*(sum to infinity starting at i = 0) of 10^(-i). This is geometric and lets us use a/(1-r), where a = 1, r = 1/10. So s+3 = 3* 10/9, which means S+3 = 10/3, subtract the 3, you have 1/3.

Edit2: Note that, Exploding on a 9 or 8 here makes it more complicated
If you explode on a 9:
10% Chance of success, 20% chance of a new roll: 3/10 + 6/100 + 12/1000 + ... + 3*2^(n-1) / 10^n.

s = 3 * (Sum to infinity starting at i = 1) of 2^(i-1) / 10^i
This is a lot harder to solve. I don't remember how to do this, but a quick computer program saids it should come out to ~0.374913

For Explode 8:
30% chance of a new roll: 3/10 + 9/100 + 27/1000 + ... + 3^n / 10^n

s = (Sum of infinity starting at i = 1) of 3^i / 10^i
Also difficult to solve. Program from before saids about ~0.428103 is the answer.

Ellye
2009-09-12, 04:43 PM
Personally, I was avoiding dice pools in the style of system that I'm working on. I may add the related probabilities to the this thread soon, though. Same for exploding dice. :)
And I may add a ">=" column to make it more practical too.

Eloel
2009-09-12, 05:10 PM
Can we also get 4d6b3 and 5d6b3? Please? :p

Ellye
2009-09-12, 11:01 PM
Can we also get 4d6b3 and 5d6b3? Please? :pSure!

4d6b3 (roll 4d6, pick 3 best results)
{table=head]Roll | == | >=
3|0.0771605|100
4|0.308642|99.9228
5|0.771605|99.6142
6|1.62037|98.8426
7|2.9321|97.2222
8|4.78395|94.2901
9|7.02161|89.5062
10|9.41358|82.4846
11|11.4198|73.071
12|12.8858|61.6512
13|13.2716|48.7654
14|12.3457|35.4938
15|10.108|23.1481
16|7.25309|13.0401
17|4.16667|5.78704
18|1.62037|1.62037
[/table]

5d6b3 (roll 5d6, pick 3 best results)
{table=head]Roll | == | >=
3|0.0128601|100
4|0.0643004|99.9871
5|0.192901|99.9228
6|0.527263|99.7299
7|1.15741|99.2027
8|2.18621|98.0453
9|3.80658|95.8591
10|6.04424|92.0525
11|8.55195|86.0082
12|11.3297|77.4563
13|13.5674|66.1265
14|14.8534|52.5592
15|14.2876|37.7058
16|12.0242|23.4182
17|7.84465|11.394
18|3.54938|3.54938
[/table]