< /br>< /br>< /br>

Removing ourselves from DPET

Removing ourselves from DPET

Postby aica » 23 Apr 2014, 14:41

This thread is intended as a discussion, as I've hit something of a roadblock myself, and am looking for some inspiration from the community.

We've stopped following prioritizing spells solely based on DPET with the introduction of Devouring Plague as a finisher for Mind Blast casts. Yes, Devouring Plague has an incredibly high DPET, but it can only be cast after three Mind Blasts, and as such the four spells should be really be considered one spell with a 4 GCD casting time. This 3MB+DP effective spell has, in general, a lower DPET than Shadow Word: Pain. Taking advantage of temporary power bonuses doesn't help any (+25% damage on 90% of 3MB+DP is not going to be better than 25% damage on 100% of SW:P, as long as its initial DPET is lower), although this will change somewhat in WoD with the removal of snapshotting. Yes, targets dying early can reduce SW:P's DPET significantly.

Our community has decided, largely based on intuition and experience that delaying Shadow Word: Pain in favour of Mind Blast is the correct choice, and that, in fact, getting orbs is more important than casting any other spell (as long as we aren't wasting orbs). Even discounting 3MB+DP, looking purely at DPETs, Shadowfiend has one that's 30% higher than DP, and would therefore preclude casting orb generators for DP in favour of it.


So, I've been struggling for a while now to come up with some codified theory on spell selection as to why this might be the case. I'm starting first with the simplest case: no temporary effects, which excludes trinket procs/activations and Solace & Insanity from consideration. There's time enough for that once the baseline is figured out.

Based on many failed theory directions, I've decided that three main components for every spell will affect spell selection:
  • Damage per Execute Time (DPET): the overall damage done by a spell (or set of dependent spells) over its duration divided by the time it takes to cast it (them). This shows how efficient a spell is in a GCD-limited casting frame.
  • Damage per Second (DPS): the overall damage done by a spell (or set of dependent spells) over its duration times the frequency at which the spell can be cast. This shows how much DPS the spell gives to the rotation once it is up and running.
  • Percent Active Time (%AT): the time spent casting a spell (or set of dependent spells) times the frequency at which the spell can be cast. This shows how much of a caster's time would be spent casting the spell to the exclusion of all others.
More specifically, these are the various combinations of three variables: overall damage done (DPE), cast time (CT), and cast frequency (CF) (which is the inverse of cooldown or duration, depending on the spell).

I've discovered that %AT should be particularly important because this is what causes the decision making process to begin with. A spell with high %AT causes a large number of conflicts with other spells, such that choosing to cast the spell causes the DPS of every other spell that it conflicts with to drop. This means that

The best spells should have a high DPET (high efficiency), high DPS (high effect to rotation), and a low %AT (minimal conflicts).

Example from my own character (4p16, iLevel 578), zero temporary effects, outside of execute, average results:
Mind Flay (MF)
Code: Select all
DPE: 218,005
CT: 2s
CF: 1/2s

DPET: 109,006
DPS: 109,006
%AT: 100%
Mind Flay has the highest DPS of all of our spells, but it has the second lowest DPET (ahead of single-target Divine Star), and its 100% %AT guarantees conflicts with other spells. (by the way, this revealed to me that I should never cast DS with damage in mind on a single target)

Shadow Word: Pain (SW:P) with Shadowy Apparitions (SAs)
Code: Select all
DPE (no SAs):452,390
DPE (with SAs):610,099
CT: 1s
CF: 1/18s

DPET (with SAs): 610,099
DPS (with SAs): 33,895
%AT: 5.6%
Since SW:P can't deal crit damage without the a SA dealing damage, SA's contribution to damage should be added to SW:P's overall damage. This ends up being pretty significant at roughly 26% of the total. Overall, SW:P provides a high DPET, a middle-of-the-pack dps, and a minimal %AT.

Mind Blast (MB)
Code: Select all
DPE: 177,965
CT: 1s
CF: 1/9s

DPET: 177,965
DPS: 19,774
%AT: 11.1%

3 Orb Devouring Plague (DP)
Code: Select all
DPE: 736270
CT: 1s
CF: 1/27s

DPET: 736,270
DPS: 27,269
%AT: 3.7%
Devouring Plague has a higher DPET than SW:P, but a lower DPS. The lower DPS is, of course, counteracted its low %AT. The most interesting thing about DP is that its %AT is likely the truest to casting actuality, since it really never comes into conflict with anything but Mind Flay (outside of using the Solace & Insanity talent changing priorities a bit). This is due to the fact that its cast frequency isn't set by a cooldown, but rather by the presence of 3 orbs (and hence Mind Blast's cooldown). Devouring Plague cannot be cast without casting Mind Blast three times, and as such, they should be combined into their own set of dependent spells. Note that since I have 4pc Tier 16, one of the three Mind Blasts will be boosted by 60%:
3 Mind Blasts and Devouring Plague (3MB+DP):
Code: Select all
DPE: 1,376,946
CT: 4s
CF: 1/27s

