Dice notation step by step
At the table
Tabletop games write rolls as XdY (X dice, Y sides), sometimes with a bonus or drop lowest. This lesson walks from the smallest form to 4d6dl1 ability scores.
Try it
In the playground, open this lesson in the playground and click Run (or press Shift+Enter). Output lists five distributions in order—one per stage below.
Stage 1: one die (1d4)
↗output("one_d4", 1d4)
1d4— roll one four-sided die (faces 1–4). Same pattern as1d6,1d20, etc.- Omitted count means one die:
d4and1d4are the same idea (the tool expands both).
Mean ≈ 2.5.
Stage 2: add dice (2d6)
↗output("two_d6", 2d6)
2d6— roll two six-sided dice and add them.- Sum of two independent d6 (same idea as lesson 2); the engine expands this to
dice_pool(2, 6)and then sums. For pools you keep separate, see lesson 6.
Mean ≈ 7.
Stage 3: flat bonus (2d6 + 3)
↗output("two_d6_plus_3", 2d6 + 3)
+ 3adds 3 to every total on the roll—like a fixed stat bonus on the sum (lesson 3).- Equivalent to
shift(2d6, 3)when you already have aDieRollin a variable.
Mean ≈ 10 (7 + 3).
Stage 4: many dice (4d6)
↗output("four_d6", 4d6)
4d6— roll four d6 and sum all of them (no drops).
Mean ≈ 14 (four times the mean of one d6).
Stage 5: drop lowest (4d6dl1)
↗output("four_d6dl1", 4d6dl1)
dl1— drop lowest 1 die before summing (classic ability-score roll).- The tool expands this to
drop_lowest(4, 6, 1). 4d6dl2would drop the two lowest;3d6dl1is three dice drop one—samedlNpattern.
Mean ≈ 12.24 (higher than straight 4d6 because the worst die never counts).
Stage 6: drop highest (4d6dh1)
↗output("four_d6dh1", 4d6dh1)
dh1— drop highest 1 die, then sum the rest (the opposite ofdl1).- Expands to
drop_highest(4, 6, 1).
Mean ≈ 8.76.
Stage 7: keep highest N (4d6kh2)
↗output("four_d6kh2", 4d6kh2)
kh2— roll four d6, keep the highest 2, sum only those (advantage-style “best two”).- Expands to
keep_highest(4, 6, 2). Not the same asdl2(which drops two lows and sums the other two dice).
Mean ≈ 9.34.
Stage 8: keep lowest N (3d12kl1)
↗output("three_d12kl1", 3d12kl1)
kl1— keep the lowest 1 die and sum it (here, just that single die).- Expands to
keep_lowest(3, 12, 1).
Mean ≈ 3.52 (average of the minimum of three d12).
Suffix cheat sheet
| Suffix | Meaning | Function |
|---|---|---|
dlN | Drop lowest N, sum the rest | drop_lowest |
dhN | Drop highest N, sum the rest | drop_highest |
khN | Keep highest N, sum those | keep_highest |
klN | Keep lowest N, sum those | keep_lowest |
Reading the result
Eight named outputs in the sample script, each with mean and a probability table (or truncated table for large supports).
Try this
- Change
1d4to a die your game uses (1d8,1d12). - Compare
2d6 + 3andshift(2d6, 3)—means should match. - Try
4d6kh3vs4d6dl1—both sum three dice, but different sets of faces count.
one_d4 · DieRoll · mean 2.500
| outcome | % | frac | X/36 |
|---|---|---|---|
| 1 | 25.0 | 1/4 | 9 |
| 2 | 25.0 | 1/4 | 9 |
| 3 | 25.0 | 1/4 | 9 |
| 4 | 25.0 | 1/4 | 9 |
two_d6 · DieRoll · mean 7.000
| outcome | % | frac | X/36 |
|---|---|---|---|
| 2 | 2.78 | 1/36 | 1 |
| 3 | 5.56 | 1/18 | 2 |
| 4 | 8.33 | 1/12 | 3 |
| 5 | 11.1 | 1/9 | 4 |
| 6 | 13.9 | 5/36 | 5 |
| 7 | 16.7 | 1/6 | 6 |
| 8 | 13.9 | 5/36 | 5 |
| 9 | 11.1 | 1/9 | 4 |
| 10 | 8.33 | 1/12 | 3 |
| 11 | 5.56 | 1/18 | 2 |
| 12 | 2.78 | 1/36 | 1 |
two_d6_plus_3 · DieRoll · mean 10.000
| outcome | % | frac | X/36 |
|---|---|---|---|
| 5 | 2.78 | 1/36 | 1 |
| 6 | 5.56 | 1/18 | 2 |
| 7 | 8.33 | 1/12 | 3 |
| 8 | 11.1 | 1/9 | 4 |
| 9 | 13.9 | 5/36 | 5 |
| 10 | 16.7 | 1/6 | 6 |
| 11 | 13.9 | 5/36 | 5 |
| 12 | 11.1 | 1/9 | 4 |
| 13 | 8.33 | 1/12 | 3 |
| 14 | 5.56 | 1/18 | 2 |
| 15 | 2.78 | 1/36 | 1 |
four_d6 · DieRoll · mean 14.000
| outcome | % | frac | X/36 |
|---|---|---|---|
| 4 | 0.08 | 1/1295 | 0 |
| 5 | 0.31 | 1/324 | 0 |
| 6 | 0.77 | 5/648 | 0 |
| 7 | 1.54 | 5/324 | 1 |
| 8 | 2.70 | 34/1259 | 1 |
| 9 | 4.32 | 7/162 | 2 |
| 10 | 6.17 | 5/81 | 2 |
| 11 | 8.02 | 13/162 | 3 |
| 12 | 9.65 | 106/1099 | 3 |
| 13 | 10.8 | 35/324 | 4 |
| 14 | 11.3 | 73/648 | 4 |
| 15 | 10.8 | 35/324 | 4 |
| 16 | 9.65 | 106/1099 | 3 |
| 17 | 8.02 | 13/162 | 3 |
| 18 | 6.17 | 5/81 | 2 |
| 19 | 4.32 | 7/162 | 2 |
| 20 | 2.70 | 34/1259 | 1 |
| 21 | 1.54 | 5/324 | 1 |
| 22 | 0.77 | 5/648 | 0 |
| 23 | 0.31 | 1/324 | 0 |
| 24 | 0.08 | 1/1295 | 0 |
four_d6dl1 · DieRoll · mean 12.245
| outcome | % | frac | X/36 |
|---|---|---|---|
| 3 | 0.08 | 1/1295 | 0 |
| 4 | 0.31 | 1/324 | 0 |
| 5 | 0.77 | 5/648 | 0 |
| 6 | 1.62 | 7/432 | 1 |
| 7 | 2.93 | 19/648 | 1 |
| 8 | 4.78 | 31/648 | 2 |
| 9 | 7.02 | 62/883 | 3 |
| 10 | 9.41 | 61/648 | 3 |
| 11 | 11.4 | 37/324 | 4 |
| 12 | 12.9 | 167/1296 | 5 |
| 13 | 13.3 | 43/324 | 5 |
| 14 | 12.3 | 10/81 | 4 |
| 15 | 10.1 | 103/1019 | 4 |
| 16 | 7.25 | 47/648 | 3 |
| 17 | 4.17 | 1/24 | 2 |
| 18 | 1.62 | 7/432 | 1 |
four_d6dh1 · DieRoll · mean 8.755
| outcome | % | frac | X/36 |
|---|---|---|---|
| 3 | 1.62 | 7/432 | 1 |
| 4 | 4.17 | 1/24 | 2 |
| 5 | 7.25 | 47/648 | 3 |
| 6 | 10.1 | 103/1019 | 4 |
| 7 | 12.3 | 10/81 | 4 |
| 8 | 13.3 | 43/324 | 5 |
| 9 | 12.9 | 167/1296 | 5 |
| 10 | 11.4 | 37/324 | 4 |
| 11 | 9.41 | 61/648 | 3 |
| 12 | 7.02 | 62/883 | 3 |
| 13 | 4.78 | 31/648 | 2 |
| 14 | 2.93 | 19/648 | 1 |
| 15 | 1.62 | 7/432 | 1 |
| 16 | 0.77 | 5/648 | 0 |
| 17 | 0.31 | 1/324 | 0 |
| 18 | 0.08 | 1/1295 | 0 |
four_d6kh2 · DieRoll · mean 9.344
| outcome | % | frac | X/36 |
|---|---|---|---|
| 2 | 0.08 | 1/1295 | 0 |
| 3 | 0.31 | 1/324 | 0 |
| 4 | 1.16 | 5/432 | 0 |
| 5 | 2.47 | 2/81 | 1 |
| 6 | 5.02 | 49/977 | 2 |
| 7 | 8.33 | 1/12 | 3 |
| 8 | 13.2 | 19/144 | 5 |
| 9 | 17.3 | 14/81 | 6 |
| 10 | 20.1 | 29/144 | 7 |
| 11 | 18.8 | 61/324 | 7 |
| 12 | 13.2 | 19/144 | 5 |
three_d12kl1 · DieRoll · mean 3.521
| outcome | % | frac | X/36 |
|---|---|---|---|
| 1 | 23.0 | 190/827 | 8 |
| 2 | 19.2 | 263/1373 | 7 |
| 3 | 15.7 | 93/593 | 6 |
| 4 | 12.6 | 163/1298 | 5 |
| 5 | 9.78 | 129/1319 | 4 |
| 6 | 7.35 | 94/1279 | 3 |
| 7 | 5.27 | 89/1690 | 2 |
| 8 | 3.53 | 55/1558 | 1 |
| 9 | 2.14 | 27/1261 | 1 |
| 10 | 1.10 | 17/1546 | 0 |
| 11 | 0.41 | 5/1234 | 0 |
| 12 | 0.06 | 1/1726 | 0 |