A big part of my work on Bunker Punks over the past six months has been tweaking and tuning existing systems. Taking something that works and making it work better.
This past week, I revisited the loot drop system in Bunker Punks.
The Bunker Punks loot drop system is a basic loot table. Loot is picked at random from a list and dropped by enemy units, chests and other objects in the world. Every piece of loot has a weight -- a number that determines how likely that loot is to drop. A weight of 20 means the item will appear in the loot table 20 times. Each entity in Bunker Punks can only drop specific types of loot. One entity might only be able to drop Ammo and Health, another only Weapons, Creds and Tech.
Right. But it’s also prone to generating loot that is less than engaging.
What if a Health pickup gets dropped and you have full health? Or perhaps you are almost out of ammo and a piece of Armor gets dropped? Not very exciting, is it?
In Bunker Punks, one of my main goals as a designer is to alway keep the player moving -- preferably moving forward. Loot is a key part of this.
After the loot gets dropped, it sticks around for a few seconds, blinks a few times and disappears. If the player doesn’t run in and pick it up, it’s gone. Every loot drop should be something the player wants. If they are low on health and see a Health pickup across the room, they’re going to run for it.
Keep the player moving. Keep them moving forward.
A completely random loot drop system doesn’t do this. It drops Armor the player is wearing. It drops Ammo when weapons are loaded. It drops Health when the player is fully healed.
Random was too random. It was time to introduce some logic to the loot table.
Of course, if every drop is Health exactly when you need it, the game becomes predictable. That’s not fun either.
The trick is to make drops appealing without being predictable. In order to keep a sense of risk and reward with the spawning of every drop, there needs to be a sense of randomness.
In the new system, when a drop is spawned, the spawning entity polls the state of the game and drops the correct drop.
It will never drop Armor the player is already wearing.
If the player’s health is full, no Health drops are spawned.
If they are running low on Ammo, the Ammo drops are added to the loot table twice. If they are REALLY low on Ammo, they’re added a third time.
The chances go up, but nothing is guaranteed. Randomness is still in play, but it’s random with intention. This creates an added benefit in a roguelike such as Bunker Punks, especially for speed-runners and master players.
If you keep your health and ammo topped up, you’re more likely to get economic drops like Creds. With more Creds, you upgrade your bunker faster and better optimize your build for the run you’re playing.
The new loot table logic is a big improvement over the old one. During playtests, players are moving more -- and moving forward more. And that’s been the goal all along.