Diablo® III

Strange DPS values, any ideas?

I enjoy theorycrafting and was looking forward to getting started on understanding the fundamentals of Diablo 3, but I've come across a problem.

The intuitive formula for calculating average DPS, which for the time-being excludes attack speed modifiers, additive dmg modifiers and non-attribute multiplicative dmg modifiers

DPS = uva(1 - w) + uvawx = uva(1 + w(x -1))

with

u = Avg Weapon Dmg
v = Attacks Per Second
a = Attribute Modifier (i.e. 1.45 for a DH with 45 Dexterity)
w = Crit Chance (.05 in all the calculations below)
x = Crit Damage Modifier (1.5 in all the calculations below)

Anyways, that formula's pretty basic and intuitive, I really can't imagine that they're using a different formula to calculate the DPS that displays in the character tab.

So, here's where the problems arise. Mind you, all the discrepancies are pretty minor, but as the numbers get larger, and as you start to incorporate other factors such as attack speed, and other dmg modifiers these small discrepancies will become large discrepancies.

Here are 4 examples of the differences in calculated DPS and displayed DPS:

Broad Axe, 6-10 dmg, 1.3 Attacks per Second: Calculated DPS = 15.4570, Displayed DPS = 15.45

Javelin, 5-6 dmg, 1.2 Attacks per Second: Calculated DPS = 10.7010, Displayed DPS = 10.69

Hand Axe, 3-4 dmg, 1.3 Attacks per Second: Calculated DPS 6.7624, Displayed DPS = 6.76

Magic Hand Crossbow, 3-17 dmg, 1.6 Attacks per Second: 23.78, Displayed DPS = 23.77

The differences might not seem like much, but I don't know how to explain them. It isn't a case of the client rounding the values down, because in examples 1, 2 and 4 this doesn't occur. It also isn't a case of the client only displaying to the hundredth and not rounding, because in examples 2 and 4 this doesn't occur.

So, my question is what is happening here?

It's possible that there is a non-discrete, or a discrete non-uniform, probability distribution being used to determine the weapon's damage on each swing/shot, but it would have to be very close to the normal discrete distribution where each value within the range has an equal chance to account for the weapons' displayed DPS values being so close to what you'd expect from this uniform distribution.

It's also possible that the displayed values for the damage ranges for each weapon isn't accurate. If you look at the weapons in the Game Guide, a lot of them have a range of values for the min and max damage values, i.e. http://us.battle.net/d3/en/item/club . It's possible that the min and max values on weapons that drop in game are some number between these ranges and that the game is rounding the number on the tooltips, but all the calculations are done with the non-rounded values. If this is the case, I think we should have an option to show the non-rounded values.

Anyways, I posted this in the Beta feedback section and didn't get any responses. If anyone here has any idea what's causing the discrepancies let me know! This includes calling me a noob and pointing out my mistake, I don't mind this so long as it resolves the problem.

TL;DR: The displayed DPS value in the character info pane is showing values close to, but not exactly what they should be, at least according to what I think the obvious formula is. Looking for input from other people interested in this kinda stuff.
Reply Quote
Posts: 2,451
How is anyone supposed to understand this unless they're a master mathematician.
Reply Quote
Posts: 7,260
Don't get me wrong, I loved theorycrafting in FFXI and WoW, but I think MMO theorycrafting has clouded your judgment. In other words:

Who cares what your inventory tab dps is? It'll be different with each and every different ability you use....

