Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Class Mechanics » Rogues

Reply
 
LinkBack Thread Tools
Old 03/25/09, 4:07 PM   #1
chalon
Founder of the Chalonverse
 
Chalon
Night Elf Rogue
 
No WoW Account
In-Depth Mutilate Cycle Analysis

For quite some time we have been operating under the assumption that there is a large difference between the standard 4+r/4+n/(4+n) cycle and a cycle where we perform a fixed number of Mutilates between finishers. The purpose of this thread is both a discussion of how we can better model various cycles, and a discussion of results of said modeling to shed some light on how much of a difference it really makes.

For now, we'll talk about the cycles proposed by songster:

Originally Posted by songster View Post
a) "Normal" 4+r/4+n/(4+n) cycling - i.e. always use 4+ finishers, and Envenom as many times as possible between ruptures.

b) "Tight" degenerate cycles: Mutilate / Rupture / Mutilate / Envenom, paying no attention to combo points. This cycle never drops S'n'D and never clips Envenom buffs, but may have an issue overwriting Ruptures and wasting energy on low-point finishers.

c) "Middle" degenerate cycles: Mutilatex2 / Rupture / Mutilate / Envenom or Mutilate / Rupture / Mutilatex2 / Envenom, once again paying no attention to combo points. This cycle will sometimes waste a combo point before the Rupture, and sometimes waste energy on a low-point Envenom. It is very unlikely to drop S'n'D, but may have an issue overwriting Ruptures.

d) "Extended" degenerate cycles: Mutilatex2 / Rupture / Mutilatex2 / Envenom, paying no attention to combo points. This cycle will never waste energy on low poin finishers, but will waste combo points from good SF/Ruthlessness procs. It also runs a risk of dropping S'n'D.
For simplification in the rest of this post, I will refer to these as Normal, mNmR, mNmmR, and mmNmmR.

My first thought was based on existing tools, the best way to do a comparison would be to use Simulationcraft, as I figured it would be far easier to modify its action queue in order to mimic these various cycles. Of course, this assumes that there is a certain amount of veracity to the Simulationcraft rogue modeling. And while it may not yet be 100% accurate, it does seem to be sufficiently peer-reviewed and mature that it's worth at least checking it out.

So, my initial attempt at modeling the four cycles showed that mNmR was only ~1% less than Normal, mmNmmR was ~2% less than Normal, and mNmmR was the biggest difference, about ~5% less than Normal.

Looking more closely at the numbers, it seems like the reason mNmR is so close to the Normal cycle is quite simply, you perform substantially more Envenoms (~37% more!). And as a result the Envenom uptime is actually higher for mNmR. And even though the energy regen and DPE of each of those Envenoms are lower than in the normal cycle, you actually do enough additional finishers such that your energy gain from Relentless Strikes is almost identical.

At first I thought this might be an error in the way I set something up, but after further thought I suppose it makes sense. If you assume ~45% of the time you will be at <4 CP when doing a Mutilate after your finisher, then it's really not that hard to see that if you decide to do a finisher there instead of another Mutilate, your number of finishers will go up. Basically mNmR compresses the cycle and although there are some damage losses, the damage gains from the compressed cycle seem to make up most of the ground.

However, there's one big question mark regarding the mNmR cycle. Namely, what do you do if you can't overwrite your Rupture due to AP procs, which will happen multiple times even in a short fight. Do you wait until Rupture fades before reapplying it? Or should you just do another Envenom? To be honest, I'm not entirely sure how Simulationcraft is handling that case, so that would have some effect on the numbers. One other thing I can't quite figure out is why mmNmmR has the highest Envenom uptime of all the builds.

Last edited by chalon : 06/01/11 at 11:48 PM.

United States Offline
Reply With Quote
Old 03/25/09, 4:27 PM   #2
Ticia
Piston Honda
 
Undead Rogue
 
Shattered Hand
I also modified the Simcraft to attempt to model the "Simple" DPS rotation case, and saw similar results. Surprisingly, using the T7 BiS rogue profile that comes default with SimCraft, I found that the MNMR setup actually produced a very slight dps gain. Looking at all the numbers, I think I see what SimCraft is doing that is causing this (and also why it has higher Envenom Uptime than the "Normal" setup).

