Atomic Highway is a game system that uses pools of 6-sided dice to determine player successes. I'm trying to write a probability calculator for this system but have hit a snag. The rules are as follows:

  1. You roll 1-5 6-sided dice, counting dice that result in 6 as successes.
  2. Reroll the dice that rolled as a 6, keep rerolling 6es until you have no more 6es. Add the new 6es to the successes.
  3. You get 0-5 bonus points you can divide as you want among the dice that didn't result in 6es on the first roll. If you manage to bump up one or more dice results to 6 with this, add those to successes.
  4. If your total successes is equal to or higher than a treshold, the player succeeds.

I originally found a reddit thread describing a process to calculate the odds of success (thread here) and managed to program this process, but unfortunately the odds they achieve with their method are way off.
Specifically, they claim when rolling 3 dice with 2 bonus points and needing at least 2 successes, you have a 71% chance of succeeding. The rulebook however provides a table with the success chances and cites a 41% chance of success in this case. I simulated 1 million of these dice rolls and averaged the results, coming out at about 37-38% success rate.
Clearly the reddit method is wrong, and I've unfortunately not found alternatives. Can anyone here find where the reddit method goes wrong and explain how you should calculate this for a more accurate result? Thank you in advance!

  • $\begingroup$ The description on the reddit thread differs from what you wrote: 1) If you reroll an in itial 6 and get a 6 again, this is in the reddit thread not described as counting success (maybe an omission) 2) The reddit thread allows adding bonus points to non-6 values that are rerolled initial sixes (the $5$ in the example), which you explicitly forbid. Please check that the rules you describe are really what you want. $\endgroup$
    – Ingix
    Jun 19, 2019 at 14:21
  • $\begingroup$ The rerolls being counted is indeed an omission within the thread, and the game rules explicitly state you cannot add bonus points to dice that were the result of a reroll. The calculation in the thread does count extra 6es as successes, but does indeed add the bonus points to all dice. In my implementation I took care to avoid that and only use the original "failed" dice, but still got a result of 69% chance. $\endgroup$ Jun 19, 2019 at 14:36
  • $\begingroup$ FWIW, my quick-and-dirty simulation matches your results. $\endgroup$
    – amd
    Jun 19, 2019 at 19:22

1 Answer 1


The basic approach in that thread of working through a probability tree is sound, but the computed values are off. The computation goes south quite early in fact. Following the “rolled only one 6 initially” branch, the probability increment for getting another six on the reroll is only $\frac{75}{216}\cdot\frac16 = \frac{75}{1296}$. This isn’t off by very much, but the probability for the last branch is way off: this is the case in which there were no sixes rolled, there is exactly one five and at least one four. The correct value is $\frac{125}{216}\cdot\frac{48}{125}\cdot\left(1-\frac9{16}\right) = \frac7{72}$, which is less than half the value given in the post and changes the final value by quite a bit.

All told, the correct probability of at least two successes with three dice and three bonus points is $\frac{121}{216} \approx 56\%$, much lower than the claimed $71\%$. This number matches my quick-and-dirty simulation.

More generally, since there are two quite different ways to generate successes, it makes sense to compute probabilities for them separately and then combine them. The first comes from rolling sixes, whether initially or on rerolls. The number of sixes in the initial roll is governed by the binomial distribution. It shouldn’t be too hard to develop a formula for the PDF for the number of additional successes produced by rerolls. I would tackle this with generating functions.

That’s the easy part. For each of the ways in which not enough sixes were rolled, you’ll have a success deficit $s$ and a number $b$ of bonus points and remaining dice $d$ to make up this deficit. If $d\lt s$ or $b\lt s$ then you’re done—there’s no way to make up the deficit. Otherwise, you’ll need to go through a similar case analysis to the one in that thread. A systematic way to approach this might be to go through the partitions of the $b$ bonus points available into $s$ summands and work out the winning (or perhaps easier in many cases, losing) combinations of rolls for each.

  • $\begingroup$ Hey, thanks for the in-depth reply! Guess I'll have to take another look at my process then, glad to hear the idea behind it is sound though. I did catch the error in the "only one 6" branch, but like you said this didn't change much in total (2% difference, iirc). Any idea why your calculation is still 15% higher than what the rules table cites, and why my averaged rolls are lower still? I know the averages are a bit more of a messy reality check but the discrepancy between 38 and 56% is quite large... $\endgroup$ Jun 20, 2019 at 7:18
  • $\begingroup$ @YannickVanhoutte You estimated the probability of success with two bonus points, not three as in the reply to the reddit post and in this answer. As I said in my comment to your question, my quick-and-dirty simulation agrees with your computed value; the book value for 3d6+2 is too high by 3-4 percentage points. $\endgroup$
    – amd
    Jun 20, 2019 at 7:27
  • $\begingroup$ @YannickVanhoutte Working the same sort of tree analysis for getting at least two successes on 3d6+2, I calculate a probability of $163/432 \approx 37.7\%$, matching our simulations. $\endgroup$
    – amd
    Jun 20, 2019 at 7:58
  • $\begingroup$ Sorry for the long radio silence. I'm running into trouble with implementing the hard part now. Specifically I'm trying to find a way to calculate all the possible partitions of b over d but I keep running into cases where I count states more than once. This is kindof veering into its own topic though, so I'm just going to accept your answer and look further. $\endgroup$ Jul 1, 2019 at 11:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .