Wednesday, January 14, 2009

An Explanation of Haste

When haste was first introduced into World of Warcraft as an item stat, it seemed there was a great deal of confusion on how it actually worked. Even now that haste has become an extremely common stat that can be found on a significant portion of caster gear, it seems that there are still questions on how exactly each percentage point of haste affects spell casts and global cooldowns.

Well, nowadays there are a great many resources (such as WoWWiki's Casting speed page) available that explain how exactly haste rating and haste percentages modify spell casting speed and the global cooldown, as well as formulas that allow you to calculate how much haste you need to reach a target goal—such as reducing the 1.5 second default global cooldown to the 1 second minimum. Unfortunately, it seems that what many of these resources don't provide is an explanation of why haste behaves the way it does, and so the purpose of this post is to explain exactly that on a conceptual level.



If we think about it, there are two ways to view the meaning of the word "haste". The first way is to interpret it something along the lines of "take less time to do a set task", and the second way is more akin to "do more in a set amount of time". Generally speaking, when we think of haste, we're likely to think about the first interpretation. For example, "Max hastily made his bed" most likely means that although it normally takes Max 3 minutes to make his bed, in this case he managed to make it in 2 minutes because he rushed. However, World of Warcraft uses the second interpretation instead of the first. An example of this interpretation would be "If I work with great haste, I should be able to paint 3 walls before dinner instead of 2."

So, you're probably thinking "Well, what's the difference? Taking less time to do something is basically the same thing as doing more things in a certain amount of time!" It turns out, there's a significant difference, mathematically speaking. Let's say Al and Bob are cutting carrots, and it takes both of them about 1 minute (60 seconds) to cut 10 carrots. After a while, Al and Bob get bored, and so Al decides to cut his carrots in 50% less time while Bob decides to cut 50% more carrots each minute. If there was no difference between the two, then Al and Bob should still be cutting carrots at the same rate, right? Well, Al begins cutting 10 carrots in 60 - 50% = 60 - 30 = 30 seconds, and Bob begins cutting 10 + 50% = 10 + 5 = 15 carrots in 60 seconds. After 1 minute, Al ends up having cut 20 carrots while Bob has only managed 15.


Now, how does this apply to World of Warcraft? Well, if you think about haste using the first interpretation—making each cast/global cooldown take less time—then the numbers are going to seem counterintuitive. Thinking about it this way would lead to the conclusion that you would only require 33% haste in order to reduce 1.5 seconds to 1 second, since
1.5 seconds - 33% = 1.5 seconds - 0.5 seconds = 1 second.
It would also lead to the conclusion that 100% haste would make all of your spell casts instant, since
1.5 seconds - 100% = 1.5 seconds - 1.5 seconds = 0 seconds.
Yet this is not how haste behaves in the game.


However, if you try thinking about it with the other interpretation—that it allows you to cast more spells in a set amount of time—it begins to make much more sense. The way I conceptualize it is that haste increases your casting rate. So, if you have 100% haste, then you can cast twice as many spells in the same amount of time it would take you to cast a single spell with no haste. If we use a 3-second spell as an example, then
1 spell per 3 seconds + 100% = 1 spell per 3 seconds + 1 spell per 3 seconds = 2 spells per 3 seconds.
So, if it doesn't take 33% haste to reduce a 1.5 second spell cast or the 1.5 second global cooldown to 1 second, then how much haste does it take? If you conceptualize it with the formula just above this, you can math it out:
1 spell per 1.5 seconds + ? = 1 spell per 1 second
1 spell per 1.5 seconds + ? = 1.5 spells per 1.5 seconds
? = 1.5 spells per 1.5 seconds - 1 spell per 1.5 seconds
? = 0.5 spells per 1.5 seconds

0.5 spells per 1.5 seconds is what % of 1 spell per 1.5 seconds?
(0.5 spells per 1.5 seconds) / (1 spell per 1.5 seconds) = 1/2 = 0.5 = 50%
So, you need 50% haste to reduce a 1.5 second spell cast or global cooldown to a 1 second cast or global cooldown.

No comments:

Post a Comment