If you take a look at number of finishers performed for the MNMR case, you see 13.6 Ruptures fired, and 35.8 Envenoms. This means that while the Action queue is forcing 1 mutilate per finisher, it is doing multiple Envenoms per Rupture, so instead of being a simple MN-MR case, it is more like MN-MN-MR and sometimes even MN-MN-MN-MR. This makes a lot of sense, since with a Glyphed Rupture, assuming you get an average of 3.5 CPs after doing 1 Mutilate, you will be firing a rupture that lasts 17 seconds on average. With Mutilate Glyph and T7 4-Piece bonus, Mutilate costs 52 energy. Rupture costs (on average) 7.5, and Envenom 17.5. Therefore, a basic MNMR cycle will need 129 Energy. With Focused Attacks providing ~2.5 energy per second, this cycle will last 10.3 seconds.

If you do MN-MN-MR then you have a total of 198.5 Energy, lasting 15.9 seconds, so even with this cycle you will end up clipping rupture some of the time. If that is the case, then you can expand to MN-MN-MN-MR, which is what SimCraft is doing, resulting in 2.6 times as many Envenoms as Ruptures. I haven't yet figured out how to force a specific number of finishers, but it makes sense that the MNMR rotation is just too short, and it might have to be expanded to MN-MN-MR.

Another interesting thing I noticed, for the MNMR input, I see a small (~10-15) dps gain by removing the energy pooling from the queue. I'm not sure if this is a bug, as Pooling shouldn't (in theory anyway) lower your DPS, as you are not capping and still using all of your energy eventually.

Offline
Reply With Quote
Old 03/25/09, 4:29 PM   #3
songster
Chief Passenger
 
Gnome Rogue
 
Earthen Ring (EU)
Originally Posted by chalon View Post
So, my initial attempt at modeling the four cycles showed that MNMR was only ~1% less than Normal, MMNMMR was ~2% less than Normal, and MNMMR was the biggest difference, about ~5% less than Normal.
Interesting. I'm really surprised by the MMNMMR result, as there's a real risk of dropping S'n'D with that cycle. The comparison of MNME to MNMMR suggests that the Envenom buff uptime factor is more important than I realised. Or it may simply be that in MNMMR, you consistently have problems overlapping Ruptures and losing ticks. Straight MNMR is also at risk of overlapping Rupture uptimes and possibly having trouble refreshing due to AP procs etc.

Could you therefore also take a look at MMNMR and MNMNMR cycles?

Great Britain Offline
Reply With Quote
Old 03/25/09, 4:33 PM   #4
kwinto
Von Kaiser
 
Human Rogue
 
Shadowsong (EU)
Just a suggestion for the sake of readability: MNMNMNMN etc. is unreadable as an acronym, maybe use lowercase "m" for mutilates? Like mNmNmR, mmNmR etc?

Offline
Reply With Quote
Old 03/25/09, 4:44 PM   #5
Ticia
Piston Honda
 
Undead Rogue
 
Shattered Hand
For mmNmR, I get this:

DPS Ranking:
   6597 100.0%  Raid
   6601  100.0%  Rogue_T8_51_13_07_MMNMR

