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
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
@typhlosion
Actually I suppose it would.. never did like statistics
@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
@jordyd I was gonna say roll 128 d20 and then do integer division by 10 but that doesn't work either so take this proposal instead:
flip 8 coins in order and interpret them as 1/0 binary digits
@jordyd theres a program online called anydice that is meant for doing dice statistics like this
@infinity hold on you’re not a bot
@infinity
botsin.space is where bots are registered
@jordyd botsin.space is neither exclusive to nor the only source of bots
For example, folks like myself who have robotey fursonas like to hang out here :o
@infinity oh! I gotcha
No actually this is wrong too, 256-260 isn’t 13 lmao