Thursday, November 28, 2013

WoW: Will the Item Squish Quash Our Ability to Solo Earlier Raids?


A rather interesting feature of Warlords of Draenor is the much anticipated “Item Squish”. Basically, numbers are getting too big to rationalize. It’s hard to fathom ten billion health and a half-million DPS, compared to a million health and five thousand DPS, so Blizzard wants to make all the numbers in-game smaller.

Stolen from MMO-Champ. From Blizzcon.
A quick technical aside, many people believe that Blizzard is performing the number squish because computers take longer to calculate bigger numbers. Assuming Blizzard has upgraded their servers to 64-bit code, this is erroneous. An unsigned 64-bit integer goes to 264 - 1, or 18,446,744,073,709,551,615. Any calculations on numbers smaller than that, be it 10 + 20, or 10,000,000,000 + 20,000,000,000, take the same amount of time. In Computer terms, if the numbers can fit in a single register, it doesn’t matter how big it is. Technically Blizzard would still be okay on 32-bits, as long as boss health stayed below 4.2 billion or so, but we’re rapidly approaching that (Malkorok has 1 billion health on 25-man Normal, for example).

Back to the squish itself, Blizzard claims that our relative power won’t change, and that our ability to solo old content won’t change, but my intuition tells me that this is mathematically impossible. Now, instincts about math are often wrong--a prime example of this is the Monty Hall problem, which states:

‘Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice?’

Most people figure keeping to the same door is the better choice, however, you have a much better chance to win that car if you switch to the other door. The Wikipedia link gives the proof, but the end result is any time my intuition tells me something about math, I figure I need to question it (not to mention justify my minor in Pure Mathematics). So let’s run through some numbers and figure out whether my instincts are right, or if Blizzard’s statement is true.

The first thing I did was determined the DPS curve for all of WoW. For each raid tier, I tried to find a boss with the following qualities:
  • Tight enrage timer (DPS race)
  • Single target
  • As little movement as possible (i.e.: Patchwerk fight)
  • 25 Normal data exists (Tier 2 and 3 I took 40-man data and normalized the health to 25-man)
The fights aren’t completely comparable, but when I saw the compiled data, I quickly realized that the magnitude was really the interesting bit. There’s a couple cases where I couldn’t find a great fight, either because no enrage timer existed (Tier 1, Tier 4), or no Patchwerk-style fights existed (Tier 9). For Tier 4 and Tier 9, I picked a fight as close as possible, and Tier 1 I just said screw it and dropped it from the data.
 
Tier
Boss
Health
Enrage
Raid DPS Required
2
*(999,300) 624,562
5 Minutes
2,082
3
*(3,850,000) 2,406,250
7 Minutes
5,729
4
3,375,000
~7 Minutes
8,036
5
4,500,000
10 Minutes
7,500
6
10,500,000
6 Minutes
29,167
7
13,038,575
6 Minutes
36,218
8
30,000,000
15 Minutes
33,333
9
20,910,000
10 Minutes
34,850
10
40,440,000
5 Minutes
134,800
11
90,620,000
7 Minutes
215,762
12
99,978,288
6 Minutes
277,717
13
184,238,336
6 Minutes
511,773
14
641,000,000
8.5 Minutes
1,256,863
15
1,226,000,000
12 Minutes
1,702,778
16
1,055,102,592
6 Minutes
2,930,841
* Health normalized by multiplying by 25/40.
~ No enrage timers for 25 man raids exist. Text suggests that ~7 minutes the raid will be overwhelmed.
% No Patchwerk fights exist on this tier. Anub’arak is the only one with a tight enrage, but between the life leech and the adds, the Raid DPS required is probably a fair bit higher than listed.

If we plot the data on a graph, it’s very clearly an exponential curve:


But we already knew that. Blizzard has stated a number of times they’re aiming for an exponential power curve, so that gear can feel exciting, and such that you actually replace your gear when an expansion drops. But as you can see, the lower end is incredibly compact in terms of values. The jump from Void Reaver to Brutallus may be a factor of 4, but the raw value is only about 22,500 DPS, which is nothing in comparison to the 1.2 million DPS jump from Iron Qon to Malkorok. So how do we reconcile this with ensuring that we can solo the old raids and not have numbers get ridiculously small rather than being crazy big?

One of Blizzard’s claims is, “it will STILL take 5s to kill a Timeless Isle Gulp Frog.” To ensure that’s true, it’s a simple case of just scaling your current power down and the health of the mob down by the same factor. For example, if you do 100,000 DPS today, and a Gulp Frog has 1.4M health, it would take you 14 seconds to defeat the Gulp Frog. If Blizzard wanted to scale down DPS so that the same character after the squish would only do 5,000 DPS, it’s a simple matter of dividing both numbers by 20, so the Gulp Frog after the squish would have 70,000 health. No big deal.