Player=Rogue_T8_51_13_07_MMNMR  DPS=6601.2 (Error=+/-10.2 Range=+/-536)  DPR=419.8  RPS=15.7/15.5  (energy)
  Core Stats:  strength=123  agility=1271  stamina=1051  intellect=47  spirit=75  health=18022  mana=0
  Spell Stats:  power=0  hit=9.5%  crit=11.8%  penetration=0  haste=8.5%  mp5=0
  Attack Stats:  power=3651  hit=7.6%  crit=26.8%  expertise=6.4  penetration=7.6  haste=8.5%
  Actions:
    deadly_poison         Count=  0.0| 0.0sec  DPE=    1| 9%  DPET=    1  DPR=   0.0  Miss=-1.$%  TickCount=83  Tick=2156
    envenom               Count= 22.7|13.1sec  DPE= 8759|10%  DPET= 7617  DPR= 250.2  Miss=0.0%  Hit=5718  Crit=12224|14965|46.8%  Dodge=0.1%
    instant_poison        Count=199.1| 1.5sec  DPE= 1874|19%  DPET=    1  DPR=   0.0  Miss=0.0%  Hit=1629  Crit= 2618| 3177|24.8%
    melee_main_hand       Count=323.6| 0.9sec  DPE= 1310|21%  DPET= 1418  DPR=   0.0  Miss=14.4%  Hit=1017  Crit= 2186| 2675|42.9%  Glance= 765|23.9%  Dodge=0.1%
    melee_off_hand        Count=416.4| 0.7sec  DPE=  748|16%  DPET= 1042  DPR=   0.0  Miss=14.4%  Hit= 581  Crit= 1249| 1530|42.9%  Glance= 437|24.0%  Dodge=0.1%
    mutilate              Count=126.4| 4.8sec  DPE= 2894|19%  DPET= 5031  DPR= 110.7  Miss=0.0%  Hit=1556  Crit= 3870| 5182|57.9%  Dodge=0.1%
    rupture               Count= 14.3|20.1sec  DPE= 8718| 6%  DPET= 7579  DPR= 348.7  Miss=0.0%  Dodge=0.1%  TickCount=120  Tick=1037

Gains:

    Rogue_T8_51_13_07_MMNMR:
        energy_regen=2995.2
        focused_attacks=814.9
        relentless_strikes=834.7

Procs:

    Rogue_T8_51_13_07_MMNMR:
        combo_points=170.2|1.8sec
        darkmoon_greatness=7.0|42.8sec
        deadly_poisons=280.5|1.1sec
        ruthlessness=22.8|13.1sec
        seal_fate=52.0|5.8sec

Up-Times:

    Global:
        100.0% : blood_frenzy
        100.0% : improved_scorch
        100.0% : improved_shadow_bolt
        100.0% : mangle
        100.0% : master_poisoner
        100.0% : savage_combat
        100.0% : totem_of_wrath
        100.0% : winters_chill

    Rogue_T8_51_13_07_MMNMR:
        36.0% : berserking_mh
        29.5% : berserking_oh
        46.9% : envenom
        100.0% : hunger_for_blood
        100.0% : poisoned
        80.4% : rupture
        99.5% : slice_and_dice
        19.2% : tricks_of_the_trade
So worse than the mNmR (which as I posted earlier is actually expanding into mNmNmR and beyond), but better than the other two.

Offline
Reply With Quote
Old 03/25/09, 5:02 PM   #6
• Aldriana
Mike Tyson
 
Night Elf Rogue
 
Doomhammer
So, fundamentally, I think there's two questions that need to be answered here, and as they're somewhat orthogonal, I'm going to address them independently.

First, there's the question - largely addressed by Chalon - of what moves we actually want to do. How big a finishers do we actually want to use? Should we use 4+ point finishers? 3+ finishers? 1-Mutilate finishers? Historically the answer has been 4+ (and note that the answer may be different for envenoms and ruptures) - but I don't believe we've actually done much recent analysis of that to verify that it has not changed.

Fundamentally, there's, by my count, 7 different sizes of finishers that can arise in Mutilate cycles - we can use n+ finishers (that is, finish at n or more CP) for each of the 5 values of N, or we can use k-Mutilate finishers - that is, always perform a finisher after k Mutilates, regardless of CP - with the only two reasonable values of k being 1 and 2. It's also worth noting that, for instance, a 5-pt finisher and a 2-Mut finisher are in practice very similar, but there is a theoretical difference between them.

Historically, 4+ finishers have been the best, with 2M being the usually proposed alternative. This is not necessarily optimal, but it frequently has been during prior investigations. But it is probably worth verifying that that is still the case. There may be value in utilizing an approach akin to the one found here in terms of breaking down the efficiency of finishers of various sizes, as doing an exhaustive breakdown of all possible finisher patterns in a simulator is likely inefficient. It's also perhaps worth noting that as a relatively less mature tool, the simulator may yet contain bugs, and it is thus worth externally verifying it's findings before accepting them as fact.

