8 steps
Fair randomness and loot
For: Anything with dice, drops, crits or chests.
Players do not feel probability, they feel streaks. A fair game is one whose randomness you can repeat, state exactly, and soften where a streak would hurt. In that order.
The steps, in order
- 1
Code recipe
Seeded random
Random numbers you can repeat: the same starting number gives the same results on every machine, forever. That is what daily challenges, shareable worlds and replays are built on.
Why here: First make randomness repeatable: the same seed gives the same game. Without it you cannot test anything that follows, and bug reports stay rumours.
- 2
Code recipe
Chance calculator
Exact answers to everyday odds questions: the chance of at least one success in a number of tries, how many tries you need to be fairly sure, how many on average, and how likely a run of bad luck is. The result comes with how it was worked out, so your AI can show you the sum as proof instead of guessing a number.
Why here: Then learn to work out a chance exactly instead of guessing. "20 percent over five tries" is not 100 percent, and your AI should show the number.
- 3
Blueprint
Loot Table
Random rewards with chances you control, so most drops are common, some are rare, and the odds are exact and easy to change.
Why here: The structure for drops: weights, not percentages, so adding an item never breaks the others.
- 4
Code recipe
Shuffle bag
Fair randomness with no long unlucky streaks: outcomes go into a bag, get shuffled and come out one by one. One win in four then really means one win in every four.
Why here: Where streaks hurt most, use a bag instead of a die: every outcome appears before any repeats. It feels more random than real randomness.
- 5
Blueprint
Bad Luck Protection
A pure chance can hand some players a hundred misses in a row while others win at once. A rising chance and a certain last try give every player a fair worst case, and the rare prize still feels like luck.
Why here: For rare drops a bag is too soft; a counter that raises the chance after misses keeps the thrill and caps the pain.
- 6
Code recipe
Real loot odds
Works out the real odds of a loot table that includes a bad-luck counter, exactly and without any random sampling. A counter means the chance you show is not the real one, and this tells you the real one, how many rolls players need and the most anyone can ever need.
Why here: A counter changes the real chance. Work out the true number, roll by roll, before you print anything on a screen.
- 7
Wiki entry
Show loot odds on screen as percentages that add up to exactly 100
Three equal items shown as 33.3 percent each add up to 99.9, and players write angry posts about hidden odds. Rounding each number separately never works. This entry splits the leftover fairly so the list is honest and always totals 100.
Why here: Only now show percentages, because now they are true, and rounding them so they add up to 100 is its own small trap.
- 8
Blueprint
Item Rarity
Rare items give the player something to hope for, and a clear ladder of tiers lets them see at a glance how good a drop is and what it is worth.
Why here: Rarity tiers come last: they are a layer of meaning on top of odds that already work, not a way to make odds work.
At the end
Every roll can be replayed, every shown chance is the real chance, and nobody goes a hundred tries without the drop.
What this rests on
- Math for Game Programmers: Dark Secrets of the RNG
A veteran talk on why designers use shuffle bags, weighting and memory of past results, and on the difference between real, perceived and contrived fairness.
- Sid Meier and Rob Pardo on Probability and Player Psychology
Shows that players misjudge odds (they expect to win every 3-to-1 fight) and that Civilization Revolution bent the math and took earlier results into account to avoid frustration.
- Emotions and Randomness - Concrete Examples from Ni No Kuni and Others
Uses real games to show how constant drop rates create painful unlucky streaks and how escalating drop chances (as in World of Warcraft) act as bad-luck protection.
- What does it mean when players complaining about "low drop rate"?
Explains why players say a drop rate is too low even when it is not: misread probabilities, lucky players telling their stories, and unfinished goals sticking in memory.
- What's in the box? Exploring UK players' experiences of loot boxes in games; the conceptualisation and parallels with gambling
A peer-reviewed interview study (21 students) in which players feel the odds are stacked against them and see hidden odds as a fairness and transparency problem, which supports showing drop odds.
Say this to your AI
Follow the Spielerando learning path "Fair randomness and loot" (get_path fair-randomness-and-loot) for my game, step by step, and tell me at each step why it comes now.Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP