A game dev explains loot drop system design: from single tables to weighted pools, rarity-split tables, and cascading rolls for stable legendary drop rates.
Key Takeaways
- Separate rarity tiers into their own tables to prevent changes in one tier from affecting others.
- Cascading rolls, starting from the rarest tier, offer the most stable and precise control over legendary drop rates.
- Weighted single pools are simple for prototypes but fragile under live-ops changes.
What the video covers
- Naive approach: put all items in one table with duplicate entries per rarity, which is hard to maintain.
- Frequency-weighted tables let code compute ranges, simplifying maintenance but causing side effects when items are added or disabled.
- Adding new common items to a weighted pool dilutes the drop chances of epic and legendary items.
- Disabling an item via hotfix redistributes its weight, unintentionally increasing legendary drop rates for players.
- Re-enabling the item later inadvertently nerfs legendary drops, affecting the economy.
- Splitting rarities into separate subtables and rolling rarity first isolates changes within each tier.
- Cascading rolls check the rarest tier first (e.g., 2% legendary), falling through to lower tiers only on a miss.
- Cascading rolls give precise, stable control over the drop rate of the most important item tier during live operations.
- Complex games may need conditionals and nested tables, but the cascading approach is recommended for beginners.
Full Transcript — Download SRT & Markdown
Speaker A
This is how you want to set up your loot drop system. When looking to make an item-based game with random loot, a lot of devs start with a quick and dirty approach. Throw every item into one big table, roll a random number, and then
Speaker A
map that number to a drop. Of course, we'll want different item rarities, so usually people add multiple entries depending on how often the item should appear. Maybe common items get six entries in the table, epic entries get two, and the legendary item stays with
Speaker A
one entry. A table like this is hard to maintain. Want more falchions? Now you're renumbering the whole table. So, most developers give each entry a frequency weight instead and let code work out the ranges. This works fine in
Speaker A
development, and for a simple game, it's probably enough to get you over the finish line. But, it's not without its problems.
Speaker A
Suppose you add three new swords, a saber, a cutlass, and a scimitar, all at the same weight as other common swords.
Speaker A
Now you've diluted the pool and lowered the drop rate on your epic and legendary items. Maybe during live ops a bug is detected and you issue a hotfix to disable the scimitar. This causes all other items to drop more often,
Speaker A
including legendaries. This will hurt your economy and players will start acclimating to a higher legendary drop rate. Later, when you fix the bug and re-enable the drop, you're also inadvertently nerfing the legendary drop rate. The next logical step is to
Speaker A
explicitly divide each item rarity into four separate tables and explicitly roll a rarity up front. First, you roll the rarity, and then, based on the rarity chosen, you roll into one of the subtables.
Speaker A
This approach is robust, but I like to take things one step further. Over the lifetime of your game, your game will evolve. You'll change the rarity of some items, or maybe a patch adds junk items to provide it crafting material salvage.
Speaker A
These types of changes can affect your legendary drop rate, the number that players care about the most. So, I'm a strong advocate for cascading rolls.
Speaker A
When you go to drop an item, roll for the legendary first, say 2% chance.
Speaker A
Only if that misses, then roll down to the next tier, and so on. Repeat until a rarity tier hits, then pull from that corresponding table. This provides more precision and stability during live ops.
Speaker A
This was just a primer. A complex game would introduce conditionals, nested tables, and more. But, if you're just getting started with making a loot drop system, this is what I'd recommend.
Topics:loot drop systemgame designdrop ratesweighted randomcascading rollslive opsRPG lootgame economy