The second issue, which frankly I'm far more interested as I think it's something we haven't paid nearly enough attention to historically is the notion of *when* moves are performed. There's always been this notion that energy pooling can be used to optimize DPS, but there's never been a lot of analysis as to how much of an influence this actually is.

Consider, for the moment, the constraints on our cycle that, in an ideal world, would always be true:

0) SnD never drops. Well, obviously.
1) Maximal rupture uptime. Particularly with the 4/5 T8 set bonus being what it is, rupture is just a lot better finisher than any other save SnD; thus, it is reasonable to posit that one gets maximal DPS by increasing rupture uptime - pooling such that ruptures can be cast end to end with only minimal space between them.
2) Maximal Envenom buff uptime. In particular, it is natural to assume that by having one's Envenoms be nonoverlapping, one has a higher uptime of the buff and thus gets more Instant Poison damage out of cycles.
3) Maximal number of Mutilates performed during Envenom buff uptime. This is related to point 2, but it it subtly different; for instance, one can maximize mutilates during envenom by always pooling up to 60-70 energy before each Envenom, so you can perform 2 Mutilates before the buff drops. But this may not be optimal given the other considerations.
4) Envenoms should occur immediately after a DP tick. Doing otherwise basically causes implicit DP downtime, which, particularly with the 2/5 T8 set bonus, seems likely to be a significant DPS loss.
5) Pooling energy to do extra moves during temporary buffs - i.e., Reflection of Torment, Berserking, Greatness, etc.

