The opponent rolls a double the moment it needs one. The shot you left, the one only a 4 could hit, gets hit. A game you led by forty pips slips away. Near the end of this page there is a small lab that runs the app's dice line in your browser, so you can test it instead of taking anyone's word.
The short answer
In Backgammon Limitless the dice are not rigged. Your dice and the computer's dice come out of the same line of code. The computer does not see a roll before it is thrown. Nothing in the game changes a roll because of the score, the doubling cube or the difficulty level. You do not have to trust us on this: the dice lab and the test method below work on any app, ours included.
That sentence deserves suspicion, because every backgammon app says something like it. So the rest of this page shows the work. It also makes a second point that matters more: perfectly fair dice produce streaks that feel impossible, and they do it often. If you have ever felt cheated by a fair game, the numbers below are for you.
Why every backgammon app gets called rigged
Chess engines get called too strong. Backgammon engines get called cheats. The reason is structural: backgammon has real luck, the luck is large, and it arrives at exact moments that decide games. A loser always has a believable second explanation. Psychologists have studied the ingredients for decades, and almost all of them turn up at a backgammon board.
Random sequences are streakier than they feel
In 1971 Amos Tversky and Daniel Kahneman described a belief in the "law of small numbers": people expect even a short run of random events to look like the long-run average, evenly mixed and tidy. Real randomness is lumpy. Dice produce clusters and droughts far more often than intuition allows.
Here is what fair dice do in an ordinary game. Assume 25 rolls per side, a reasonable length for a game that is not a blowout.
| Event | Chance | Who and when |
|---|---|---|
| One side rolls no doubles at all | 1.1% | per side, per game |
| A stretch of 10 or more rolls with no double | 53.6% | one side, one game |
| A double followed straight away by another | 44.8% | one side, one game |
| Three doubles in a row | 8.7% | one side, one game |
| One side rolls 3 or more extra doubles | 33.9% | either side, one game |
| One side rolls 4 or more extra doubles | 18.1% | either side, one game |
| One side out-rolls the other by 30 or more pips | 32.4% | either side, one game |
Computed exactly from the dice probabilities, not simulated, except the pips row, which uses a normal approximation. An average roll is 8.17 pips with a standard deviation of 4.30, so over 25 rolls the gap between two sides has a standard deviation of about 30 pips.
The last row is the one that matters. Thirty pips is nearly four average rolls, and in about one game in three one side or the other gets that edge from the dice alone. "They rolled better than me" is true far more often than people expect. It is not evidence of rigging.
- 2-2 (double)
- 5-4
- 4-1
- 3-3 (double)
- 3-2
- 6-2
- 2-2 (double)
- 2-1
- 5-3
- 3-4
- 5-3
- 6-4
- 3-6
- 2-1
- 5-2
- 3-1
- 5-5 (double)
- 2-4
- 6-4
- 1-6
- 6-3
- 6-6 (double)
- 1-1 (double)
- 3-4
- 3-2
- 4-1
- 1-1 (double)
- 6-5
- 6-4
- 6-1
- 1-3
- 1-5
- 1-1 (double)
- 1-1 (double)
- 2-2 (double)
- 4-4 (double)
- 1-6
- 3-2
- 1-5
- 1-5
- 6-4
- 2-1
- 4-1
- 3-4
- 4-1
- 4-3
- 2-3
- 6-3
- 6-2
- 6-2
- 5-3
- 1-6
- 3-6
- 3-2
- 4-1
- 1-3
- 5-3
- 6-2
- 6-2
- 5-2
- 3-6
- 1-5
- 4-2
- 5-1
- 1-2
- 2-6
- 4-5
- 5-2
- 3-1
- 1-6
- 3-3 (double)
- 5-3
- 5-2
- 6-6 (double)
- 5-1
- 6-5
- 3-6
- 3-5
- 6-6 (double)
- 6-6 (double)
- 2-2 (double)
- 2-6
- 6-2
- 3-5
- 1-6
- 3-4
- 3-3 (double)
- 2-4
- 5-3
- 2-3
- 2-5
- 1-3
- 6-4
- 1-3
- 6-5
- 4-6
- 3-6
- 4-2
- 6-3
- 3-2
- 3-4
- 3-1
- 4-4 (double)
- 1-4
- 6-5
- 4-1
- 2-4
- 3-2
- 1-5
- 6-3
- 3-2
- 2-6
- 5-5 (double)
- 5-3
- 3-5
- 4-5
- 1-3
- 5-5 (double)
- 6-3
- 3-3 (double)
- 4-4 (double)
- 4-4 (double)
- 1-3
- 4-1
- 1-5
- 3-2
- 3-6
- 4-4 (double)
- 6-5
- 2-1
- 5-6
- 6-2
- 1-5
- 4-3
- 4-5
- 5-5 (double)
- 2-5
- 5-4
- 3-6
- 2-2 (double)
- 5-4
- 4-2
- 6-6 (double)
- 4-2
- 4-5
- 6-4
- 4-1
- 6-1
- 6-1
- 5-2
This sample has 27 doubles (25 would be the average). It also has four doubles in a row at rolls 33 to 36, and a stretch of 34 rolls with none, from roll 37. Play against an opponent who rolled these and you would be certain it was cheating. It is just chance.
Bad luck is louder than good luck
In 2001 Roy Baumeister and colleagues reviewed the evidence under the title "Bad is stronger than good": across many areas, negative events weigh more on mood and memory than positive events of equal size. Add the availability heuristic, which Tversky and Kahneman described in 1973, where events that come to mind easily feel more frequent. The result is a game in which the opponent's lucky rolls are recorded in vivid detail and your own are filed away as normal.
Backgammon adds an asymmetry of its own: shots. Whenever you leave a checker alone on a point, the opponent gets a chance to hit it, and that chance is a fixed number you can calculate.
| Distance in pips | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hitting rolls | 11 | 12 | 14 | 15 | 15 | 17 | 6 | 6 | 5 | 3 | 2 | 3 |
| Chance | 30.6% | 33.3% | 38.9% | 41.7% | 41.7% | 47.2% | 16.7% | 16.7% | 13.9% | 8.3% | 5.6% | 8.3% |
Points the opponent cannot land on lower these numbers.
A checker one pip away is hit 11 times in 36, or 30.6%. Six pips away it is 17 in 36, or 47.2%. Many ordinary plays leave a shot of around a third. The hit is remembered; the two out of three times the same shot is missed leave no trace at all. Leave three shots of 11 in 36 over a game and you will be hit at least once 66.5% of the time. Being hit at least once is the likely outcome.
Wins are skill, losses are luck
In 1975 Dale Miller and Michael Ross reviewed the research on self-serving bias in attribution: people are inclined to credit their successes to their own ability and, at least some of the time, to blame their failures on circumstances. At a backgammon board the excuse is partly true, which makes it hard to dislodge. Luck is real, so "the dice beat me" is sometimes the correct diagnosis. It is also the most comfortable diagnosis, so it gets used when it is not.
The way out is to look at your own plays. Backgammon Limitless's Move Review goes through a finished game and marks the moves that cost you, with the better move laid out beside yours on the board. What remains after those mistakes is the part the dice decided.
"I'm due"
After nine rolls without a double, the chance of a double on the tenth is still one in six. Dice have no memory. People feel otherwise, and the gambler's fallacy is stubborn. A 2016 study by Daniel Chen, Tobias Moskowitz and Kelly Shue found it in experienced professionals: asylum judges, loan officers and baseball umpires were each less likely to make the same decision twice in a row than the cases themselves warranted, as if the sequence had to even out.
In an app the trap closes in a particular way. You expect the drought to end, it does not, and you conclude that the app is against you.
A strong opponent makes every roll count
A strong engine does not waste a roll. It avoids shots it could have avoided, makes the point it can make and finds the one play that turns an awkward 4-1 into something useful. A human opponent with identical dice would convert fewer of them. From your side of the board this looks like the computer's dice always fit. They are the same dice, used better. (Easy level in our app deliberately plays badly, which is why it feels different.)
There is one more bias, the illusion of control. In 1975 Ellen Langer showed that people act as if skill-like behaviour can influence chance outcomes, and eight years before that James Henslin watched craps players throw softly for low numbers and hard for high ones. On a phone the dice appear about half a second after you tap, produced by a generator that has no idea how you tapped. A second tap while the dice are rolling is ignored. Tapping early, late or hard changes nothing.
How the dice work in Backgammon Limitless
When a roll is requested, whether by you or by the computer, the game runs this:
const d1 = Math.floor(Math.random() * 6) + 1;
const d2 = Math.floor(Math.random() * 6) + 1; Math.random() is the random-number generator built into the phone's JavaScript engine. It
returns a number from 0 up to, but not including, 1, spread evenly. Multiply by 6 and you have a number from
0 up to 6. Round down and you get 0, 1, 2, 3, 4 or 5, each from an equal slice of the range. Add 1 and you
have a face from 1 to 6. If the two faces match, it is a double and the roll is played four times, as the
rules say.
We read through our source to check what else touches a roll. Each lamp below is lit because we checked the claim next to it in the code of version 1.0.5.
- One line makes every roll. Dice values are created in exactly four places: your opening die, the computer's opening die, your turn and the computer's turn. All four use the same expression.
- Nothing is decided in advance. The roll is made when the roll happens, after the short dice animation. There is no stored list of upcoming rolls, no saved seed and no "luck balance" that remembers earlier rolls and compensates.
- A roll ignores the game. The lines that create a roll do not read the board, the score, the cube, who is ahead or the difficulty level.
- The computer cannot peek. The function that picks the computer's move receives the board and the roll it has already been given. There is no argument for a future roll.
- When it looks ahead, it guesses like you do. At the stronger levels the computer judges a move by averaging over every roll the opponent could throw next, each weighted by its real probability: 21 distinct rolls, doubles counted once and every other roll twice, 36 combinations in all.
- Undo does not re-roll. Taking a move back returns the same die to your hand.
- The game code makes no network calls. The source that plays the game contains no fetch, socket or analytics call, so nothing outside the phone could change a roll.
Randomness does appear elsewhere in the code. Easy and Medium add noise to the computer's choice of move so that they make human-style mistakes, and Easy plays the doubling cube casually. That randomness shapes the computer's decisions. It never touches a die.
What we are not claiming
Math.random() is a pseudo-random generator. It is not a hardware or cryptographic source. For a board
game it is the standard tool and, as the next section shows, it behaves. It is not a certified gaming
generator, the kind a regulated casino would need, and we do not say it is.
You cannot read our source, so you cannot check these claims line by line. What we can offer is a description of the mechanism and a test that works on any app, ours included.
We ran the line ten million times
We ran the app's dice line ten million times on a desktop computer (Node.js 24) and counted. This is a simulation of the line. The game code makes no network calls, so there is no record of anyone's real games to measure. Phones use their own JavaScript engines, so the numbers show the line behaves, not that every engine is identical.
| Measure | Result | Fair dice expect |
|---|---|---|
| Face 1 | 16.654% | 16.667% |
| Face 2 | 16.656% | 16.667% |
| Face 3 | 16.669% | 16.667% |
| Face 4 | 16.667% | 16.667% |
| Face 5 | 16.664% | 16.667% |
| Face 6 | 16.690% | 16.667% |
| Doubles | 16.682% | 16.667% |
| A total of 7 | 16.663% | 16.667% |
| A total of 2 / a total of 12 | 2.772% / 2.786% | 2.778% |
| Chi-square, six faces (5 d.f.) | 10.0 | under 11.07 |
| Chi-square, eleven totals (10 d.f.) | 8.8 | under 18.31 |
| Longest run of doubles | 8 in a row | about 9 |
| Longest stretch with no double | 85 rolls | about 79 |
The chi-square thresholds are the 5% lines: a fair generator stays under them about 95 runs in 100. The "about" figures are the expected longest runs for ten million rolls.
Every frequency lands within 0.03 percentage points of the true value. Over those ten million rolls the line also produced eight doubles in a row and, at another point, 85 rolls without a single double. Streaks like these are what fair dice look like, and a generator that hid them would look suspiciously tidy.
Dice lab: run the app's dice line yourself
This button runs the same two-line expression in your browser, on your device. Pick how many turns to roll, press Roll, and compare the result with the expected range.
Each press is an independent test. Fair dice trip the chi-square check about one run in twenty and the doubles range about one run in a hundred, so press Roll twenty times and expect about one flag.
How to test any backgammon app
The same method works on our app, on a competitor's and on a physical set of dice. All you need is a pen or a spreadsheet and some patience.
- Test one side at a time. Write down each roll as it appears, yours in one column and the computer's in another. A screen recording you tally later works as well.
- Collect enough rolls. One game is about 25 rolls per side, far too few: the table above shows a 30-pip swing is ordinary. Aim for at least 300 rolls per side.
- Count the doubles and check the range. One roll in six should be a double. Normal ranges at 99% confidence:
| Rolls per side | Expected doubles | Normal range |
|---|---|---|
| 300 | 50 | 33 to 67 |
| 600 | 100 | 76 to 124 |
| 1000 | 167 | 136 to 197 |
- Count each face. In 300 rolls there are 600 dice, so each face should appear about 100 times. Anything from 76 to 124 for a single face is normal.
- Compare the two sides. You and the computer should land in the same ranges. A gap that stays large as the count grows is a finding. A gap that shrinks is luck evening out.
What rigged dice would have to look like
If an app did manipulate dice, the data would show it in one of a few ways:
- The side that is behind keeps rolling more pips per turn than the side that is ahead, as a built-in comeback.
- The computer's doubles run clearly above one in six, and the gap does not shrink as you keep counting.
- The dice look too good. A double followed straight away by another happens about once in every 36 rolls, so a 300-roll log should hold around eight. A log with none is far more suspicious than one with ten or twelve.
- Rolls change when you undo a move, restart the app, or change the difficulty level.
Frequently asked questions
- Are the dice in Backgammon Limitless rigged?
- No. Your rolls and the computer's rolls come from the same line of code, a standard random-number call, and nothing in the game changes a roll because of the score, the doubling cube or the difficulty level. The dice lab and test method on this page let you check the rolls yourself.
- Does the computer cheat at backgammon?
- Not in Backgammon Limitless. The computer chooses its move from the board and the roll it has been given. It cannot see future rolls: when it looks ahead, it averages over every roll the opponent could throw, weighted by its true probability.
- Why does the computer seem to roll so many doubles?
- It rolls a double one time in six, exactly like you. In a 25-roll game each side averages about 4 doubles, and in roughly one game in three one side or the other ends up at least 3 doubles ahead by chance alone. The opponent's doubles are also easier to remember than your own.
- Does a higher difficulty level give the computer better dice?
- No. The difficulty level only changes how the computer chooses its moves and cube decisions. Dice are generated by code that never reads the difficulty setting.
- Does Undo re-roll the dice?
- No. Taking a move back returns the same die to your hand. Nothing is rolled again until your next turn.
- Is Math.random() good enough for backgammon dice?
- For a board game, yes: it is a statistically sound pseudo-random generator, and ten million rolls of the app's dice line matched the expected frequencies. It is not a certified gaming or cryptographic generator, and we do not claim it is.
- How can I check whether any backgammon app is rigged?
- Log at least 300 rolls per side, count the doubles and compare them with the normal range for that sample size (33 to 67 doubles in 300 rolls). One game is far too short to show anything, because ordinary luck swings by 30 pips or more in about one game in three.
- Could a backgammon app choose the dice to make me lose?
- Any app could in principle, which is why evidence matters more than reassurance. Test the rolls, look for a gap between you and the computer that does not shrink as the sample grows, and prefer apps whose dice code you can read.
Play it and check the dice yourself
Backgammon Limitless is free, works offline, has no ads and no account. Play the computer at four levels, then open Move Review to see which moves cost you the game.
Want backgammon with different rules for a change? ROGUEGAMMON is our backgammon roguelike: each side drafts a mutation card that bends the rules, and you can play a match against the computer right in your browser.
Sources
- Tversky, A., & Kahneman, D. (1971). Belief in the law of small numbers. Psychological Bulletin, 76(2), 105–110.
- Tversky, A., & Kahneman, D. (1973). Availability: A heuristic for judging frequency and probability. Cognitive Psychology, 5(2), 207–232.
- Baumeister, R. F., Bratslavsky, E., Finkenauer, C., & Vohs, K. D. (2001). Bad is stronger than good. Review of General Psychology, 5(4), 323–370.
- Miller, D. T., & Ross, M. (1975). Self-serving biases in the attribution of causality: Fact or fiction? Psychological Bulletin, 82(2), 213–225.
- Chen, D. L., Moskowitz, T. J., & Shue, K. (2016). Decision making under the gambler's fallacy: Evidence from asylum judges, loan officers, and baseball umpires. Quarterly Journal of Economics, 131(3), 1181–1242.
- Langer, E. J. (1975). The illusion of control. Journal of Personality and Social Psychology, 32(2), 311–328.
- Henslin, J. M. (1967). Craps and magic. American Journal of Sociology, 73(3), 316–330.
Probabilities on this page were computed directly from the dice rules. The simulation and the claims about the app's behaviour were checked on 4 October 2026 against the code of version 1.0.5.