Peregrine’s Nest: A Cheater’s Guide to Dice Rolls

We know GMs fudge dice rolls sometimes, but what happens when players do it?

colynary-media--YN14ikhgVw-unsplash.jpg

Picture courtesy of Unsplash.

In my opinion, it’s not okay for a player to cheat. It effectively gives a player’s character more advantages than any of the others and probably more spotlight as they just do better all the time. Calling out players who cheat is tough, though. Before you make such a call, you need to be able to spot it. So, in the spirit of Penn and Teller explaining their magic tricks, here is a quick guide to some of the techniques of dice cheats to help the GM spot them. I should add that not all of these mean the player is absolutely cheating, and hopefully any behaviour like this precipitates an adult discussion about how dice rolls are handled in your game.

The Hidden Roller​

If no one else can read your dice, they’ll have to take your word for it, or be really obvious about checking on you. While rolling under your hand is a little obvious, there are many ways to make it harder to see what your dice are reading while in the open.

The first is the player who always sits a little further away. This might be on the furthest armchair in the living room or at the end of the table. Usually it will be as far from the GM as possible.

Recent dice technology has offered another option, that of using really tiny dice. There are some adorably small sets out there, and they are often hard enough to read even if you are next to them.

The Roll-and-Grabber​

The player rolls the dice then sweeps them off the table the moment they stop. Then they usually hold them in their hand and stare into space as if calculating a series of modifiers before announcing they have succeeded. It’s rarely premeditated, usually they see they have rolled badly, scoop up the dice and then try a quick pantomime.

If you are playing D&D where there are a few modifiers its less easy to spot, although more modifiers is even more reason to leave the dice on the table so you can calculate again if you lose track. If you are playing Call of Cthulhu where a result is either under a skill or not, it’s a dead giveaway.

Loaded and Fake Dice​

These are quite commonplace and some are hard to spot, but they are pretty simple for any gamer to detect. They feel wrong, and we all know how dice should feel and how they should roll. They also keep rolling the exact same number each time, so they are pretty obvious.

I’ve seen cheat dice that were very subtle in that they had 2 of the highest results and none of the lowest. So the D6 had two 6s and no 1s. You got two D20s in the set, one with two 1s and one with two 20s. Unless you gave them a proper look you’d never have spotted them. Players using this won’t always succeed, but they will crit more often than they should.

You might also keep an eye out for novelty D6s with a picture on the 6 or the 1. I have so many of these I never use them now as I can’t remember which dice has the picture of the 1 and which use the 6. If those with a picture on the 1 are used in a group with other dice the player can just count all pictures as 6s (and obviously all 6s as 6s!).

There are plenty of other dice in this spectrum of “changing the odds” that aren’t straight cheating but are not impartial dice either. We all know many dice are imperfect, but there’s a difference between having a die that doesn’t roll right and purchasing a die for the express purpose of giving you an advantage.

The Knock-and-Roller​

There are a couple of variants here when rolling multiple dice. This might be when dealing fireball damage or rolling with advantage/disadvantage. Most people roll the dice together, but if you roll them one at a time (when you have more than one) you might “accidentally” knock a bad one onto a better number, or off the table and have to roll again. The more spherical the dice in question the easier this is to do. In another variant you might put one die on the table on the number you need, roll and sweep another and then point at the previously set dice as your result. That takes a little more sleight of hand though and works better if all your dice look the same.

Never a Critter​

One of my players realised that rolling maximum was a little obvious when it happened time and time again. But they also realised that a high but not maximum result was more convincing and always succeeded. In this case, they forgot that a run of 5s was just as suspicious as a run of 6s. So keep an eye out for players who never fail, and rarely crit, but never seem to roll less that the top 25% of potential results.

These are just a few examples. Cheating can be a spectrum, and what’s tolerated at your table has as much to do with the rules, the players, and the kind of behaviour you model. If you’re against fudging dice in every instance, it’s important to say so. Conversely, if you fudge dice sometimes, be clear on what’s okay and what isn’t, both as a GM and as a player.

YOUR TURN: What do you do when you find out someone at your table has been cheating with their dice rolls?
 

log in or register to remove this ad

Andrew Peregrine

Andrew Peregrine


log in or register to remove this ad

It's when they go like 12 or 15 rolls in a row with no roll under a 15 that they give themselves away. Or even just 12 or 15 rolls in a row with no roll under a 5.
Meanwhile, my necromancer rolled so comically bad in one game the DM gave me a magic item that let me reroll (this was before 5E) just so my supposedly very scary gothic antihero could stop embarrassing himself. 🤣
 

Meanwhile, my necromancer rolled so comically bad in one game the DM gave me a magic item that let me reroll (this was before 5E) just so my supposedly very scary gothic antihero could stop embarrassing himself. 🤣

I rarely get to be a player, but when I do I'm not sure I've ever passed a saving throw in my life.
 

