Sign in to follow this  

Loot Tables

This topic is 3307 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

A thread in the Age of Conan forums seems to suggest that loot drops are not a 'solved problem'. That is just one particular game, but loot drops are a very common thing in games. Maybe it's worth solving? If a Raven Feather is important to me, I go hunting Ravens. And if Raven Feathers aren't valuable to me, I hunt for something else. So how common are Raven Feathers in the population of all loot dropped? From this perspective, it seems that killing Ravens (and thus Raven Feathers) is a more commonly executed loot drop if the prize is more valuable to the player. One might even measure the player's desire for Raven Feathers as the deviation from percenage of ravens in the comparable monster population to number of Ravens killed. What if there's only one Raven in the game, and it takes ten kills to get a feather? Or conversely, what if Ravens are a common mob, and they always drop a feather? [Edited by - AngleWyrm on December 23, 2008 2:25:24 AM]

Share this post


Link to post
Share on other sites
One obvious way of doing it right is to model a realistic dynamic world.

Ravens die and reproduce. All ravens have feathers, and you may need to kill one to acquire a sizable quantity.
The price of raven feathers is dependent on the supply and the demand.

So automatically, the more people kill ravens, the rarest ravens will be, and the more valuable raven feathers will be.

Share this post


Link to post
Share on other sites
Consider the Babylon 5 fighters. They travel at the speed of plot (says author Michael Straczynski), meaning that they get where they need to be in the time that is most entertaining to the audience.

The drop rate for raven feathers, and just about everything in a video game, should be what is most entertaining to the audience. Until you have determined what "most entertaining" is precisely, no amount of mathematical tricks or program tweaks are going to solve your problem because you don't know what the problem is.

My usual approach is to think in terms of time at a certain level. For instance, I decide that around level 10, characters will want to have a Raven-Feather cape, that it would be interesting to get that cape in one hour of gameplay, and that it would make sense for a cape to contain 100 Raven Feathers. Since a character can, through testing/numeric estimation, kill 30 ravens per hour, this means those 30 ravens must yield on average 100 raven feathers, which is about 3.3 feathers per raven. So, a drop rule like
Feathers | Probability
1 | 5%
2 | 20%
3 | 30%
4 | 30%
5 | 15%

