Money drops from mobs
Many mobs drop some money in their loot bags. Usually these are pretty small amounts, but bosses in epic instances of playfields can drop a substantial amount. In fact, in the early months of the game, farming bosses in epic playfields was the major source of income for some players. If you killed a level 80 boss in epic Kheshatta with a group of 6 players, you could expect around 15 to 30 silver per player; and you would get a similar amount if you killed a level 50 boss in epic Field of the Dead alone. I even heard of level 40 players farming level 20-ish bosses in epic Wild Lands of Zelata for money with which they would buy their first horse.
A few months after release, Funcom nerfed the money drops from epic bosses by a factor of 5 or so — the same kills that would formerly net you 15–30 silver will now give you just 3–6 or so. Since then, farming epic bosses for money doesn’t make much sense. However, recently, as I was farming epic Kheshatta bosses for the sake of vanity gear (screenshots of which will be published in a forthcoming post as soon as I manage to transfer a few characters to testlive so I can take the screenshots there), I noticed that if you kill these bosses alone or teamed up with just one other player, the amount of money you get is still pretty decent. I probably made more than 50 gold while farming for my 12 epic Kheshatta armor sets.
So I became interested in the amount of money dropped by the bosses. Obviously this is a random number; but what can we say about its distribution? I started writing down the amount of money for each boss kill and ended up with the following statistics (all money amounts are in silver):
Boss level |
Number of kills |
Average drop |
Std. dev. | Minimum | Maximum |
---|---|---|---|---|---|
75 | 8 | 22.38 | 7.77 | 11.09 | 30.53 |
80 | 96 | 26.45 | 7.73 | 13.17 | 38.72 |
81 | 7 | 28.25 | 9.37 | 14.10 | 37.71 |
82 | 80 | 23.42 | 7.38 | 12.63 | 38.70 |
Now, obviously we don’t have enough data for level 75 and 81 to say anything reliable there. And even for level 80 and 82, where we have a decent amount of data, we see that surprisingly the average drop from level 82 bosses is smaller than from level 80 bosses — this is surely a sign that we still have insufficient data to estimate the averages reliably enough. Still, we have enough data to plot a rough histogram. We divided the range from min to max into 10 smaller ranges (of equal width); the histogram shows, for each subrange, how many kills gave us an amount of money that falls into that particular subrange:
I was expecting to see something bell-shaped, like a normal distribution — but we see that this is not the case. The values around the average don’t really seem any more likely than those closer to the extremes. And the extremes themselves, the maximum and minimum, are suspiciously close to a ratio of 3:1 — a nice round number which we would hardly dare to expect from e.g. a normal distribution, but which wouldn’t be surprising if it’s a uniform distribution and the developers deliberately chose its range so that max = 3 × min.
Farming level 50 bosses
Now, it’s a pain in the ass to get more data for the above table, since killing level 80 epic bosses takes a lot of time; and I don’t intend to kill any more of them now that I’m done collecting my epic Kheshatta armor sets. So I started killing level 50 bosses in epic Field of the Dead instead, hoping that the distribution of money drops there is the same (just with smaller values, of course). Here are the results after 500 boss kills:
Boss level |
Number of kills |
Average drop |
Std. dev. | Minimum | Maximum |
---|---|---|---|---|---|
50 | 500 | 5.14 | 1.48 | 2.56 | 7.67 |
These are just the sort of things that you would expect from a uniform distribution. A uniform distribution on the range [a, b] will have the average μ = (a + b)/2 and the standard deviation σ = (b − a) / sqrt(12). So if we take a = min = 2.56, b = max = 7.68, we see that the average should be 5.12 and the standard deviation should be 1.478, which is very close to what we see in the table above. And we can also see that the maximum is roughly three times the minimum, b = approx. 3a, similar to what we already saw above in the case of level 80 bosses.
The histogram also shows how close we are to a uniform distribution:
Of course there’s some variation from column to column, but that’s only to be expected.
So, at this point we can speculate that the amount of money dropped by an epic boss of a given level is distributed uniformly in the range [a, 3a], where a depends on the level. It would be interesting to kill a few bosses of other levels to get a better idea of how a depends on the level (my guess is that it’s an exponential function of the level), but that would be pretty time-consuming as it’s hard to find a lot of bosses at the same level. Level 50 is a bit of an exception there, because you have the Fields of the Dead with 13 level 50 bosses in a small area; for most other levels you’re lucky if you can find one or two bosses at that level.
Incidentally, I managed to kill 120 level 50 bosses in epic Fields of the Dead in 90 minutes of farming (I think with a bit of care you could do it faster still). At an average of 5.14 silver per kill, this gives you an income of 4.11 gold per hour — not bad at all compared to things like doing quests in Kara Korum or farming resources for sale (at current prices on the Crom server at least). But it does assume that you’re the only player farming there; and I saw other people killing those bosses more often than I had expected.
By the way, while I was killing the level 50 bosses, I also wrote down which blue items dropped that weren’t part of any of the level 40–69 world-drop sets. I ended up noticing the following 20 items (they’re all bind-on-equip):
- Battlebrawn Necklet
- Battlespite
- Backbreaker
- Blacksever
- Bladebrave Tunic
- Bloodblight Bolts
- Bloodrighteous Belt
- Bloodpurge Boots
- Compendium of Many Hurts
- Corpseskewer
- Howler Hide Cloak
- Mark of Atrocity
- Mark of Hate
- Mindward Robe
- Painthreaded Leggings
- Sightshift Mantle
- Sleekspeed Leggings
- Soulfeast
- Sparkfrost
- Vigorspine Tunic
The last time I added a new (previously unseen) item was after approx. 380 boss kills. So it’s entirely possible that there might be a few more such items dropping there that I haven’t seen even after 500 boss kills.
Anyway, the number of such out-of-set items in the bosses’ loot table is potentially interesting if you want to estimate how long you’ll have to farm them for. In my post about the level 40–69 sets most of the calculations simply pretended that the loot table contains just the 12 × 8 = 96 items from the sets and nothing else; now we see that a more reasonable size of the loot table would be around 116, not just 96.
More about the uniform distribution
Suppose that we have a sample of n points, X_{1}, …, X_{n}, taken independently from a uniform distribution in the range [a, b]. The mean of such a distribution is μ = (a + b)/ 2 and its variance is σ^{2} = d^{2} / 12, where d = b − a. (You can easily derive these formulas for μ and σ^{2} by yourself from the definitions of mean and variance, or you can look them up in the Wikipedia.) In practice we don’t really know any of a, b, μ and σ — we just know the sampled values X_{1}, …, X_{n}, and the interesting question is how to find out something about a, b, μ and σ from our sample.
We can start by computing things like:
- Sample average: X_{a} = (1/n) Σ_{1 ≤ i ≤ n} X_{i}.
- Sample variance: S^{2} = (1/(n − 1)) Σ_{1 ≤ i ≤ n} (X_{i} − X_{a})^{2}.
- Sample maximum: Y = max {X_{1}, …, X_{n}}.
- Sample minimum: W = min {X_{1}, …, X_{n}}.
Since our X_{1}, …, X_{n} are random variables, the above-listed sample statistics X_{a}, S^{2}, Y and W are random variables as well. What can we say about their distributions?
As is well known, the sample average is distributed approximately according to the normal distribution with the expected value μ and variance σ^{2} / n. Since its expected value is μ, this means that the sample average is an unbiased estimator of μ. The standard deviation (square root of the variance) tells us that on average, the sample average will deviate from the correct value of μ by √(σ^{2} / n) = σ / √n.
How much is that in practice? In the case of our 500 level 50 boss kills, this standard deviation amounts to approx. 6.6 copper; for the 96 level 80 boss kills, the standard deviation was approx. 79 copper.
If we move on to the sample variance, S^{2}, it is similarly well known that its expected value is σ^{2}; in other words, it is an unbiased estimator of the population variance. (That’s why we had to divide by n − 1 when computing S^{2}; if we had divided by n instead, which might seem to be intuitively more reasonable at first sight, we would have obtained a biased estimator that would slightly overestimate the population variance.)
Next let’s take a look at the sample maximum, Y. We can see that its cumulative probability function will be
P(Y < y) = P(X_{1} < y, …, X_{n} < y)
= P(X_{1} < y, …, X_{n} < y)
= P(X_{1} < y) · … · P(X_{n} < y)
= [(y − a) / d]^{n}.
We now have to take its derivative with respect to y to obtain the probability density function:
p_{Y}(y) = n (y − a)^{n − 1} / d^{n}.
Now we’re in a good position to calculate the expected value of Y:
E[Y] = ∫_{a}^{b} y p_{Y}(y) dy
= … = b − d / (n + 1).
You can see right away that this is a little less than b, the true maximum of our distribution; but the discrepancy gets smaller if we take a bigger sample (i.e. a bigger n). And intuitively it certainly makes sense that the sample maximum, Y, underestimates the population maximum b, because sometimes Y is below b (if all your samples X_{i} are below b), but this doesn’t get counterbalanced by cases when Y would be above b (because this is impossible — none of the X_{i} can be greater than b, so Y can’t be either). So we see that using the sample maximum Y, to estimate the population maximum b will actually cause us to underestimate it. Soon we’ll see how to get a better estimator.
Finally we have the sample minimum, W. Here we can use a very analogous way of thinking as we did for Y above and we would end up with the following result:
E[W] = a + d / (n + 1).
In other words, on average, W overestimates the population minimum a by just as much as Y underestimates the population maximum b.
Estimating a and b from W and Y
Now, as is often the case in statistics, we can try to derive estimators of a and b by pretending that our Y and W happened to achieve exactly their expected value and then solving the resulting equations for a and b. In other words, we have the pair of equations
Y = b − d / (n + 1)
Z = a + d / (n + 1).
Remembering that d = b − a and solving these equations for a and b gives us the following estimators:
A = W − (Y − W) / (n − 1)
B = Y + (Y − W) / (n − 1).
Again, intuitively this makes a lot of sense; we know that Y underestimates b, so to get a better estimate of b we must add something to Y (and similarly we must subtract something from W). We know that Y was a biased estimator for b because on average it underestimated it; but what about B, is it still biased or do we finally have an unbiased estimator now? To find out, we have to compute its expected value:
E[B] = E[Y + (Y − W) / (n − 1)]
= E[Y n / (n + 1) − W / (n − 1)]
= E[Y] n / (n + 1) − E[W] / (n − 1)
= … = b.
So we see that B is an unbiased estimator of b, and we could similarly show that A is an unbiased estimator of a.
Estimating μ from W and Y
Now, remember that the mean of a uniform distribution is μ = (a + b) / 2. Since A is an unbiased estimator of a, and B is an unbiased estimator of b, it follows that (A + B) / 2 is an unbiased estimator of (a + b) / 2, i.e. of μ. Let’s call it M:
M = (A + B) / 2 = (W + Y) / 2.
This is the second unbiased estimator of μ we’ve seen today — the first one was the plain old sample average, X_{a}. Which of these two estimators is better? The fact that they are unbiased really just means that their mistakes in both directions tend to balance each other out on average (i.e. they err just as much by overestimating as they do by underestimating); this doesn’t yet tell us anything about how big these errors are, on average. For that we need to compute their variance. We already saw earlier that the variance of X_{a} is D[X_{a}] = σ^{2} / n = d^{2} / (12 n). But what about M?
The variance of M is a bit more tricky to compute. We saw that M can be computed as W + Y, but these two variables are obviously not independent of each other (e.g. because we know that W ≤ Y), so we can’t say that D[M] = D[W] + D[Y]. Instead, we can start by computing the joint probability distribution of W and Y. The cumulative probability function is
P(Y < y, W < w)
= P(Y < y) − P(Y < y, W ≥ w)
= P(X_{i} < y for all i) − P(w ≤ X_{i} < y for all i)
= [(y − a) / d]^{n} − [(y − w) / d]^{n}.
To obtain the probability density function, we need to take the partial derivative with respect to y and w:
p(y, w) = ∂^{2} P(Y < y, W < w) / (∂y ∂w)
= … = n (n − 1) (y − w)^{n − 2} / d^{n}.
(All of this of course only makes sense when w < y. If w is greater than y, the probability P(Y < y, W ≥ w) is 0, as the sample minimum cannot be greater than the sample maximum. In that case P(Y < y, W < w) = P(Y < y) and since it no longer depends on w, its partial derivative with respect to w will be 0, so that p(y, w) will also be 0 there.)
Now we’re in a good position to start computing the variance of M:
D[M] = E[(M − E[M])^{2}]
= E[((W + Y) / 2 − (a + b) / 2)^{2}]
= (1/4) E[(W + Y − a − b)^{2}]
= (1/4) ∫∫_{a ≤ w ≤ y ≤ b} (w + y − a − b)^{2} p(y, w) dy dw
= n (n − 1) / (4 d^{n}) ∫∫_{a ≤ w ≤ y ≤ b} (w + y − a − b)^{2} (y − w)^{n − 2} dy dw.
This looks a bit hairy, but it becomes a lot easier when we substitute the variables a bit. Let’s introduce u = y − w and v = w + y − a − b. Our integral turns into
D[M] = n (n − 1) / (4 d^{n}) ∫_{0}^{d} du ∫_{u − d}^{d − u} dv (1/2) v^{2} u^{n − 2}
= … = d^{2} / [2 (n + 1) (n + 2)].
Remember that our other estimator of μ, namely X_{a}, had a variance of D[X_{a}] = d^{2} / (12 n). So we can see right away that M has a smaller variance by approximately a factor of n / 6. Or in other words, if we use M instead of X_{a} to estimate μ, our errors will be on average √(n / 6)-times smaller. Or in still other words, if we want to make sure that our average error will be sufficiently small, we need a much smaller sample size (i.e. n) if we use M than if we use X_{a}.
Estimating a and b from X_{a} and S^{2}
We saw earlier that for a uniform distribution, the mean is μ = (a + b) / 2 and the variance is σ^{2} = (b − a)^{2} / 12. If we solve this pair of equations for a and b, we see that a = μ − σ √3 and b = μ + σ √3. Since we know that e.g. X_{a} is an unbiased estimator for μ, and S^{2} is an unbiased estimator for σ^{2}, we can plug them into these formulas for a and b to get another pair of estimators for a and b:
A’ = X_{a} − S √3
B’ = X_{a} + S √3.
Are the new estimators unbiased? Let’s try:
E[B’] = E[X_{a} + S √3]
= E[X_{a}] + √3 E[S]
= μ + √3 σ = b,
and similarly we could see that E[A’] = a. So these new estimators are also unbiased, just like our previous ones (A and B) were.
An interesting question would be which pair has the smaller variance; but when I tried to compute the variance of A and B, I couldn’t get any elegant results, it all quickly turned into a horrible mess.
However, there is one other argument against using A’ and B’: it’s perfectly possible that A’ might turn out to be greater than W, and B’ can be less than Y. And if that happens, you’ll feel a bit silly having estimated the population maximum with a number that is smaller than your sample maximum. This cannot happen with A and B.
Wrapping up
Now that we know a bit more about uniform distributions, we can go back to our experimental data:
Statistic | Boss level | ||||
---|---|---|---|---|---|
50 | 75 | 80 | 81 | 82 | |
n (sample size) | 500 | 8 | 96 | 7 | 80 |
W (sample min) | 2.56 | 11.09 | 13.17 | 14.10 | 12.63 |
Y (sample max) | 7.67 | 30.53 | 38.72 | 37.71 | 38.70 |
X_{a} (sample avg.; estimator of population avg.) | 5.14 | 22.38 | 26.45 | 28.25 | 23.42 |
√ D[X_{a}]* | 0.066 | 2.74 | 0.79 | 3.54 | 0.82 |
M (better estimator of population avg.) | 5.11 | 20.81 | 25.95 | 25.91 | 25.67 |
√ D[M]* | 0.0072 | 1.86 | 0.19 | 2.62 | 0.23 |
A (estimated population min) | 2.55 | 8.31 | 12.90 | 10.17 | 12.30 |
B (estimated population max) | 7.68 | 33.31 | 38.99 | 41.65 | 39.03 |
*Note: actually, the formulas for D[X_{a}] and D[M] require d, which is b − a; we of course don’t know the true values of any of these parameters, so we used B − A instead.
The standard deviations √D of X_{a} and M are useful as they give us an idea of how (un)reliable our estimates of μ are, and also how much more reliable M is than X_{a}. You can see that the expected error of our M-estimate of the average drop from level 50 bosses is barely 72 tin!
oh,jesus… well nice job