DPET: 344,236
DPS: 50,998
%AT: 14.8%
This shows a much higher DPS (since MB's DPS ends up added to DP's), but MB's DPET drags DP's down significantly. The spell's %AT has risen significantly as well, but DP's contribution still really only has a conflict with Mind Flay.

--------------

What follows is my original method, which actually only uses damage done, DPS, and cast time. Choosing to cast one spell out of a number of spells that are all off cooldown adds its Damage Done to a damage pool. All other spells subtracted their DPS multiplied by the chosen spell's cast time from that pool, simulating the loss of potential damage by choosing to delay everything else. This gives a spell's effective damage per execute (EDPE) in a given conflict.
Code: Select all
DPE(spell) - CT(spell)*SUM(DPS(other spells))
Ranking these chooses the best spell or spell set for a situation. In this case, the %AT is completely neglected, since we're only looking at each conflict. This method also makes it difficult to extend into a net average DPS for the caster, among other overall data.

I'd love to hear some criticisms on it, since the method gives some interesting results. For example, while 3MB+DP ends up higher in priority than SW:P as we've expected, Shadowfiend, which has a CT of 1s, CF of 1/180s, DPE of 1,043,336 and DPS of 5796 ends up blowing every other spell out of the water in terms of priority.

The other issue with this is the calculation of the contribution of 3MB+DP. Using it as a spell set with a CT of 4s is inaccurate since choosing to continue the spell set by casting MB only actually costs 1 GCD, and the next conflict MB has won't necessarily be with the same spells (eg. MB vs VT vs MF: MB > VT > MF, next conflict will only be MB vs MF). There's also an something funky where reducing 3MB+DP's DPE, CT and CF by 1/3 (each Mind Blast grants its damage plus one third of a DP, requiring 1/3 of a GCD to cast DP), which leaves its DPET & DPS the same, a ranking between 3MB+DP vs MF vs SW:P+SAs vs VT goes from:
Code: Select all
3MB+DP > SW:P+SAs > VT > MF
to
SW:P+SAs > VT > MB+DP/3 > MF (which happens to follow strict DPET)



Perhaps I can add some accuracy to this by including the likelyhood the spells will come into conflict with each other (expanding this out to an indefinite length casting sequence).
Last edited by aica on 23 Apr 2014, 15:37, edited 1 time in total.
{[( )]}
User avatar
aica
Member
 
Posts: 610
Joined: 11 Feb 2011, 18:20

Re: Removing ourselves from DPET

Postby aica » 23 Apr 2014, 14:54

Here's a simple thought experiment which discounts DPET due the inclusion of %AT and conflicts:

Your rotation consists of two direct damage spells:
Spell A deals 15,000 damage, with a cooldown of 1 second and a cast time of 2 seconds. As such, it has a DPET of 7,500 and a DPS of 5,000.
Spell B deals 20,000 damage, with a cooldown of 3 seconds and a cast time of 2 seconds. It has a DPET of 10,000 and a DPS of 4,000.

Due to the combination of cooldowns and cast times, there will be a conflict between the spells in a given cycle.