So: all these factors increase DPS, but they sometimes work at cross purposes. Which are most important? Which should we focus on doing? Is it worth accepting concessions in terms of *which* moves we're doing to gain more flexibility in when we do them? Is there ever a situation where these timing considerations make it optimal to cap out on energy? I think we can make reasonable guesses at most of these questions, but we honestly don't know. We've never really modeled this. And I think it's time we do so, as even if each of those is only a 1% DPS boost (as has been estimated for #4), that's still 200 DPS when all 4 are taken as a group. And when compared with the differences we see in terms of changing finisher size - which are of the same order - it seems to me that we can no longer ignore these considerations if we truly wish to optimize our DPS.

Offline
Reply With Quote
Old 03/25/09, 5:26 PM   #7
chalon
Founder of the Chalonverse
 
Chalon
Night Elf Rogue
 
No WoW Account
Originally Posted by Ticia View Post
If you take a look at number of finishers performed for the MNMR case, you see 13.6 Ruptures fired, and 35.8 Envenoms. This means that while the Action queue is forcing 1 mutilate per finisher, it is doing multiple Envenoms per Rupture, so instead of being a simple MN-MR case, it is more like MN-MN-MR and sometimes even MN-MN-MN-MR. This makes a lot of sense, since with a Glyphed Rupture, assuming you get an average of 3.5 CPs after doing 1 Mutilate, you will be firing a rupture that lasts 17 seconds on average. With Mutilate Glyph and T7 4-Piece bonus, Mutilate costs 52 energy. Rupture costs (on average) 7.5, and Envenom 17.5. Therefore, a basic MNMR cycle will need 129 Energy. With Focused Attacks providing ~2.5 energy per second, this cycle will last 10.3 seconds.
Hmm. Well, I tried to account for this in the action queue, but it's very well likely that's actually what's happening. My understanding is Simulationcraft in its current form cannot just absolutely force a cycle to occur in a certain way. You have to use conditions to try to force it to get into that behavior. However, it should be possible to modify the Simulationcraft code to add additional conditions to provide that fixed cycle functionality.

Originally Posted by Aldriana View Post
So: all these factors increase DPS, but they sometimes work at cross purposes. Which are most important? Which should we focus on doing? Is it worth accepting concessions in terms of *which* moves we're doing to gain more flexibility in when we do them? Is there ever a situation where these timing considerations make it optimal to cap out on energy? I think we can make reasonable guesses at most of these questions, but we honestly don't know. We've never really modeled this. And I think it's time we do so, as even if each of those is only a 1% DPS boost (as has been estimated for #4), that's still 200 DPS when all 4 are taken as a group. And when compared with the differences we see in terms of changing finisher size - which are of the same order - it seems to me that we can no longer ignore these considerations if we truly wish to optimize our DPS.
I definitely agree there's a lot more questions to answer regarding the cycles than simply mNmR vs. Normal and so on. I kind of wonder how many of these questions cannot be reasonably solved with a formulation-based approach, though. How could a spreadsheet formulation take into account whether or not you're pooling energy and for how long and at what points?

Last edited by chalon : 03/25/09 at 5:49 PM.

United States Offline
Reply With Quote
Old 03/25/09, 5:35 PM   #8
songster
Chief Passenger
 
Gnome Rogue
 
Earthen Ring (EU)
Originally Posted by Aldriana View Post
So: all these factors increase DPS, but they sometimes work at cross purposes. Which are most important? Which should we focus on doing? Is it worth accepting concessions in terms of *which* moves we're doing to gain more flexibility in when we do them? Is there ever a situation where these timing considerations make it optimal to cap out on energy? I think we can make reasonable guesses at most of these questions, but we honestly don't know. We've never really modeled this. And I think it's time we do so, as even if each of those is only a 1% DPS boost (as has been estimated for #4), that's still 200 DPS when all 4 are taken as a group. And when compared with the differences we see in terms of changing finisher size - which are of the same order - it seems to me that we can no longer ignore these considerations if we truly wish to optimize our DPS.
I would agree with everything you've posted. I think it is certainly worth directing some modelling effort at estimating the DPS gains from points (1) to (5), to see if any of them are worth it.

However, I do think you're putting an overly optimistic gloss on the endeavour. I've bolded a couple of contradictory statements in your summary. I would rather say that since the factors work at cross purposes, it is not possible to take them all as a group, and we can therefore conclude that the combined effect of all the factors will be very substantially less than the sum of the parts. For example, timing Envenoms to maximise Envenom buff uptime will make it difficult to time it to DP ticks. Timing an Envenom to a DP tick constrains the timing to a window of at most a second, which will almost totally preclude timing it to other temporary buffs.

This being so, if the individual optimisations are themselves only worth 1% damage, the combined effect will be no more than a couple of percent.

Coupled with the observation that (if the above simulations are accurate) you can use an mNmNmR fixed cycle with next to no DPS loss, this means that the difference between a perfectly played rogue and a mousewheel macro may well be less than 5%, perhaps as little as 2%. Yes, optimising for that is "worth it" in the abstract, but it's also profoundly depressing that so much effort buys so little gain.

Great Britain Offline
Reply With Quote
Old 03/25/09, 5:43 PM   #9
• Aldriana
Mike Tyson
 
Night Elf Rogue
 
Doomhammer
Thing is, while they do at times work at cross purposes, they're not mutually exclusive either. While it may not be as simple as 1% + 1% + 1% + 1% = 4%, I don't think they're entirely mutual exclusive either - I think 2.5 to 3% is totally within reason. And given our DPS is approaching 6000, that puts the DPS benefit around 150-200 DPS, as I asserted.

In terms of modeling this: yes, it's going to be hard. But hard doesn't mean impossible - it's just a matter of finding the right approach.

Offline
Reply With Quote
Old 03/25/09, 6:20 PM   #10
dedmonwakeen
Bald Bull
 
dedmonwakeen
Undead Priest
 
No WoW Account
This may sound absurd...... but supporting fixed cycles would actually represent a significant coding investment. That being said..... if the Rogue theorycrafting community think it really is imperative, then I will take a serious look.

I'm assuming you would still need a "priority list"..... but there would be composite actions that represent a cycle:

actions+=/action1
actions+=/cycle(action2/action3/action4)
actions+=/action5

This essentially amounts to switching between the following action lists as one of action 2/3/4 get executed:

actions=.../action1/action2/action5/...
actions=.../action1/action3/action5/...
actions=.../action1/action4/action5/...

This has been on my list for a long time, but at relative low priority. If it is deemed necessary, I will elevate the priority.


Offline
Reply With Quote
Old 03/25/09, 7:22 PM   #11
chalon
Founder of the Chalonverse
 
Chalon
Night Elf Rogue
 
No WoW Account
Well, while rewriting it to take into account a fixed cycle may be difficult, what I was thinking moreso was adding some additional conditional variables for the purposes of emulating a fixed cycle.

United States Offline
Reply With Quote
Old 03/25/09, 9:03 PM   #12
Tinwhisker
Bald Bull
 
Tinwhisker's Avatar
 
Dwarf Rogue
 
Scarlet Crusade
In regards to SimulationCraft supporting fixed cycles. What is the possibility of supporting a "trail" conditional? Basically keeping a trail of the last 3 moves performed and basing the next move on that? You could keep the conditionals for something like trinket usage, HfB and other things that are not expressly cycle related and create a conditional whose result is Mutilate, Rupture, or Envenom based on the order of the past 3 occurrences of those moves.

I really haven't looked into the working of SimulationCraft except for a cursory glance so I'm not even sure this is possible, but I thought I'd throw it out there. Rather than creating a new code base to support fixed cycles, that may be one way to work around it.


United States Offline
Reply With Quote
Old 03/25/09, 9:27 PM   #13
dedmonwakeen
Bald Bull
 
dedmonwakeen
Undead Priest
 
No WoW Account
Originally Posted by chalon View Post
Well, while rewriting it to take into account a fixed cycle may be difficult, what I was thinking moreso was adding some additional conditional variables for the purposes of emulating a fixed cycle.
Originally Posted by Tinwhisker View Post
In regards to SimulationCraft supporting fixed cycles. What is the possibility of supporting a "trail" conditional? Basically keeping a trail of the last 3 moves performed and basing the next move on that? You could keep the conditionals for something like trinket usage, HfB and other things that are not expressly cycle related and create a conditional whose result is Mutilate, Rupture, or Envenom based on the order of the past 3 occurrences of those moves.

I really haven't looked into the working of SimulationCraft except for a cursory glance so I'm not even sure this is possible, but I thought I'd throw it out there. Rather than creating a new code base to support fixed cycles, that may be one way to work around it.
I like these ideas very much..... They actually provide more flexible functionality than a fixed cycle. I have a work project peaking at the moment, but I should be able to add trail conditionals in about a week. Thanks for the very constructive feedback. If I have any other questions, I'll PM them directly so as not to clutter this thread.


Offline
Reply With Quote
Old 03/26/09, 12:24 AM   #14
chalon
Founder of the Chalonverse
 
Chalon
Night Elf Rogue
 
No WoW Account
So after trying it out on Patchwerk today, I really don't see how it would be viable to do a strict mNmR cycle. There's simply too many occurrences of being unable to overwrite the Rupture, and too much remaining time to just pool on every rotation. If we can then assume that you need to do a variable number of Envenoms with either cycle, the question then really becomes should the cycle be 3+n/3+r/(3+n) or if it should be 4+n/4+r/(4+n).

United States Offline
Reply With Quote
Old 03/26/09, 1:15 AM   #15
Wodahs
Don Flamenco
 
Human Rogue
 
Lightbringer
I really wish rupture would get looked at by the devs, and this is one example of why. The inability to refresh/overwrite/downgrade rupture is terrible, when working it into a cycle. I dont care if the rupture that has 3 seconds left will tick for less than the 5 point rupture Im ready to drop for a full duration. I dont understand the logic, this should have been changed back when hot stacking was put in in 1.12.

Offline
Reply With Quote
Reply

Go Back   Elitist Jerks » Class Mechanics » Rogues

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Rogue] Why would anyone go "Backstab" over "Mutilate"?? drastic Public Discussion 19 01/12/09 4:11 AM
The development cycle is... ? Howard Roark Public Discussion 5 10/31/07 6:37 AM
[Math] The Two-Cycle Theorem of Spell Selection Hamlet Class Mechanics 49 09/14/07 4:36 AM
Hunter shot cycle Sureal Public Discussion 4 02/20/07 6:05 PM
Energy/CP Cycle Spreadsheet? Regis Public Discussion 6 08/25/06 3:57 PM