On Roll20 specifically I've seen an inordinate amount of crits/fumbles back-to-back. 20/1 rolls and 20/20 rolls, and 1/1 rolls. I think over a distribution it's still technically still an equal distribution if you roll enough, but it sure does feel like I've had players with disadvantage/advantage roll natural 1s twice, or seen two dice rolls be crits in a row (including initiative). It's ended up with some brutally swingy combat where when the PCs do bad, they do REALLY BAD and when they do great, they practically one-crit monsters.

But it may well just be a perception thing. Which is why you have to be careful about calling someone a cheater unless you see very specifically them cheating (altering a die roll, for example). We tend to remember crits/fumbles more than all the other boring "regular" die rolls, so observer bias can make it seem like they happen more often because they're more memorable.
A properly designed PRNG (Pseudo-Random Number Generator) and a properly designed die roller to use it will have a slight bias; the PRNG itself is never quite truly random, and so introduces a slight bias. The math to simulate a die also introduces a slight bias for at least some sizes...

the ones I have written have tiny errors from the math for dice under d1000, dRes = 1+(randint_16 modulo dSides)... A randint_16 is a 16 bit output (0-65535), and so a d1000 has 66 chances each of 0-535, and 65 each of 536-999. we add one to the result to get the expected 1-1000 result. For smaller dice, it's even less of an error. The PRNG adds way larger error than the math to turn the PRNG result into a die result.
My current one, I just trusted the Python random module, then verified with large chi² test data - it's more random than my dice. Except for one player. He genuinely averages half a sigma below expected average. He also thinks all die rollers hate him. And comparing his results to everyone else's? Yeah, they do.
 

Most computer languages suck at creating truly random numbers. Probably
A properly designed PRNG (Pseudo-Random Number Generator) and a properly designed die roller to use it will have a slight bias; the PRNG itself is never quite truly random, and so introduces a slight bias. The math to simulate a die also introduces a slight bias for at least some sizes...
It has been a long time since we’ve had bad RNG code in standard computer libraries. Anything kept up to date (like, using libraries updated in the last decade) will be statistically more random than any random process you can come across in nature. It will be astoundingly more random than the most carefully created dice that we could create.

Now, it’s also pretty easy to screw up that randomness by transforming it badly, so don’t try your own code for modifying a random generator, just use the library code to produce a random integer in a given range to simulate a dice roll and you will be golden.

As far as VTTs are concerned, while it’s possible they screwed up their random dice code, it’s not hard code and it’s easier to do it right than wrong, so I’d be very surprised to see their coders make an error.

As an aside, people underestimate the likelihood of extreme random results a lot. I had a friend who made his living as a professional gambler by betting that long shots come off, effectively betting against the crowd.
 

In our game this Sunday, someone got a fumble, and I bet the next roll would be a crit and it was. It seems like the odds of there being two fumbles/crits, or two fumbles in a row, or two crits in a row, happen more frequently. It's particularly surprising when it happens due to Advantage/Disadvantage, but we've also seen it in two successive rolls (I roll a crit, next player to go rolls a fumble).

To be fair, I'm pretty sure it's just that we notice crits/fumbles more since Roll20 shows the number in green (crit) or red (fumble). So it probably sticks out in memory. But it sure feels like something is up.
 

It has been a long time since we’ve had bad RNG code in standard computer libraries. Anything kept up to date (like, using libraries updated in the last decade) will be statistically more random than any random process you can come across in nature. It will be astoundingly more random than the most carefully created dice that we could create.
The standard random functions in C/C++ and Python are not the best; all have additional crypto-level-good libraries.

The tradeoff is processing time. The C and C++ sysrand is only about as fair as well balanced dice. The Crypto level one is useable for RSA128 and RSA 256... and far exceeds the needs of a die-roller.

Plus, some chips have in-package random seed generation from sensors, rather than straight math... IA-64 and AMD-64 use RDRAND instructions, AMD v8.5 uses RDRN.
 

The standard random functions in C/C++ and Python are not the best; all have additional crypto-level-good libraries.
It's not good for crypto, definitely. That application requires that you cannot predict future occurrences from reviewing previous ones. My back-of-envelope calculations say that if you observe 3000 d20 rolls from these functions, you could start predicting the future -- not as a human observer, but by feeding them into an algorithm designed to do so.

However, if you observed the relative frequencies of each roll for, say, a million rolls of the RNG d20 versus your die, you are much, much more likely to reject randomness for your physical die than for the RNG. And I believe the same will be true if you observe frequencies of pairs of rolls also.

Your advice not to use the standard libraries for crypto is well taken, and I think the algorithm has some issues for high-volume Monte Carlo analysis also (it's been decades since I did that professionally ...) but for dice rolling, you should find it less distinguishable from random than any natural process.
 



Related Articles

Remove ads

Remove ads

Top