If you want to theorycraft as far as Diablo 3 is concerned I think your time would be better spent playing with the skill calculator and trying to figure out which abilities for a class (or all classes if you'd like) has the most synergy and will work best together endgame (ie inferno). Pre-release there isn't much you can do but speculate, also considering they're still reworking legendary and set item stats (or are waiting to release the info).

Once the game is released then other things to theorycraft will open up, but until then, theres still too many variables which we don't even have knowledge of fully (or even partially) because they're still being worked on. At least thats my opinion.

So while I may agree with the fact that theorycrafting is enjoyable (and something I will be doing), I don't think its doable at this point, at least not with things that matter (maybe just to me, maybe not).
Reply Quote
Posts: 2,451
I've taken 3 levels of statistics, and I have no idea how he came up with that formula.
Reply Quote
Posts: 7,260
Well, the obvious conclusion is that his formula is wrong, if its not lining up at least within a fraction of what his ingame figure is telling him. If he did have the right formula it would be only a few 10ths or 100ths off I'd imagine, from rounding.
Reply Quote
Posts: 646
02/04/2012 11:30 PMPosted by D3BETA
If you look at the weapons in the Game Guide, a lot of them have a range of values for the min and max damage values, i.e. http://us.battle.net/d3/en/item/club . It's possible that the min and max values on weapons that drop in game are some number between these ranges and that the game is rounding the number on the tooltips, but all the calculations are done with the non-rounded values.

This is my guess.
Reply Quote
02/04/2012 11:46 PMPosted by blitzkrieg
Well, the obvious conclusion is that his formula is wrong, if its not lining up at least within a fraction of what his ingame figure is telling him. If he did have the right formula it would be only a few 10ths or 100ths off I'd imagine, from rounding.


This would be the obvious conclusion, except I'm fairly certain the formula is correct. And if you looked at the values I was getting you'd see that the numbers are within a hundredth to a couple hundredths of the client values. However, rounding the values won't get the client values.
Reply Quote
- ANZ
Posts: 3,100
D = Weapon damage (average incl. item modifiers)
S = Attack speed
A = Attribute bonus (Str, Dex, Int bonus)
C = Crit Chance
B = Crit Bonus

DPS = D * S * A * (1+(C * B))

That's basically what his formula was, I just made the pronumerals more intuitive and the values more clean.

My guess is that it is just a flaw in the system in regards to its accuracy and what it displays. You don't want resources spent calculating the exact value of a number when it gets within 0.01 or 0.1 anyway, do you?


    ___________________________________________________________________________
    [TCP]Mathmick

    http://www.youtube.com/watch?v=KFiAhu1ONKs&t=5m40s
Edited by TCPMathmick on 2/5/2012 12:39 AM PST
Reply Quote
Posts: 7,260
If the formula was correct you would be getting results consistent with what is being shown to you in game. Or your figures would all be slightly higher or lower, not both. This means your formula IS wrong, plain and simple.
Reply Quote
02/04/2012 11:56 PMPosted by blitzkrieg
If the formula was correct you would be getting results consistent with what is being shown to you in game. Or your figures would all be slightly higher or lower, not both. This means your formula IS wrong, plain and simple.


Well, my formula being wrong isn't the only scenario. As I already said the values I'm getting are within the hundredth of the displayed values.

I already pointed out two possibilities in my post about why the numbers could be off. Mathmick added another possibility that they could be using a floating point system that doesn't allow precise calculations at certain lower limits.

I'm open to the formula being wrong, but unless you can point out a flaw in it I won't accept that it is.
Reply Quote
That's not what the formula is.

I don't know much about floating point calculations. Could this be a result of a system that doesn't want resources spent on calculations of small value?
D = Weapon damage (average incl. item modifiers)
S = Attack speed
A = Attribute bonus (Str, Dex, Int bonus)
C = Crit Chance
B = Crit Bonus

DPS = D * S * A * 1(C * B)

That's basically what his formula was, I just made the pronumerals more intuitive and the values more clean.

My guess is that it is just a flaw in the system in regards to its accuracy and what it displays. You don't want resources spent calculating the exact value of a number when it gets within 0.01 or 0.1 anyway, do you?


    ___________________________________________________________________________
    [TCP]Mathmick

    http://www.youtube.com/watch?v=KFiAhu1ONKs&t=5m40s
Reply Quote
- ANZ
Posts: 3,100
I don't know much about floating point calculations. Could this be a result of a system that doesn't want resources spent on calculations of small value?


That's a possibility, like I said.

I really don't want to get screwy and argue over a formula. I was wanted to respond to comments like this...

02/04/2012 11:41 PMPosted by Captain
How is anyone supposed to understand this unless they're a master mathematician.


...in saying that it's a bit more confusing when you have random letters x, w, u and v in there when you can't really see where they come from, rather than more intuitive pronumerals.

EDIT: I re-read it, and I did screw up on the crit bonus. Sorry about that. =3


    ___________________________________________________________________________
    [TCP]Mathmick

    http://www.youtube.com/watch?v=KFiAhu1ONKs&t=5m40s
Edited by TCPMathmick on 2/5/2012 12:39 AM PST
Reply Quote
02/05/2012 12:15 AMPosted by TCPMathmick
I don't know much about floating point calculations. Could this be a result of a system that doesn't want resources spent on calculations of small value?


That's a possibility, like I said.

I really don't want to get screwy and argue over a formula. I was wanted to respond to comments like this...

02/04/2012 11:41 PMPosted by Captain
How is anyone supposed to understand this unless they're a master mathematician.


...in saying that it's a bit more confusing when you have random letters x, w, u and v in there when you can't really see where they come from, rather than more intuitive pronumerals.


    ___________________________________________________________________________
    [TCP]Mathmick

    http://www.youtube.com/watch?v=KFiAhu1ONKs&t=5m40s


Fair enough, I don't want to argue either :) My point was your formula is actually incorrect, not that it uses letters for variables you think are more intuitive.

Using your letters the formula would be:

DPS = D*A*S*(1 -C) + D*A*S*C*B

which simplifies to

DPS = D*A*S*(1 + C*(B -1))

This is entirely different from the formula you posted.
Reply Quote
- ANZ
Posts: 3,100
02/05/2012 12:20 AMPosted by D3BETA
Fair enough, I don't want to argue either :) My point was your formula is actually incorrect, not that it uses letters for variables you think are more intuitive.


Yeah, I realised I screwed up as well. Put a sign in the wrong place. =3

I also had crit as the bonus, and not the multiplier, so it is B and not (B-1) in my corrected formula (as I have it as 0.5 instead of 1.5)


    ___________________________________________________________________________
    [TCP]Mathmick

    http://www.youtube.com/watch?v=KFiAhu1ONKs&t=5m40s
Edited by TCPMathmick on 2/5/2012 12:45 AM PST
Reply Quote
02/05/2012 12:41 AMPosted by TCPMathmick
Fair enough, I don't want to argue either :) My point was your formula is actually incorrect, not that it uses letters for variables you think are more intuitive.


Yeah, I realised I screwed up as well. Put a sign in the wrong place. =3

I had crit as the bonus, and not the multiplier, so it is B and not B-1 (as I have it as 0.5 instead of 1.5)


    ___________________________________________________________________________
    [TCP]Mathmick

    http://www.youtube.com/watch?v=KFiAhu1ONKs&t=5m40s


Ahh k no worries. Thanks for the suggestion btw. I'm going to look more into floating point calculations to see if it's the cause for the discrepancies.

Night :)
Reply Quote
Posts: 60
i think the theory that the raw numbers given might be rounded wins. This would explain why you have a close answer to the dps but not exact out to that decimal point. I think this would be the most logical explanation especially because they want to dumb down the numbers displayed to the player. I have no clue if this knowledge is known or not but to me i would put in 3-17 dmg instead of 3.001-16.989 and so on if i was making the game.

btw math is not that scary i swear! engrish, now that is scary

Nice post man, glad to see this forum is getting better with time.
Edited by Zipter on 2/5/2012 1:42 AM PST
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Reason
Explain (256 characters max)
Submit Cancel

Reported!

[Close]