Calculating Dice Odds
Posted: Fri Dec 05, 2025 9:19 pm
As much as possible, I like a method of generating random numbers to be as transparent as possible - Game Designers should know how probable results are when creating challenges so they're appropriately challenging. Likewise, it's good to evaluate whether success rates are appropriate for the variety of situations you face.
There are lots of different dice systems, and most of them are fairly straightforward to, if nothing else, build a table of results using AnyDice or other tools.
I'm having trouble making those tools work for me.
In Savage Worlds, you have a Skill die that can be represented by any size die (d4, d6, d8, etc). You also have a Wild die (always a d6). These dice also explode.
It's easy enough to determine expected values by determining each die individually against a target number. For example, if you roll 1d6 your odds of getting a 5+ (5 or 6) are 33.33%. Your odds of getting a 5+ when rolling TWO dice are 100% minus your chance of failing on both dice. Your chance of failure on the first die times your chance of failure on the second die (67.66% x 67.66% = 45%). Thus your chance of succeeding at least once is 55%.
I've expanded 'the Wild Die' to see what would happen with every combination from d4+d4 to d12+d12 - all relatively straightforward with exploding dice.
Where I'm running into trouble is I want to look at an Advantage/Disadvantage mechanic. Normally if you use '2d6' as an expression, those numbers are combined. You could potentially use 'count' for successes (but it would be more useful for me to see the odds of 'at least' on every number). There's also not an easy way to take three different sized dice and take the lowest two.
For Example, I want: Lowest 2 results (not added) of [Exploding] 1d8, 1d8, and 1d12.
Ideally I would take the formula for that and then run it for the other variations like 1d10, 1d8, 1d4.
Anyone have ideas on how to crunch those numbers quickly?
Thanks!
There are lots of different dice systems, and most of them are fairly straightforward to, if nothing else, build a table of results using AnyDice or other tools.
I'm having trouble making those tools work for me.
In Savage Worlds, you have a Skill die that can be represented by any size die (d4, d6, d8, etc). You also have a Wild die (always a d6). These dice also explode.
It's easy enough to determine expected values by determining each die individually against a target number. For example, if you roll 1d6 your odds of getting a 5+ (5 or 6) are 33.33%. Your odds of getting a 5+ when rolling TWO dice are 100% minus your chance of failing on both dice. Your chance of failure on the first die times your chance of failure on the second die (67.66% x 67.66% = 45%). Thus your chance of succeeding at least once is 55%.
I've expanded 'the Wild Die' to see what would happen with every combination from d4+d4 to d12+d12 - all relatively straightforward with exploding dice.
Where I'm running into trouble is I want to look at an Advantage/Disadvantage mechanic. Normally if you use '2d6' as an expression, those numbers are combined. You could potentially use 'count' for successes (but it would be more useful for me to see the odds of 'at least' on every number). There's also not an easy way to take three different sized dice and take the lowest two.
For Example, I want: Lowest 2 results (not added) of [Exploding] 1d8, 1d8, and 1d12.
Ideally I would take the formula for that and then run it for the other variations like 1d10, 1d8, 1d4.
Anyone have ideas on how to crunch those numbers quickly?
Thanks!