TTRPG Probability Simulations

Basic Probability Results

Rolling two d6 and taking the sum gives the following probabilities for each sum.

sums prob
2 0.0277778
3 0.0555556
4 0.0833333
5 0.1111111
6 0.1388889
7 0.1666667
8 0.1388889
9 0.1111111
10 0.0833333
11 0.0555556
12 0.0277778

Note that these probabilities are symmetric about 7, as illustrated in the bar chart below.

Opposed Rolls with Ties to Player

In this section, we consider the different scenarios under the condition that during opposed rolls, the tie is won by the player. The tables below are generated by simulated on million opposed rolls.

The table below shows the proportion of opposed rolls won by the player and lost by the player for different numbers of tokens used.

tokens Player_prop Opposed_prop
-4 0.159042 0.840958
-3 0.238787 0.761213
-2 0.334674 0.665326
-1 0.442592 0.557408
0 0.556686 0.443314
1 0.663157 0.336843
2 0.761030 0.238970
3 0.840639 0.159361
4 0.902402 0.097598
5 0.945730 0.054270
6 0.972859 0.027141

The amount of damage caused by an attack roll depends on difference of the player’s roll and the opposed roll. In general, the larger the difference, the more damage done. The tables below show the probabilities of each damage value for several different binning methods. The methods are described below, with the difference (\(\Delta\)) of the rolls shown in parentheses.

  • Method A: (\(\Delta< 0\)) 0 damage; (\(0\le \Delta \le 3\)) 1 damage; (\(4\le \Delta \le 7\)) 2 damage; (\(8\le \Delta\)) 3 damage
  • Method B: (\(\Delta< 0\)) 0 damage; (\(0\le \Delta \le 4\)) 1 damage; (\(5\le \Delta \le 8\)) 2 damage; (\(9\le \Delta\)) 3 damage
  • Method C: (\(\Delta< 0\)) 0 damage; (\(0\le \Delta \le 5\)) 1 damage; (\(6\le \Delta \le 9\)) 2 damage; (\(10\le \Delta\)) 3 damage
  • Method D: (\(\Delta< 0\)) 0 damage; (\(0\le \Delta \le 6\)) 1 damage; (\(7\le \Delta \le 10\)) 2 damage; (\(11\le \Delta\)) 3 damage
  • Method E: (\(\Delta< 0\)) 0 damage; (\(0\le \Delta \le 7\)) 1 damage; (\(8\le \Delta \le 11\)) 2 damage; (\(12\le \Delta\)) 3 damage

Note that Methods D and E require that tokens be used to achieve 3 damage, unless if “negative” tokens are used for the opposed rolls. In the table below, the values for Method D were simulated with one token added and the values for Method E simulated with two tokens added. If more tokens are added to the player roll, the probabilities of all positive damages are increased and the probabilities for zero damage are decreased.

damage method_A method_B method_C method_D method_E
0 0.444615 0.444615 0.444615 0.336523 0.240203
1 0.396661 0.458235 0.501419 0.609511 0.705831
2 0.147118 0.093237 0.053138 0.053138 0.053138
3 0.011606 0.003913 0.000828 0.000828 0.000828

The table above can also be used for the support action. One possibility is using the exact same method for both the attack and support actions. This makes the support action equivalent in added damage to a separate attack action. On the other hand, if you want to make the support action weaker, choose a different method. For example, using Method A for the attack and Method B for the support action. In this example, rolling a difference of 4 gives a \(+2\) attack while rolling a difference of 4 would give a \(+1\) support.

Yellow Dice

Option 1

The first option for yellow dice is to swap up to one of them with an ally’s die. For example, if your ally rolls a 2 and a 6, and you roll a 1 and a 5, you could swap your 5 for your ally’s 2. This would give your ally a sum of 11 instead of a sum of 8. As another example, if your rolls were a 1 and a 2, then swapping would have no effect on your ally’s roll.

The table below shows the simulated outcomes with one million rolls of your dice and your ally’s dice. The difference variable is the difference between your ally’s swapped dice sum and their original sum. Note that a difference of zero occurs when your swapping has no change or when your swap would make your ally’s sum lower (in which case you would just choose to not swap). These simulations were done with no tokens.

differences Freq
0 0.2323565
1 0.1581201
2 0.1820379
3 0.1814126
4 0.1526772
5 0.0933957

Option 2

Another option for dealing with yellow dice is to allow you to swap up to two of your yellow dice with an ally’s dice. Thus, in addition to the case described in Option 1 above, if your ally rolls a 1 and a 2 and you roll a 4 and a 6, you could swap both of your dice for your ally’s, giving them a sum of 10 instead of 3. We simulate the outcomes of this strategy in a similar way to Option 1.

differences2 Freq
0 0.2320903
1 0.1544297
2 0.1706400
3 0.1634793
4 0.1357969
5 0.0894907
6 0.0270559
7 0.0154266
8 0.0077282
9 0.0031049
10 0.0007575

Option 3

A third option would allow a player rolling yellow dice to split up their dice across two allies in the most advantageous way possible. For example, if the player rolled a 3 and a 6, ally A rolled a 4 and a 5, and ally B rolled a 1 and a 2, the player would give their 6 to ally A and their 3 to ally B. The table below shows the probabilities of the difference in the unmodified and modified rolls for both ally A and ally B. We will use the convention that ally A has the larger maximum roll of the two allies, with the minimum roll being the tie breaker.

Option 3a

There are several strategies by which the two player dice could be distributed to ally A and ally B. In this option, we consider the case where the larger of the player’s dice is swapped for ally A’s smaller die, as long as that results in a larger sum for ally A. Ally B is then given the smaller of the player’s dice, as long as that gives them a larger sum. The differences presented below are the differences in the allies’ roll sums after swapping compared to no swapping.

Difference A B
0 0.321662 0.522937
1 0.178187 0.194459
2 0.179299 0.139182
3 0.154155 0.088096
4 0.110025 0.043477
5 0.056672 0.011849

Opposed Rolls with Ties Separate

In this section, we consider the different scenarios under the condition that during opposed rolls, the tie is not won by the player. Rather, the tie is treated as a third condition.