Abstract
Problem: How should designers decide what items appear on loot tables, and how should those items be distributed across player progression?
Approach: Tim Cain presents a 2D spreadsheet method where rows represent player level ranges and columns represent item types, with each cell containing a code for the loot source (scene, container, generic drop, named drop, quest, vendor, or crafting).
Findings: By rotating loot sources across level ranges and item types, designers ensure every acquisition method (crafting, questing, boss-killing, shopping) becomes the best source for something at different points in the game — encouraging players to engage with all systems.
Key insight: A single shared spreadsheet mapping level ranges × item types → loot sources keeps the entire design team coordinated and naturally balances item distribution, player progression, and system engagement.
1. What Is a Loot Table
A loot table is a list of items assigned to a creature either when it spawns or when it dies. Tim prefers assigning loot at spawn time because it enables pickpocketing. Games without pickpocketing often generate loot into a body-container on death.
1.1. Implementation Approaches
There are several common implementations:
- Flat random pick — a list of items where the system picks 1–5 at random, possibly allowing duplicates
- Probability walk — each item has an individual probability (e.g., 20%, 30%) and the system rolls for each one independently, making some items rarer than others
- Combined — pick 1–5 items from a probability-weighted list
All approaches have their own pros and cons depending on the type of game. But the real question Tim wants to address is not how to implement the table, but what items should go on it.
2. The Spreadsheet Method
Tim describes a method he refined over years, partly inspired by designer Andy Curtain at Carbine Studios. It's a 2D spreadsheet:
- Rows = player level ranges (e.g., 1–5, 6–10, 11–15)
- Columns = item types (e.g., helmets, chest armor, pants, gloves, boots, weapons, consumables)
- Cells = a two-letter code representing the loot source
2.1. Loot Source Codes
- SC (Scene) — item sits in the world; you walk up and grab it off a floor, shelf, etc.
- CO (Container) — found in chests, safes, dead bodies, bookcases; some may be locked
- GD (Generic Drop) — drops from unnamed generic monsters like wolves or bandits
- ND (Named Drop) — drops from named NPCs like "Greymane, King of the Wolves"
- QU (Quest) — reward for completing a quest
- VE (Vendor) — purchased from a merchant
- CR (Crafting) — player must gather ingredients and craft the item
2.2. How to Read the Chart
Each cell answers: "For this player level range, the best version of this item type comes from this source."
For example, at levels 1–5:
- Best helmets → SC (found in scenes)
- Best chest armor → CO (found in containers)
- Best pants → GD (generic monster drops)
- Best gloves → ND (named NPC drops)
- Best boots → QU (quest rewards)
- Best weapons → VE (bought from vendors)
- Best consumables → CR (player-crafted)
At levels 6–10, all the sources rotate — so consumables might come from scenes, weapons from crafting, and so on.
3. Why Rotating Sources Matters
The rotation ensures that every game system becomes the best source for something at every level range. This has several benefits:
- Encourages diverse gameplay — players who want the absolute best gear must engage with questing, crafting, boss-killing, shopping, and exploration
- Players can skip systems — if you refuse to craft, you'll miss the best consumables at level 1–5 and the best weapons at level 6–10, but you won't be stuck; you'll survive with slightly inferior alternatives
- Keeps progression interesting — the best sword might come from a vendor early on, then from quests, then from named drops, keeping players always discovering new sources
4. Choosing the Level Range Size
Tim uses ranges of 5 levels per row. The size matters:
- Too small (e.g., every level) — sources change too fast; players can't learn where good items come from
- Too large — sources change too slowly; players waiting for a particular item type may have to grind for too long before the source rotates
5. Balancing Item Types and Sources
Ideally, the number of item type columns should roughly equal the number of loot sources. When they're unequal:
- More item types than sources — some sources must repeat on each row, or some sources won't appear in certain level ranges
- More sources than item types — some sources won't be "the best" for anything at certain levels
Small imbalances (off by 1–2) are fine. Large disparities become noticeable and undermine the rotation system. Tim recommends keeping them close to equal.
6. Adding a Third Dimension: Classes
For games with character classes, the spreadsheet can become 3D — adding a class axis. This means the best mage armor at a given level might come from a different source than the best fighter armor, encouraging party members to pursue different activities.
Alternatively, games can use a token system (as World of Warcraft did): a named boss drops a generic weapon token, and when taken to a vendor, it converts into a class-appropriate weapon. This collapses the class dimension while still ensuring useful loot.
7. Practical Use for Design Teams
The chart serves two audiences:
- Item designers asking "I made a cool level-28 bow — where should it drop?" → look up weapons at level 26–30, see the source code, place accordingly
- Level designers asking "I placed a level-5 wolf — what should it drop?" → check generic drops at level 1–5, see that pants are the featured item type
It also reveals gaps: item designers can spot level ranges lacking certain item types, and level designers can identify missing quests, vendors, or named encounters at specific progression points.
8. References
- Tim Cain. YouTube video. https://www.youtube.com/watch?v=CqMfiL7ySng