Prioritizing Spell A over Spell B causes Spell A to be cast twice and Spell B to be cast once, over a cycle of 7 seconds, for a total of 50,000 damage. Average DPS = 7,143
Prioritizing Spell B over Spell A causes Spell A to be cast once and Spell B to be cast once, over a cycle of 5 seconds, for a total of 35,000 damage. Average DPS = 7,000.

Spell A > Spell B grants a better return.
Last edited by aica on 24 Apr 2014, 07:59, edited 1 time in total.
{[( )]}
User avatar
aica
Member
 
Posts: 610
Joined: 11 Feb 2011, 18:20

Re: Removing ourselves from DPET

Postby Kilee » 23 Apr 2014, 15:06

The thing about spells with extremely long cooldowns, like shadowfiend, is that priority kind of gets thrown out the window. You basically just look at the fight length for those spells, something that you will know the approximate value of once you do the fight a few times with your guild.

In general, unless casting shadowfiend on CD allows you to get in an extra shadowfiend within the fight (this situation is very, very rare), then its priority matters very little...

-------------------

For the past two expansions, I've generally used Simcraft to test various spell rotations and casting priorities. Doing math like this can give you insight and ideas on how to change up the spell priorities in simcraft (and it can also be used to check the validity of that program). Once I have an idea that something might be better, I generally fire up simcraft and start playing around with the casting sequence code to see if I can come up with something better.

One variable that I have always used, which I don't see here, is the concept of "potential damage lost" for casting a spell. For example, we can say the DPET of Devouring plague with 1 orb is X. But the DPET of that must be lowered by the amount of damage you would get from "doing some other action". So the DPET of DP1 is not actually it's physical/real DPET, but instead is "DPET-DPET(of some other spell)" (Potential Damage Lost).

If you can do something like the above, then you can still (usually) use DPET solely as a means to determine priority.
"Falling from heaven is not as painful as surviving the impact."

Revenant - my guild on Echo Isles
The Old Guard - my guild on Earthen Ring
User avatar
Kilee
Member
 
Posts: 943
Joined: 02 May 2011, 11:14
Location: New Zealand

Re: Removing ourselves from DPET

Postby aica » 23 Apr 2014, 15:26

Kilee wrote:The thing about spells with extremely long cooldowns, like shadowfiend, is that priority kind of gets thrown out the window. You basically just look at the fight length for those spells, something that you will know the approximate value of once you do the fight a few times with your guild.

In general, unless casting shadowfiend on CD allows you to get in an extra shadowfiend within the fight (this situation is very, very rare), then its priority matters very little...
Fair enough, and even with encounters for which one is going in blind, an enrage timer gives some indication. The idea with long cooldown spells is that their DPS is generally so low that delaying them in order to cast something else should be fine for all fights (to a point, of course). I brought this up in a thread something close to a year ago (or more), in that for a given fight you can delay a long CD spell X GCDs before you lose a casting of the spell. This would then, on average, give each GCD delay a cost of a % of the spell, which is then averaged into its DPS based on the average encounter length. This gives an idea of the risk for any given GCD based on encounter length variance.

One variable that I have always used, which I don't see here, is the concept of "potential damage lost" for casting a spell. For example, we can say the DPET of Devouring plague with 1 orb is X. But the DPET of that must be lowered by the amount of damage you would get from "doing some other action". So the DPET of DP1 is not actually it's physical/real DPET, but instead is "DPET-DPET(of some other spell)" (Potential Damage Lost).

If you can do something like the above, then you can still (usually) use DPET solely as a means to determine priority.
I actually tried to account for this with the
Code: Select all
DPE(spell) - CT(spell)*SUM(DPS(other spells))
equation that I came up with above, with weird results.

I tried
Code: Select all
DPET(spell) - DPS(other spells)
which was terrible, and resulted in cascade never being cast over MF (even though its DPET was higher), so it should be obvious that potential damage / second lost isn't equivalent to the DPS of the other spells.
{[( )]}
User avatar
aica
Member
 
Posts: 610
Joined: 11 Feb 2011, 18:20

Re: Removing ourselves from DPET

Postby Shardstorm » 24 Apr 2014, 06:02

