Neat trick to generate a random byte value:
floor((14d20 - 14) * 256/266) - 1
Only requires d20s and a pen/paper
I spent way too much time making sure this was correct
And you know I think I found a simpler way
I originally thought 13d20 (mod 256) would unjustly favor the numbers 0-12, but as you can see from the original toot I later realized that since dice can’t roll 0s you have to do some fenangling with addition and such. But since dice can’t roll zeroes the minimum you can roll before taking a modulus is 13 if they all rolled 1s, so that means 0-12 won’t be double counted on taking the modulus
@jordyd wouldn't this heavily bias middle values in the dice rolls in a way that isn't accounted for by the other operations
@jordyd yeah, rolling more dice makes the distribution approach normal
which basically means that 14d20 really wants to be close to the average expected value of 147. so the bytes you get from this method aren't uniformly random
what you really want is eight coin flips, one per bit
or four 1d4 rolls, or two 1d8 rolls and a 1d4 roll, turned to binary and concatenated together
@jordyd (i said byte instead of bit at first)
@typhlosion @jordyd Or just find a d16 and roll it twice. I've even seen one labeled "0-9A-F".
@not_on_pizza @typhlosion I didn’t know they came in d16
@typhlosion
Actually I suppose it would.. never did like statistics