Monday, July 27, 2009

Cutting Down the Role of Chance: Loot

There are two key factors in making looting fun—we shouldn’t trample these in our attempt to remove randomness:

The first is Variability. In the case of very low variability, loot becomes routine and uninteresting. The potential for rare or unique items is limited by either the number of rare or unique NPCs in the game world or the number of high-skill crafters. High variability can lead to overpowered or useless loot being the majority of what is dropped; this can spell havoc for power growth schemes and leads to looting becoming a very cheap, high pay-off slot machine.

The second is Appropriateness, which can be split into two factors: appropriateness for the player doing the looting and appropriateness for NPC being looted. Players get excited when they find loot that is appropriate for their character—here we encounter the first kind of appropriateness. Loot that offers an upgrade from the character’s current equipment (without breaking power growth balance) or that offers a different kind of ability to the character is viewed as appropriate. Loot should also be appropriate to the NPC carrying it—a bear should drop a bear pelt, not a sword.

So how do we remove the role of chance from loot and what does that do for us?

An easy and very intuitive way to handle NPC equipment and possessions: give each item a 1 in X chance of being on a given NPC or NPC type, then specify an offset value for each (this value can be anything as long as the offsets are different). Start a spawn counter for each NPC type and give the NPC each item when spawn_counter + offset is divisible by the X above. X can be modified depending on the kind of players that have been hunting the NPCs (if the NPCs are intelligent enough to make such a modification)—perhaps a camp of human bandits will start spawning with more fire-resistant gear if a player has been ravaging them with fireballs for the past half-hour.

At first, this approach seems sufficient, but we’ve made assumptions that aren’t necessarily true in an MMO. Looting isn’t an entirely blind process. The player might know loot rates and so kill off a lot of creatures that drop certain items, greatly unbalancing the totals of important items available for future players to loot off of mobs. Also, there may be some mechanic that allows the player to see what kind of loot the NPC is holding (for instance, if the NPC has a giant glowing sword, a player would be more likely to go after the NPC because of the higher reward). The counter-based solution is good for generating your starting NPC population’s loot, but the system has no awareness of what’s already in the world. If players only kill off the NPCs they know have certain items, the drop rate will stray because the existing population has drop rates that are effectively significantly lower. To counteract this, the system needs to keep track of the loot currently on NPCs in the world and spawn NPCs with or without the loot in order to keep the distribution on or near target. This certain doesn’t need to manifest itself in unique mobs respawning instantly after they’re killed, though; I mainly imagine this solution applied to make keep quests doable without excess grinding.

We can also use the way combat resolves to modify the loot enemies will drop. When different kinds of attacks land on the opponent, they can lead to different effects on the opponent’s equipment. A fireball would burn away cloth armor or melt metal armor, for instance, leaving nothing worth taking in the former case or only some metal scraps in the latter case. The more times the opponent is hit by standard weapons, the poorer condition his armor is going to be in. You can imagine a myriad of attack-item reactions that can lead to loot being lost or transformed. Suddenly, spells that debilitate the opponent without affecting their belongings will be a crucial tool in a mage’s arsenal and allow them to be more than just glass cannon DPS.

If we implement these two policies, we not only increase the role of player decision-making in what loot is dropped (and also encourage a diversity of effect types in order to preserve or destroy certain items), we also prevent the ever-annoying problem where the random number generator gives you a fifty percent chance of getting that quest item, but the coin keeps landing on tails instead of the needed heads. We certainly don’t have to compromise any variability or appropriateness in the process.

7 comments:

Jormundgard said...

There are a lot of great ideas to eliminate "loot frustration", and I think these are good ones. But I don't think we'll see change any time soon. As it is, the randomness (i.e. "unfairness") keeps people coming back for longer than they would like, which extends the lifetime of the content, reduces development costs, and increases profits.

I just don't think players and designers are on the same team on this issue.

evizaer said...

The objective is to design a great game, not to design a profitable one. No need to focus on the latter when the former is doable and will naturally lead to the latter.

I don't think the "unfairness" of a fair random number generator is what keeps people coming back to a game. The reality is similar to that of a Casino: the players don't play the games because they will win them, they play the games because the play is fun and if it costs them a little bit of money in the process, so be it. What's kind of odd about modern MMOs is that the odds aren't really stacked in the house's favor anymore--the games are becoming much easier and almost defeating their own purposes in the process.

Melf_Himself said...

If your objective is to design a great game, why are you talking about designing an MMO? :p

I don't understand how the 1-in-X chance system is different from current systems.

In regards to keeping distribution on target, just randomly kill and re-spawn NPC's when no players are around (probably good to stop them from wandering into dumb places too).

I think it might be sort of frustrating to have to gimp yourself to avoid damaging loot. I can think of one DnD spell that does this (Disintegrate), and I never used it.

On an more positive note, consider a tweak to the above implementation where NPC's transfer their offset X to subsequent NPC's that spawn... and the NPC's that survive for longer get a higher weighting in the transfer. This would lead to NPC's evolving over time into counters for whatever the most popular farming builds are at the time, which would be kind of neat (as long as it's transparent to players that the changes are taking place, otherwise it would be irritating).

Green Armadillo said...

As Melf said, destroying the loot by killing the mob the "wrong" way is not a good idea. If the "right" way (I dunno, a poison bolt?) offers comparable DPS, no one will bother to use the "wrong" way in the first place. The alternative is that players will not want to invite your mage to a group, since he will either deliver suboptimal DPS or destroy the rewards to do the DPS he was balanced for.

motstandet said...

Perhaps that fire spell also adds items to the loot table in place of what was removed.

- Cloth Equipment
+ Magic Residue

evizaer said...

As Melf said, destroying the loot by killing the mob the "wrong" way is not a good idea. If the "right" way (I dunno, a poison bolt?) offers comparable DPS, no one will bother to use the "wrong" way in the first place. The alternative is that players will not want to invite your mage to a group, since he will either deliver suboptimal DPS or destroy the rewards to do the DPS he was balanced for.

So you are all going to pick up each iron gauntlet and iron cuirass that drops from every single little henchman in every corner of the earth? An important aspect of my suggestion is that ALL EQUIPMENT is dropped by enemies when they die: this means that most of the stuff that you destroy by killing your opponent will not be worth carrying home. The disadvantage of killing destructively is not as great as you make it out to be. It would only rarely be worth having the subtle killer aboard instead of the higher DPS forceful killer.

I don't understand how the 1-in-X chance system is different from current systems.

My proposed system makes it impossible to for certain important pieces of loot to never drop in the game. (If there's a 1-in-500 chance of something dropping off a mob and we're using a random number generator, it may take 2,000 or more drops to find the item, whereas, in my system, it would take no more than 500.)

Jormundgard said...
This comment has been removed by the author.