So how about soloing old raids? If you wanted to use the same level 90 character to kill Festergut, before the patch it would take 404.4 seconds at 100,000 DPS. After the patch, Festergut would need to have only 2,022,000 health to achieve the same result at 5,000 DPS. Not so bad.

Things start to get a little weird, in-line with my expectations on an exponential curve, when you apply the same thing to the first few tiers. Princess Huhuran would need to have only 49,965 health to have the same effect, which is less than General Drakash in UBRS--a 5-man level 58 boss--by nearly half. Void Reaver, only 225,000 health. That’s not to say it’s impossible, just a little strange. It’s honestly a large enough difference between Tier 2 and Tier 16 that if Blizzard only reduced the Vanilla tiers by a factor of 10 instead of 20 (meaning Huhuran would have 100,000 health), the ability of a max level character to solo that boss wouldn’t be greatly impacted, though someone at level 70 might struggle a bit more than they would otherwise.

If we were to take the squish to its literal conclusion, it would fall apart once you hit Vanilla content, so I feel my instincts were justified. But at that point the numbers are so small anyway that the precise factor one would utilize applying the squish is largely irrelevant. The math is a bit basic, but it supports Blizzard’s statements just fine. I doubt they’ll just apply a multiplier to reduce the values because I’m sure there are subsystems that I haven’t looked into that would fall apart, but given I didn’t go to Blizzcon, I couldn’t begin to guess what they actually did (the squish was in effect at the Warlords of Draenor demo stations, apparently). Still, it seems feasible. I’ll be interested to see how they go about doing it.

6 comments:

  1. Awesome read, good explanation. I enjoyed it.

    ReplyDelete
  2. "the ability of a max level character to solo that boss wouldn’t be greatly impacted, though someone at level 70 might struggle a bit more than they would otherwise."

    My understanding is that is is ONLY staying true for max level characters. A level 70 will be unable to solo level 60 stuff that they used to be able to.

    Basically, instead of ilvl providing a, say, 2% increase from 1 all the way to 608 (169,396 times the power) it will be a 2% increase from 1 to 60 and then from 437 to 608 (with it being like a 0.1% increase from 60 to 437). This gives us 140 times the power instead, hence the squish. They're not multiplying the health/damage of players/mobs by a constant, they're reducing the impact of ilvl dramatically for a certain spectrum.

    ReplyDelete
    Replies
    1. "My understanding is that is is ONLY staying true for max level characters. A level 70 will be unable to solo level 60 stuff that they used to be able to."
      ~ Yeah, given Blizzard's track record of giving perhaps a quarter of a damn about anything not max level, I'd fully expect that.

      "This gives us 140 times the power instead, hence the squish. They're not multiplying the health/damage of players/mobs by a constant, they're reducing the impact of ilvl dramatically for a certain spectrum."
      ~But they must also reduce mob health/damage to compensate, otherwise we'd not be able to kill a Gulp Frog at all. Regardless, I realize they aren't just going to divide everything by 20 and call it a day, that'd be silly for a lot of reasons. However, the important information here is the result, not how Blizzard got to the result, so I just used said factor as a proxy for whatever technique Blizzard would use.

      Delete
  3. "Technically Blizzard would still be okay on 32-bits, as long as boss health stayed below 4.2 billion or so, but we’re rapidly approaching that (Malkorok has 1 billion health on 25-man Normal, for example)."

    Actually we've surpassed that limit, since the devs themselves mentioned in Blizzcon that the reason that Garrosh has to heal up for each of his phase transitions is because they were hitting the caps on boss health already.

    They also mentioned that they were considering raid-wide buffs when entering an instance at levels higher than planned, to make soloing possible.

    ReplyDelete
    Replies
    1. "Actually we've surpassed that limit, since the devs themselves mentioned in Blizzcon that the reason that Garrosh has to heal up for each of his phase transitions is because they were hitting the caps on boss health already."
      ~ Huh, I missed that. Doing some quick math on 25N, seems like Garrosh runs through 1.73B health through the entirety of the fight (I can't find numbers for Heroic, it seems, which will clearly be higher). Definitely close for comfort. But it does sound as if their servers are definitely still 32-bit. Or at least the numbers holding health values are.

      "They also mentioned that they were considering raid-wide buffs when entering an instance at levels higher than planned, to make soloing possible."
      ~ That's a hack if I ever heard one, but I guess it would work. Definitely ugly, though.

      Thanks! Information I was clearly missing :)

      Delete
  4. Yeah, that reminds me, Ra-Den on 25 man COULD bug out from his maximum health going over the maximum value a 32 bit integer could hold.

    ReplyDelete