aica wrote:Prioritizing Spell A over Spell B causes Spell A to be cast twice and Spell B to be cast once, over a cycle of 7 seconds, for a total of 50,000 damage. Average DPS = 7,143
Prioritizing Spell B over Spell A causes Spell A to be cast once and Spell B to be cast once, over a cycle of 5 seconds, for a total of 35,000 damage. Average DPS = 7,000.

Spell B > Spell A grants a better return.


Typo? Unless the math you posted is wrong, Spell A > Spell B. First scenario does 250k damage in 35 seconds, second does 245k. Unless I'm missing something.

To say the DPET of SW:P is always higher discounts the damage lost if it's reapplied early. Do you need to work out how to factor that in to make it balance correctly?
User avatar
Shardstorm
Member
 
Posts: 332
Joined: 23 May 2012, 19:05

Re: Removing ourselves from DPET

Postby Charuo » 24 Apr 2014, 06:18

Aica, I'm curious why you chose to bundle MB/DP, but didn't include SW:I as part of that bundle?

I think you've ignore some important details. You have CF up above, but you ignore it everywhere else. The formulas you came up with would just want to chain cast SW:P. But before CF can become useful in your analysis, I think it needs to be split in half. You need cooldown for spells like MB that cannot be recast early, and something else (duration?) for dots that can be recast early, but at the expense of some damage. Calculating the amount of lost damage by refreshing early is probably fairly complicated.

I also think that AT% is irrelevant in your analysis. AT% requires a scarcity of resource (time) before it has any meaning. One you start using some form of CF, you have time to cast all of the spells you listed. Even in a more realistic shadow rotation, there is enough time to cast all spells - at least until you start including SW:D,DI,FDCL.

Agree with what kilee said for shadowfiend. It also applies to spells like MB, but on a much smaller scale. You can delay MB casts a tiny amount (less than 8 seconds aggregate in a fight) without losing any damage. This is completely different from DoTs, which are providing continuous damage.
User avatar
Charuo
MVP
 
Posts: 656
Joined: 26 Jul 2012, 06:19

Re: Removing ourselves from DPET

Postby Spinalcrack » 24 Apr 2014, 07:04

Something to also keep in mind as we head into 6.0 is we get a pandemic ability which free's up when our dots need to be recast without losing duration and no snapshotting, so the re-cast window will be very forgiving.

I think we can assume dots will always be able to be refreshed during nuke cd's without losing damage or duration, so can be evaluated separately.

Probably worth to just compare dots against dots and nukes against nukes, because we won't ever have to make a decision on whether to nuke or dot refresh at the same time... we can always just fit the dot refresh in during the pandemic window during the nuke cooldown (Right before it comes off cd, or right after its been cast). Nukes will become always greater than dots because we will have a much larger window to refresh in compared to ever before.

This has always sort of been the case, but snapshotting, shadow orbs, insanity etc all complicated the issue.

For WoD, Orb Generators will still be number one priority based on talent choice, followed by nukes, with dots refreshes being the last priority only because we can keep close to 100% uptime just by fitting them in when we can during the pandemic window. This window will change your current equations.
User avatar
Spinalcrack
Moderator
 
Posts: 921
Joined: 08 Feb 2011, 18:08

Re: Removing ourselves from DPET

Postby Woaden » 24 Apr 2014, 07:26

True. Whether refreshing VT at 4.49 or 0.01 seconds left on duration you'll still have the same # of casts in a given fight with 100% uptimes.

It'll just mean that uptimes are more 'forgiving' and allow us to put that greater emphasis on nuke efficiency.

Also I like the symmetry that VT's 30% duration is 4.5 while SW:P's is 5.4, makes it easier to remember. Though I'll probably just beg Alae to throw in a visual indicator on the Spell Timer for SW:P and VT anyway so we'll never even have to pay actual attention to it :D

That or make a WA for them that pops up when the duration remaining is less than the threshold.
User avatar
Woaden
Moderator
 
Posts: 1766
Joined: 22 May 2012, 07:46
Location: Probably Sleeping

Re: Removing ourselves from DPET

Postby Kaesebrezen » 24 Apr 2014, 07:47

