How can something be faster than 100%?
- english
- games
- math
I've been playing a lot of Backpack Battles lately, fun game check it out if you're interested. The game poses simple mathematical problems that algebra can easily deal with. However there was one problem (an english problem as it turns out) that troubled me. How do I carry out applying a "buff" that reads "Trigger X% faster"? My first instinct was to read this buff as "Lower cooldown by X%", but once I had stacked up enough of these "Trigger X% faster" buffs such that their total sum was above 100%, and my cooldowns were not at 0 seconds, I knew I was doing something wrong.
Breaking down the problem
Lets attempt to apply a "Attack X% faster" buff to a weapon whose damage and cooldown stats are as follows. Damage = 18, Cooldown = 4.5seconds (also known as Rate of Fire or Attack Time). From these two stats we can derive the following commonly used values:
dps: Damage per Second = 18damage / 4.5seconds = 4dps
aps: Attacks per Second = 1attack / 4.5seconds = 0.22aps
spa: Seconds per Attack = 1 / aps = 1 / (1attack / 4.5seconds) = 4.5seconds / 1attack = 4.5spa
Note that aps: Attacks per Second is commonly known as "Attack Rate", and spa: Seconds per Attack is the literal definition of Cooldown which also happens to go by different names as listed above.
Note that aps and spa are recipricals of each other
Thus if we have one we can easily find the other.
Now lets apply a "buff" to this weapon that reads, "Attacks 20% faster". In order to apply this buff we must first understand that the word "faster" refers to a unit of something per some unit of time. So the "Attack 20% faster" buff will increases the Attacks per Second stat (aps) by 20%. To increase something by some percentage we multiply by (1 + (Percentage Increase)). If we are decreasing then do (1 - (Percentage Decrease)).
Buffed aps = aps * 1.20 = 1attack / 4.5seconds * 1.20 = 1.20attacks / 4.5seconds = 0.2666666667aps
You can take the reciprical of this to get the new spa value.
Buffed spa = 1 / Buffed aps = 1 / 0.2666666667aps = 3.75spa
To solve for the new spa value directly rather than taking the reciprical of the buffed aps, you divide the original spa value by the "buff" percentage increase. Lets work through the algebra.
Buffed spa = 1 / Buffed aps = 1 / (1attack / 4.5seconds * 1.20) = 1 / (1.20attacks / 4.5 seconds) = 4.5seconds / 1.20attacks = 3.75spa
The new dps value would be
Buffed dps = 18damage / 3.76seconds = 4.78dps
Key Takeaway
The main takeaway is the understanding of the word "faster" which refers to unit of something over unit of time. It would be incorrect to interpret the "Attack 20% faster" buff as "Lower item cooldown by 20%" which is what I had originally interpreted it as.
Wrong inpretation spa = 4.5seconds / 1attack * 0.80 = 3.6spa
I'd recommend using (at least think about using) the spa and aps units instead of cooldown, rate of fire, trigger rate, attack rate, etc.
Using these units improves the wording of the buff to "Attacks per Second +20%", or "Increase APS by 20%" which is much easier to understand at least in my opinon. But maybe things are clear enough as they are, and I was the only one that needed a refresher on the wording. Anyways, I hope this has helped clear things up for someone.