Gives both a satisfying number of feathers (there's a 75% chance of getting at least three feathers from a raven, which is reasonable) and the correct average. You can use plot tools to examine the actual duration distribution (determine how long it takes to get all 100 feathers) and see how wide it is around the target duration, and perhaps tighten it a bit by increasing the probabilities near 3.3 and decreasing the others.

It's quite probable that a character won't spend more than an hour's worth of loot to get a cape that takes one hour to get (except in risk aversion situations). And since an hour's worth of loot is quite likely much higher for a character able to amass those feathers in a shorter duration (because you still need to hunt those ravens even if you kill them with one shot), it's probable that the cape won't be sold.

Share this post


Link to post
Share on other sites
That makes an excellent design doc; a plan for laying out the entertainment. From that point forward, a problem expressed in the thread was losing control of the balance of loot in the world. Some items were dropping a whole lot, other items weren't dropping, and still others existed in the universe in numbers that did not match their assigned percentages.

As an initial stab at it, I created a LootPool container, and pre-generate all the items in the percentages that we want to exist; those percentages were determined in the above post. As creatures drop items, they pull from the LootPool. And this container could be more detailed, so as to have categories to avoid the silliness of a spider with a sword, or have subsets that drop on a per-level, per-area, or any other category. (I currently believe that this category/tagging idea is the part where things go astray.)

What happens if the loot pool (or one of it's subcategories) is emptied? In this situation, the loot pool executes a restock, to accomodate more mob drops. For instance, lets say we have three different loot:

Sword 35%
Scroll 20%
Armor 45%

So 100 items are added to the loot bag, 35 sword, 20 scroll, 45 armor. Proportion generated for the bag is maintained, but the bag is infinite.

The odd part is where the bag starts to get lopsided. As we examine the bag, after many players have played for a while, we find the proportion that is actually in the bag to be quite different from the assigned proportions. As such, this means that the items received by players during monster drops are quite a bit diffent from the assigned percentages.

My guess is that the items drawn from the bag are drawn from subcategories selected by a non-uniform method. Maybe players choose their favorite category, or the layout of the land changes access to certain categories, or level/class/etc requirements vs implemented loot, or monster spawn rates. And these differences are changing the percentages drawn.

What has evolved is that there is an initial designed percentage, and an actual percentage dropped into the game.

[Edited by - AngleWyrm on December 25, 2008 2:25:02 AM]

Share this post


Link to post
Share on other sites
Quote:
Original post by AngleWyrm
That makes an excellent design doc; a plan for laying out the entertainment. From that point forward, a problem expressed in the thread was losing control of the balance of loot in the world. Some items were dropping a whole lot, other items weren't dropping, and still others existed in the universe in numbers that did not match their assigned percentages.


Ideally, if every player gets their own Raven Feathers, the drop rule guarantees that they have to spend an hour kill ravens to get 100 Raven feathers. On the other hand, consider a Were-Raven. Killing it requires a party of level-50 characters in Balrog-Leather Thongs and Überadamantine Plate Mail, and it drops the fabled Were-Raven Beak, as well as 1500 Raven Feathers. Those killers don't care about the 1500 Raven Feathers: a Raven-Feather Cape is too low-level for them, so they'll just take the Beak and leave the Feathers. That's 15 free Raven-Feather Capes lying on the floor waiting to be collected.

One solution would be to arbitrarily restrict access to Raven Feathers if you're not actively looking for them. It doesn't even have to be arbitrary: a simple in-game explanation is that if you get 30 Feathers yourself and buy the 70 others, it only seems fair that 70% of the Animal Spirits inside the cape don't recognize your warrior might and won't provide you with any bonus—so you get a cape that gives you only 30% of its intended benefits. As things increase in level, it gets worse: your Balrog-Leather Thong either recognizes you as the original killer and protects you, or kills you through brutal crotch ignition.

So, now the resource isn't really "Raven Feathers" but "Feathers of Ravens you killed yourself", which is quite balanced.

Share this post


Link to post
Share on other sites
The above solution, while expressed in quite the entertaining manner, is Bind-on-pickup/SoulBound. This seems to work, but the price is rather steep, because it forbids players from trading stuff. People become individuals watching each other, but with no real care for what they are doing:

'Hey guys, I just got a Raven Cloak!' gets responses like 'yay for you,' and 'I got mine when I was three levels lower than you' -- long-distance plattitudes.

But if trading is allowed, it becomes possible to respond with 'pssst, I'll give you a copper piece for it; it's a good deal, trust me', and 'gimme that or I'll kill ya' -- responses with genuine interest.

Wouldn't it be nice to create a solution that works without such a limitation?

[Edited by - AngleWyrm on December 27, 2008 6:06:24 PM]

Share this post


Link to post
Share on other sites


In this simplified representation, there are a set of seven players (A-G). There are only three character levels, and after the last one comes 'Retirement'. Retirement could be finishing the game, switching to levelling an alt, or any other reason to stop playing a toon. I almost chose 'Offline' to describe characters E, F & G, as it is similar.

Character A is level I, B & C are level II, and D is level III. E, F & G are retired.

The connecting lines represent interaction between characters. It is possible to email stuff/money to an alt in some games, so communicating with retired characters is present. Communication lines between two retired characters might not as yet make sense (but could be some automated process, such as a posted auction sale bought by automatic price purchasing between two offline characters, or perhaps a missile delivery between dead players).

The tricky part is making any given loot drop valid and acceptable for the full set of players. With the Raven Cloak example, let's give that scenario to the two mid-level characters 'B' and 'C'. Character 'A' is too low to use it, and character 'D' is too high to use it (other stuff available).

Measuring value in minutes, let's say that it is 120m of work to A, 60m work to B & C, and 30m work to D. At first it seems like A shouldn't bother, because B & C will only pay 60m and D will only pay 30m. It also looks like D could grind for 30m and collect 60m worth of loot from B & C, and 120m from A.

But there's a rub: What do B & C have that they can purchase it with? The things they have are worth more to A and less to D!

Share this post


Link to post
Share on other sites
RGB Land
Persuing the idea of relative worth a bit further, in another simplified universe there are three gem drops: Red, Green and Blue. There are also three players, Ralph(level 1), Greg(level 2) and Brad(level 3).

The time in minutes to hunt/gather each gem by each player

Name		Red	Green	Blue
Ralph(1) 4 8 16
Greg(2) 2 4 8
Brad(3) 1 2 4


If Brad(3) spends four minutes getting red gems he will get four red gems. The four red gems are worth a total of 4m to Brad(3), 8m to Greg(2), and 16m to Ralph(1).

Ralph(1) could pay for the four red gems with two green gems (or one blue gem), being an equal 16m of Ralph(1)'s time. And Brad(3) could accept the two green gems (or one blue gem), being an equal 4m of Brad(3)'s time.

[Edited by - AngleWyrm on December 27, 2008 10:18:47 PM]

Share this post


Link to post
Share on other sites
Sign in to follow this