Spinalcrack wrote:Something to also keep in mind as we head into 6.0 is we get a pandemic ability which free's up when our dots need to be recast
It's not only pandemic that adds more freedom.

Orbs capped at 5 also allows for you to delay DP in favor of DoT refreshes, DI proccing, or even combine Pandemic and delaying DP into no refreshes/MB CD while DP is up to get maximum benefit from Insanity.

Our priority was largely based around few things:
- Maximize Orb generation
- Maximize DoT uptime
- Don't waste Orbs

All of these things could clash. Have 3 Orbs? Your generator coming of CD? And then your DoTs are dropping?

The WoD changes allow for a lot gaming to avoid these clashes, so deciding on a priority will be straigth forward. Explaining people these things will be more difficult.
User avatar
Kaesebrezen
Member
 
Posts: 426
Joined: 03 Jul 2011, 10:15

Re: Removing ourselves from DPET

Postby aica » 24 Apr 2014, 09:08

Shardstorm wrote:
aica wrote:Prioritizing Spell A over Spell B causes Spell A to be cast twice and Spell B to be cast once, over a cycle of 7 seconds, for a total of 50,000 damage. Average DPS = 7,143
Prioritizing Spell B over Spell A causes Spell A to be cast once and Spell B to be cast once, over a cycle of 5 seconds, for a total of 35,000 damage. Average DPS = 7,000.

Spell B > Spell A grants a better return.


Typo? Unless the math you posted is wrong, Spell A > Spell B. First scenario does 250k damage in 35 seconds, second does 245k. Unless I'm missing something.
Typo, yes. Fixed it, thanks.

To say the DPET of SW:P is always higher discounts the damage lost if it's reapplied early. Do you need to work out how to factor that in to make it balance correctly?
Yes, you would. There are a number of ways of doing this. For example, with the "per conflict" method, in addition to subtracting all of the "potential damage lost" from the other spells, you'd also subtract the remainder of the SW:P damage from the previous spell.

Charuo wrote:Aica, I'm curious why you chose to bundle MB/DP, but didn't include SW:I as part of that bundle?
I believe that I would; this completely destroys the bundle's DPET, since you're further diluting DP's massive contribution and bringing the CT up to around 11 seconds (and a CF of 11/27s). Its DPE and DPS values go through the roof, of course (almost as high as MF's with a much smaller CF of 40%).

There's some other issues with accounting for S&I, as we need to look at two types of conflicts, one outside of a DP duration, and one inside, among other things. As I said, though, I wanted to establish a baseline before dealing with temporary modifiers like S&I and trinkets.

I think you've ignore some important details. You have CF up above, but you ignore it everywhere else. The formulas you came up with would just want to chain cast SW:P. But before CF can become useful in your analysis, I think it needs to be split in half. You need cooldown for spells like MB that cannot be recast early, and something else (duration?) for dots that can be recast early, but at the expense of some damage. Calculating the amount of lost damage by refreshing early is probably fairly complicated.
The formula at the end is on a per conflict basis, so SW:P only conflicts with anything when its duration is up, just like MB only conflicts with something when its cooldown is up. Calculating damage lost from an early refresh isn't that hard: just add up the damage the previous SW:P would have done if you hadn't refreshed it. What's hard is trying to incorporate it into an effective DPET / DPE, and what I'm having trouble with in terms of tying in the "potential damage lost" from the other spells as well.

I also think that AT% is irrelevant in your analysis. AT% requires a scarcity of resource (time) before it has any meaning. One you start using some form of CF, you have time to cast all of the spells you listed. Even in a more realistic shadow rotation, there is enough time to cast all spells - at least until you start including SW:D,DI,FDCL.
No you don't. With a spell selection with spells A, B and C that have %AT 10%, 20%, and 100%, something needs to go. You can't just remove 30% from the spell C and get 10%, 20%, 70%, because this assumes that spell A and B never go into conflict. CF and %AT are raw numbers independent of the other spells.

