Saturday, April 13, 2013

Global Experience Thwacking

As those of you that pay attention to channel bovine are probably aware, there are several checks and balances that keep experience earnings in check from floating too high or low.  This is, in general, a Good Thing.

Most of the checks make sense.  A lot of the skill-based experience is handed out based on your level, the difficulty of completing the goal using the skill (that is, disarming a high strength and dexterity mob, roaring a high level mob, stealing an item from a highly dexterous mob, brewing a high level poison, etc.), or how often you have recently used the skill or spell.

You also have checks on mob death experience.  One of the checks the game makes is how often you've killed the mob in question recently.  That makes sense.  Each mob should have it's own unique fighting style, and you can only learn so much from fighting against the same tactics.  This also encourages people to have a  rotation of more than a few areas, which is basically a Good Thing as well.

A check that I don't quite understand why Dentin uses it is the Global Area Thwacker.  Basically this means, if a lot of other people have run the area recently the experience you will get less experience for running that area. I can't make any rationalization for this happening. Not one.  I don't even understand why it's in place. I have no idea why other people running an area should affect the effect a player gets.

Edit: Dentin posted a really good response here: http://wiki.alteraeon.com/index.php/Global_exp_thwacker

Thanks goes out to Dentin for the quick and informative response.

2 comments:

  1. This is a really good question, and the short answer is that this thwacker is intended to act as a global safety valve, a sanity check of last resort.

    It should be noted that until recently, it was nothing of the sort. Prior to the recent changes on it, the data collection gave an amazingly huge bias toward group mob kills. That's been changed, and the numbers are definitely flattening, which is a good thing. Ideally, this thwacker should distribute a small amount of exp dent across a large number of creatures, not focus on a handful of vnums.

    (Trivia point: this thwacker also handles double exp mobs and double exp areas, for creatures which are seldom touched. That isn't relevant to this discussion however.)

    Some history:

    Back in the olden days, there really wasn't any concept of area checking other than by hand and through player feedback. I started to notice that a small number of mobs were being pounded into the ground for experience, pretty much to the detriment of the rest of the game. Camping mobs for exp was rampant, and I started collecting numbers to see which mobs were the worst offenders.

    This told me which mobs were the problem, but I quickly ran into issues where builders either refused or would not update the creatures in question. In a lot of cases, it was difficult to know how much to change the mob, and I quickly realized that this was going to be a long term, persistent problem unless it could be automatically handled in some way.

    Enter the thwacker.

    The original design goal was to look at the biggest exp mobs on the game, and slowly lower exp on them until it became more profitable to run elsewhere. In an ideal world, a balance would be reached where it would be a matter of tradeoffs, not a matter of 'this is the best exp mob on the game'. In the real world, it didn't work that well, but it helped, and it helped a lot.

    Later on, a lot of other experience control systems and methods were added, reducing some of the need for the original thwacker, but not completely eliminating it. As the other systems came online, I saw the global thwacker as more of a safety valve than anything else. When a new area came out, if there were broken mobs in it, they would quickly go onto the dent list, and over time they would settle into a long term equilibrium with the rest of the game over the course of a few months.

    (Next comment)

    ReplyDelete
  2. Unfortunately, the original thwacker design and algorithm really wasn't that good, and the way experience changed over the years was interacting badly with that algorithm:

    - The thwacker was penalizing mobs run by large groups very, very hard. A single, large group of high level players could place a handful of mobs near the top of the daily hit list in under an hour.

    - Very high level players really didn't have very many places they could go, especially in groups. This severely limited where those high level players could go, and because high level players accumulate the most experience the fastest, that handful of good, high level exp mobs were quickly thwacked into oblivion. About the only saving grace of this was another poor design decision, which limited the damage:

    - The thwacker's control system used a multipler that ranged from 100% (full experience) to 20% (one fifth of full experience.) This meant that undented mobs had to be hit really hard before anyone would notice, while heavily dented mobs would vary a lot and rather quickly. As an example, a 5% hit on an undented mob yields 95% of full experience, but a 5% hit on a 25% mob drops it to 20%, which lowers the mob from one fourth nominal to one fifth nominal.

    With the latest major changes to the exp system, all three of these things have been corrected:

    - The large group dependency is almost completely gone.

    - Other parts of the exp code were changed to reduce the limiters on high level players and give them many more places to run.

    - Work continues to update areas and bring many of them up to a more unified standard, which also gives high level players more options.

    - The global control system now uses a smooth exponential scale for adjusting experience, instead of the poorly weighted percentage method. This means that a 5% dent means a 5% dent whether the mob is at full experience or at one tenth of nominal.

    The results of these changes have been pretty clear and pretty obvious. Virtually none of the previous 'big hitter' mobs are at the top of the lists, and when they are, it's only for short periods of time, not day after day. Nearly all of them are slowly gaining back experience as the control system rebalances; shatjans for example, have gone from 20% exp to 32% since the update, raising their exp by a full 60%.

    It will take on the order of 2-3 months before the new setup has completely adjusted to its new goals, but so far, things are looking pretty good. With any luck, the global thwacker will once again be working as intended: as a limiter of last resort.

    ReplyDelete