I'm creating a game system based on Fudge/Fate dice rolls and I need to validate if a have a fair distribution. Since I don't have much contact with this for a long time (since high school), I figure that someone here could help me with this.

For those that don't know, a Fudge/Fate dice is a common 6 sided die (d6) where you have 2 faces for each value (-1, 0, +1): (-1, -1, 0, 0, +1, +1). In a Fudge/Fate die, -1 represents a failure and +1 represents a success and for each roll, a failure cancels a success (and 0 means neither).

Then, consider that we always sum the results.
For example, rolling 4 dices (dices are always rolled simultaneously):

  • 4dF {0, 0, +1, -1} = 0
  • 4dF {0, 0, +1, +1} = +2
  • 4dF {0, 0, -1, -1} = -2

I'm trying to discover the probability of getting, for example, at least +20 in 100 rolls. I want to make a spreadsheet where I have the Y-axis as the number of rolls and X-axis as the desired number.

My goal with that is to establish the player range of success based on the number of rolls he has available.

  • $\begingroup$ For the "getting $20$ in $100$ rolls" question, does that mean at least $20$, or exactly $20$? $\endgroup$ – quasi Jun 12 '18 at 20:23
  • $\begingroup$ @quasi Yes, thanks for noticing that, I was reviewing the post and hit save by accident :) It means 20 success or more (+20, +21, +30...). $\endgroup$ – Thiago M Jun 12 '18 at 20:23
  • $\begingroup$ Also, if the player's goal is, say $20$, and $100$ rolls are available, can the player stop on $20$ if the goal is achieved in less than $100$ rolls? $\endgroup$ – quasi Jun 12 '18 at 20:25
  • $\begingroup$ @quasi He will roll all dices at the same time. So the player will not have control over this to stop when he achieves the "goal". Meaning that in a 10dF I want 5 success or higher to be considered a "true success". $\endgroup$ – Thiago M Jun 12 '18 at 20:26
  • $\begingroup$ Got it -- simultaneous rolls. The notation 10dF" means $10$ dice are rolled, but what does "F" mean? $\endgroup$ – quasi Jun 12 '18 at 20:28

For nonnegative integers $n$, and integers $x$, let $p(n,x)$ be the probability of getting a score of at least $x$ in $n$ rolls.

Then we have the recursion $$ p(n,x)= \begin{cases} 0&\;\;\;\text{if}\;\,n < x\\[4pt] 1&\;\;\;\text{if}\;\,-n \ge x\\[4pt] \frac{1}{3}p(n-1,x-1)+ +\frac{1}{3}p(n-1,x)+ +\frac{1}{3}p(n-1,x+1) &\;\;\;\text{otherwise}\\ \end{cases} $$ Implementing the recursion in Maple, we get $$p(100,20)=\frac{a}{b}\approx .008336093451$$ where $a,b$ are given by \begin{align*} a&=159119821311220187192678211640711891517682398\\[4pt] b&=19088056323407827075424486287615602692670648963 \end{align*}

Note:$\;$The above recursion yields an exact answer as a fraction, but as you can see, the numerators and denominators can be huge, so this method would require a programming language implementation, e.g., Python, or a CAS, such as Maple, rather than, say, Excel.

Here's an implementation in Maple . . .

enter image description here

Here is a table showing the approximate values of $p(100,x)$, for $1\le x \le 100$ . . .

enter image description here

  • $\begingroup$ Wow, this surely seems a very complete answer. But since my knowledge is very limited I have to admit I understood very little of it. Could you elaborate a bit in the methodology you are using to solve this? I barely know the notation, but I'm more concerned of getting the grasp of the approach. I have to make an observation: In my scenario a player will rarely have to roll more than 100 dices. $\endgroup$ – Thiago M Jun 13 '18 at 0:05
  • $\begingroup$ If $n < x$, you can't win, since even if all $n$ rolls come up with value $1$, your score (starting at 0) would be $n$, which is less than the needed value of $x$. $\endgroup$ – quasi Jun 13 '18 at 0:14
  • $\begingroup$ If $-n \ge x$, you can't lose, since even if all $n$ rolls come up with value $-1$, your score (starting at 0) would be $-n$, which is at least $x$ (so you win). $\endgroup$ – quasi Jun 13 '18 at 0:16
  • $\begingroup$ Finally, in all other cases, after rolling once, there are $n-1$ rolls remaining, and 3 possible results for the score after the roll, each with probability $\frac{1}{3}$. $\endgroup$ – quasi Jun 13 '18 at 0:19
  • $\begingroup$ So the basic idea is that the probability of winning is either immediately $0$ or $1$, in the cases where $n < x$, or $-n \ge x$, or else the probability is the sum of the weighted probabilities of the $3$ subcases, based on the results of the next roll (where in this case, the weights are all $\frac{1}{3}$). $\endgroup$ – quasi Jun 13 '18 at 0:23

You are really rolling a d3 with results of $-1,0,+1$. For reasonable numbers of dice the normal approximation is a good one. The mean of a single roll is $0$, so the mean of a number of rolls is as well. The variance of a single roll is $\frac 23$ so the variance of $n$ rolls will be $\frac {2n}3$. If we take those as the parameters of a normal distribution, the variance of $100$ rolls is about $66.67$ and the standard deviation is about $8.165$. Getting $+20$ on $100$ rolls is then about $+2.45 \sigma$. From a cumulative z-score table the chance of doing this well or better is about $0.00714$ or a chance in $140$. If you want to generate this in Excel the Wikipedia article gives it in terms of the error function, which Excel supplies.

  • $\begingroup$ Yes, the probability is the same as a d3, I was just giving the context as the dice has actually 6 sides. I'm sorry I can't contribute too much to the discussion since my knowledge is very limited. Just wanna ask: Are you considering that when summing the results, a +1 roll will be canceled by a -1 too? For example, let's say a player has 5 available rolls, and for him, to succeed he needs to roll at least +2, that means: {0,0,0,+1,+1} or {0, +1,-1,+1, +1} and so on. $\endgroup$ – Thiago M Jun 12 '18 at 20:51
  • $\begingroup$ Yes. Considering the variance of the sum takes care of all combinations of $\pm 1$ with the same sum $\endgroup$ – Ross Millikan Jun 12 '18 at 21:55
  • $\begingroup$ It is the central limit theorem which says the sum of independent random variables approaches the normal distribution when there are lots of them. Once you know how many standard deviations you are away from the mean you can use the z-score in this approximation. I am surprised the approximation is so bad comparing to quasi's exact result. $\endgroup$ – Ross Millikan Jun 12 '18 at 23:53
  • $\begingroup$ I like that your aproach seems very objective. Is there a formula for that? I'd like a little more direction on the solution since I'm very lay in the subject. I didn't understand, is the cumulative z-score a technique for those scenarios? $\endgroup$ – Thiago M Jun 12 '18 at 23:53

This is really a comment on quasi's answer, but it won't fit in a comment.

Unless you are considering very large numbers of dice, you can do the calculations in floating point, without appreciable loss of accuracy. Here's a python implementation:

cache = dict()
def p(n,x):
    if n < x: return 0
    if -n >= x: return 1
    if (n,x) in cache:
        return cache[n,x]
    cache[n,x]= (p(n-1,x-1)+p(n-1, x)+p(n-1,x+1))/3
    return cache[n,x]


The function evaluation is instantaneous, and as you see, the answer agrees with all $12$ decimal places given in quasi's answer.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.