Every single spell comes into conflict with Mind Flay (and by extension MF:I when it's available). You can't discard it from consideration, because then you start casting spells like Divine Star (even though it's back to being a ST dps loss compared to MF) thinking that you'll have higher DPS. Sure, we know intuitively and through testing that Mind Flay should be, in general, the lowest priority

Take my example in the second post, with spells A and B having %ATs of 66% and 40%, respectively. We know that spell A has a higher priority than spell B, so one might think that the "real" %AT for each spell is 66% and 34%. This isn't the case. The real %AT for each spell is actually 57% and 29%, which doesn't even add up to 100%!

CF and %AT will be useful when using a method that looks at an overall encounter. The above method I described already incorporates CF (in DPS), while %AT is neglected completely because I'm already assuming that a conflict between some number of spells has occurred. One could probably work out a "real" %AT for all spells after you choose your priority by the something like the following method:
Code: Select all
Three spell rotation: Spell A > Spell B > Spell C
%Con(AB) = %AT(A)*%AT(B)
%Con(AC) = %AT(A)*%AT(C)
%Con(BC) = %AT(B)*%AT(C)
Real%AT(A) = %AT(A)
Real%AT(B) = %AT(B) - %Con(AB)
Real%AT(C) = %AT(C) - %Con(AC) - %Con(BC)
As shown above with my post#2 example, this doesn't show the complete picture, since the high priority spell occasionally is forced to be delayed while another spell is being cast.

Regardless, after finding a spell's "real" %AT, you can find their actual contribution to dps by the ratio of Real%AT / %AT and multiplying it by the spell's raw DPS.

Agree with what kilee said for shadowfiend. It also applies to spells like MB, but on a much smaller scale. You can delay MB casts a tiny amount (less than 8 seconds aggregate in a fight) without losing any damage. This is completely different from DoTs, which are providing continuous damage.
Fight lengths vary by way more than 8 seconds one way or the other, unfortunately, which is why I'm starting from a basis of indefinite fight length, before adding actual constraints. General before specific!

Kaesenbrezen wrote:
Spinalcrack wrote:Something to also keep in mind as we head into 6.0 is we get a pandemic ability which free's up when our dots need to be recast

It's not only pandemic that adds more freedom.

Orbs capped at 5 also allows for you to delay DP in favor of DoT refreshes, DI proccing, or even combine Pandemic and delaying DP into no refreshes/MB CD while DP is up to get maximum benefit from Insanity.

Our priority was largely based around few things:
- Maximize Orb generation
- Maximize DoT uptime
- Don't waste Orbs

All of these things could clash. Have 3 Orbs? Your generator coming of CD? And then your DoTs are dropping?

The WoD changes allow for a lot gaming to avoid these clashes, so deciding on a priority will be straight forward. Explaining people these things will be more difficult.
Agreed, Pandemic and the 2 Shadow Orb slots will loosen our rotation considerably.

Trying to predict when trinkets will proc so that we don't refresh dots during their duration is going to be a pain. All hail the ICD trinkets!

Spinalcrack wrote:For WoD, Orb Generators will still be number one priority based on talent choice, followed by nukes, with dots refreshes being the last priority only because we can keep close to 100% uptime just by fitting them in when we can during the pandemic window. This window will change your current equations.


You'll notice that 4.5 seconds and 5.4 seconds are 4 or fewer 4 GCDs a piece, until 39% haste when SW:P's refresh window becomes 5 GCDs. 3-4 GCDs can easily be used up when some combination of SW:D x 2, MB, DP with 5 orbs, 2 stacks of SoD, MF:I during DP all come off CD etc. Yes, conflicts are going to be much less frequent than before, but "fitting them in when we can" isn't always going to be possible.

Again, I think we're getting too complicated before finding a baseline way to compare. These are all specific examples to specific spells. It may be that, in the end, every spell comparison (per conflict or overall) will be different from the baseline, but I firmly believe that we can find a way where a specific case will all be a modification to the baseline instead of a completely unique situation. I'm just having trouble finding the baseline.
Last edited by aica on 24 Apr 2014, 09:33, edited 1 time in total.
{[( )]}
User avatar
aica
Member
 
Posts: 610
Joined: 11 Feb 2011, 18:20


Return to Theorycraft



Who is online

Users browsing this forum: No registered users and 2 guests