Saturday, November 10, 2012

DPS or Survivability?

   A huge debate is going on right now in Diablo 3. The “end all” stat it seems right now is DPS. You will find people looking for someone with a certain DPS in order to run higher monster powers. Many people boast about how their DPS is over 100k, or even higher. Some Demon Hunters can get their DPS to over 250k if they are out of combat long enough, due to a passive.

            Now, this DPS number is often inflated, as in the case of Demon Hunters, as soon as they get into combat and hit their first enemy, their critical chance drops from 100% to their regular levels. They have a passive ability that every second that they don’t get a critical hit, their critical hit chance goes up. So, as long as they are standing around, it looks better than it actually is. But this is not the point of my post.

            This post is going to take a look into the formula behind survivability and DPS, and decide which is better. If you can deal 100k DPS, but die in 2 seconds, you’re not doing very well. Conversely, you may be able to withstand any kind of damage, but if you can’t kill elites or bosses before their enrage timers go off, you are useless.

            So, it’s kind of obvious to me (and hopefully to you, too) that a balance has to be maintained. But how do we determine which we need? Do we need more all resist, or critical hit chance? Do we need more armor, or critical damage?

            By taking the formula that is used to decide certain things, and then comparing the results, we can see what will be best in our current situations. First off, here are some formula used by the game:

Damage Reduction From Armor = Armor/(50*Enemy Level+Armor)
Damage Resist = Resist/(5*Enemy Level+Resist)

As you can see, the armor and resist scale parallel, with 1 resist being worth 10 armor.

 

As the chart to the left shows, armor (and resistances) has huge diminishing returns. The chart assumes a level 63 enemy.

 

The first 500 armor (50 resist) give 13.7% damage reduction. The second 500 (50) gives only 10.4% damage reduction. At 9500 armor (950 resist) the next 500 (50) only gives .95% damage reduction.

 

Now, don’t get me wrong, stacking armor is never a bad idea. But, stacking it to the exclusion of a stat that might help you out more is a bad idea.

 

 
   The point here is that there is a point where it is pretty much useless to stack more armor. Diablo 3 doesn’t have an armor cap, but with diminishing returns, it would take 25,000,000 armor to equal a 99.99% resistance. Technically speaking, you could never reach 100%, since as one value grows, you are dividing it by another value that grows in proportion. Eventually, you’d round up to 100%, but you’d never truly be there.

   Now, we have DPS. To determine overall DPS as shown on your character sheet, you use the acronym SCRAM. In this example, we’ll use my Barbarian’s numbers (unbuffed).

S = Your damage attribute * .01 + 1    In my case, S = 1996 * .01 + 1 = 20.96

C = Crit Chance * Crit Damage + 1     In my case, C = .2 (20% crit chance) * 1 (100% crit damage) + 1 = 1.2

R = Attacks per second, including any attack speed modifiers.  For me, R = 1.1

A = Average Damage. (Min DMG + Max DMG)/2    For me, A = (1021 + 1515) / 2 = 1268

M = Any damage multipliers from skills, plus 1. I have none, so I am just at 1.

Then, you multiply each value together. My Barbarian:

20.96 * 1.2 * 1.1 *1268 * 1 = 35082 DPS

   So now we know how to find resistances and DPS. But, how do we decide which is better for us? Well, this involves a comparison of current stats to possible future stats. I can’t sit here and say something like “1 armor is equal to 3 DPS” or anything like that, because for you, 1 armor might be worth 17 DPS, or vice versa. If you are stacked on armor, your armor has a lesser value than someone who isn’t.

   So, to figure out which is best for us, we need a common denominator; something to bring these equations together and give them a common ground to compare them, so that we can compare apples to apples instead of apples to oranges. In Diablo 3, and also in many RPG games, this number is the amount of damage that will be dealt to you by a monster throughout the course of a fight.

    There is a long formula to find this number, but we will break it down. But I want to impress you with my formula, so I am going to write it in it’s entirety here:

Enemy DPS * (1 – (armor / (50 * enemy level + armor)) * (1 – (average resist / (5 * enemy level + average resist)) * (Enemy Health / ((Damage Attribute * .01 +1) * (Crit Chance * Crit Damage +1) * Attacks per Second * ((Minimum Damage + Maximum Damage)/2) * Damage Multipliers)) = Total damage done to you

    Basically, this formula is saying that we take the enemy’s DPS adjust it for your resistances, and then multiply it by the amount of time it will be alive. For myself, I have made a spreadsheet that I can put the raw values in, and it will give me a baseline total damage done to me. Then I can tweak the numbers, and change some resistances, and then compare the new results. Then I can tweak other numbers, and compare the results to the previous results, allowing me to decide if I need more resists or more DPS. Here is a screenshot of my current values, in which I used the information of a Dark Thrall from Inferno difficulty. I filled in the yellow areas, and the blue areas auto populated.

The “NET DMG to You:” number is the number we want to reduce. Pretty much, increasing any attribute will reduce this number. As you can see, I inserted the “NET DMG to You” number in the “Base NET DMG” box. Next, I decided to see what happened when I changed my armor to 5,000. And this is the result:
As you can see, the “NET DMG to You” went down to 4687.54. I inserted this number into the “Change with RES”, and the “% Gain” box populated to show a 6.63% increase in efficiency. So, for me, 534 armor would give me 6.63% more efficiency.

Now, I am going to put my armor back where it was, and compare it to a 5% increase in Critical Hit chance. And this is the result:
As you can see here, 5% more critical hit chance brings my “NET DMG to You” down to 4819.76. I plug that in to “Change with DPS”, and the “% Gain” auto populates to a 4% increase of efficiency. So, when you compare the two, you see that 534 armor is worth more to me in my current state than is 5% critical hit chance.

   One thing my spreadsheet is not programmed to do is to take into account the fact that strength also adds to armor. I also have not taken into account that Dexterity adds to dodge chance. So, if you change those numbers, you might have to account for the armor and dodge chances manually.

   So, as you can see, sometimes DPS is not the end all stat. Sometimes, in order to deal more damage, you have to be able to take more damage.

 I wasn't able to embed the spreadsheet in this post, but if someone wants it, just zip me an email at sapperwoody@live.com and I can email it to you.

            - Sapper Woody