T15 Recap

The Horsemen finished up T15 last week [plug] pretty impressive for a 9 hour per week guild[/plug] so I figured I’d do a post to recap T15 for rogues and look ahead to where rogues sit for T16. This post will be mostly from the view of a 25 man progression raider, I don’t know the 10 man raiding metagame well enough to comment on it intelligently. Obviously the various balance concerns in this post are mostly relevant only to high end guilds, if your raid leader wants to sit rogues (or really sit anyone) on the basis of class balance rather than player skill in a normal or even low end heroic guild you have bigger problems than rogue balance, for one your raid leader may be a bit dim. Anyway, disclaimers out of the way so now actual content.

Since I wasn’t blogging during T14 a couple of thoughts on rogues during T14 to put these thoughts in context. T14 wasn’t a bad tier for rogues but it did continue a worrying trend, the continued emphasis on raid cooldowns as a centerpiece of raid survivability. Heroic Empress Shek’zeer was the best example of this trend but really you could pick just about any fight from T14 and a liberal application of dps provided raid CDs like Rallying Cry, Devotion Aura and Demoralizing Banner was borderline essential on some fights. Combine this with the offensive raid cds from warrior and shamans and I started to joke “All DPS are equal but some DPS are more equal than others.”

With this trend in mind Blizzard finally consented and gave rogues the Smoke Bomb damage reduction many had been asking for for so long. I’d long been opposed to making smoke bomb into a raid CD but after seeing fight design during T14 I thought it was a basically necessary change. In the long run I’d prefer Blizzard disarms the raid CD arms race and makes raid CDs exclusive to healers and possibly tanks but that is a rant for another time.

Between smoke bomb, probably overpowered damage and the already potent survivability toolkit (enhanced by 1 minute cloak) this was a very good tier for rogues. However without the smoke bomb change I’m less sure, T15 took the raid CD dependance of T14 and dialed it up substantially, fights like Magaera, Iron Qon and Ra-Den were basically about rotating raid cds and without smoke bomb I wouldn’t be surprised if the number of rogues used by many guilds dropped. This isn’t really rogue related but if Blizzard is going to continue the emphasis on raid cds, which the buff to healing raids cds suggests they will, then WW monks, feral druids, mages and hunters could all probably use a raid cd.

The other big change going into T15 was the Blade Flurry change, unlike many I feel the Blade Flurry change was in the long run a net positive but the overall weakness of combat this tier masked that somewhat. The new Blade Flurry makes it into a legitimate AoE ability for combat while making it less overpowered for the perfect two target cleave scenario.

The one place T15 was not good for rogues was in spec balance, the strength of rogues in T15 was heavily based on assassination being overpowered compared to most other dps specs. Rogues certainly do have dps weaknesses but assassination single target was still probably overtuned on single target. Combat was, to my surprise, less powerful then I’d suspected mostly on the fragility of AR+SB with 4pc T15 which I hadn’t considered and sub continued to languish to no one’s surprise.

Combat also offers us an instructive example of why a super powerful set bonus is a bad idea. Having a spec be fundamentally reliant on specific gear to be viable doesn’t work well in the long run, either the spec is overpowered with the item (See Demonology Warlocks with Unerring Vision of Lei Shen) or weak without it and just balanced with it (See also Feral Druids and WW Monks with Rune of Re-Origination). Neither of these situations are good design, having items be worth different amounts for players of different specs is good but having a single item or set bonus be worth 10+% dps is taking that a bit too far.

Looking forward to T16 rogues will likely be in a similarly strong position. The fact that assassination was not nerfed this tier when its single target was noticeably ahead of the pack indicates that either this scenario is at least acceptable and possibly even by design. The one place where rogues do need further work is with spec balance, as it stands now unless you are a diehard combat or sub fanatic there is no reason to play anything other than assassination for progression raiding.

Combat T15 will almost certainly be nerfed because that has been Blizzards standard approach to a spec that won’t give up their set bonus and combat will hopefully receive some substantial compensation. That however may not be enough to solve the fundamental problem with combat (and to an even greater extend sub) compared to assassination is the lack of a strong dps niche. Assassination’s execute niche is very broadly applicable being very relevant on about half of all fights this tier. Combat’s cleave and sub’s burst by contrast are sometimes nice but rarely a huge deal. Combat and sub likely need an additional niche or two to be properly balanced against assassination in the long run even with comparable dps.

Sub needs more than just some buffs to be competitive. Positional requirements are a massive anchor on the spec that will limit its usefulness even if it does comparable damage. Realistically for sub to be viable for high end progression raiding it absolutely needs to do flat out more damage if it is going to be burdened by positional requirements but that too creates its own unique balance problems. In the long run positional requirements need to go, they add very little to game and just create balance problems. Also as you may have guessed from my comments about set bonuses above T16 4pc is not the right way to fix things.

Basically going into T16 rogues are in a strong spot assuming you can stand another tier of all assassination, all day. This isn’t to say rogues don’t have any problems, tricks is still a ridiculous ability, spec balance is a problem as is spec distinctiveness but from a raw PvE perspective rogues should be just fine.

Home News

Sorry its been a bit quiet around here of late. I was holding off an an in-depth discussion of the balance issues of the T16 set bonuses because we’ve been told they are preliminary but at this point since we’ve started raid testing and we’ve seen some changes to other class bonuses so I think some initial comments are in order. That will be up in the next few days.

Also I’ve been out of the country at an academic conference for the past 5 days with pretty terrible internet so I haven’t had time to get up any other posts but a pair of transatlantic flights will give you plenty of time for writing so there is a lot of new stuff on the way.

T16 Set Bonus Preliminary Numbers

NOTE: This post is based on an early 5.4 PTR beta build and is no longer accurate. For more accurate T16 tier reccomendations refer to my 5.4 Rogue Changes Guide or better yet ShadowCraft.

EP values:
rogue_t16_2pc: 2371.02065764
rogue_t14_4pc: 1372.78364142
rogue_t14_2pc: 1275.36776515
rogue_t15_4pc: 1157.22264496
rogue_t15_2pc: 1092.96706466
rogue_t16_4pc: 824.259103861

2pc increases the value of crit somewhat but it still appears behind haste and mastery in value.

EP values:
rogue_t15_4pc: 12320.4374204
rogue_t14_4pc: 3981.49858166
rogue_t16_4pc: 3101.64232339
rogue_t16_2pc: 2675.25472102
rogue_t14_2pc: 2018.03341729
rogue_t15_2pc: 587.470142326

Set bonus appears to have no impact on EP values.

EP values:
rogue_t16_4pc: 3283.34767133
rogue_t16_2pc: 2058.4989398
rogue_t14_4pc: 1641.12408562
rogue_t14_2pc: 1294.2878496
rogue_t15_4pc: 1272.20775143
rogue_t15_2pc: 741.014913495

UPDATE: Looks like I misinterpreted the combat 2pc, it doesn’t change the value that much but updated.
UPDATE 2: Added subtlety numbers, better modeling of some set set bonuses and bug fixes.
UPDATE 3: Updated numbers based on testing. Fixed a bug in combat 2pc and assassination 4pc that was substantially undervaluing both.
UPDATE 4: Sorry for the delay, trying to reconcile some differences between my numbers and Pins’ numbers. Updated to account for the latest PTR build. Also fixed a bug that was doubling the value of assassination 4pc. Also removing the assumptions because at this point the behavior of these bonuses has been pretty well tested.
Big Changes:
1) Combat 2pc is about 1000EP better.
2) Assassination 2pc is about 2000EP worse and no longer makes crit the best stat.
3) Sub 2pc is about 1000EP worse.
4) Sub 4pc is baout 4000EP worse.

Haste vs. Mastery for Assassination Rogues

NOTE: This post is based 5.2/5.3 mechanics when all RPPM items scaled with haste. This is no longer true. For more up to date discussion of haste vs. mastery for assassination rogues refer to my 5.4 Rogue Changes Guide or better yet ShadowCraft.

Haste vs. Mastery gearing for assassination has become one of those questions where there is a lot of misinformation flying, some of it my fault, around so my goal here is to set the record a bit straighter.

Lets begin with the common assertion that haste increases RNG and people gearing haste will win by a large margin with good RNG or be hurt substantially by bad RNG.  This assertion is false, the effect of haste is to mitigate the effect of RNG from RPPM not increase it.  The simplest way to show this would simply to show you SimCraft’s dps variance calculations (see below) and leave it at that but lets go a further and look at why this is the case.

DPS variance comparison for a haste heavy build (top) and mastery heavy build (bottom).  Both have 21397 Agility, 3241 crit.  Mastey build has 10000 mastery, 7000 haste.  Haste Build has 7000 mastery, 10000 haste.

DPS variance comparison for a haste heavy build (top) and mastery heavy build (bottom). Both have 21397 Agility, 3241 crit. Mastery build has 10000 mastery, 7000 haste. Haste Build has 7000 mastery, 10000 haste.

One of the tricky things about considering trinkets is that trinket procs are discrete, having 6.7 trinket procs isn’t any better than 6.3 because there is no such thing as .3 or .7 trinket procs.  Below is a graph of the expected number of procs over a 10 minute fight as a function of haste for Bad Juju and Renataki’s Soul Charm.

Procs per 10 minutes as a function for haste for 2 RPPM trinkets.

Procs per 10 minutes as a function for haste for 2 RPPM trinkets.

As expected haste increases the number of procs over the fight however there are large haste ranges where additional haste will not increase the expected proc rate.  Given this chart a naive player might aim to reduce their haste as low as possible while still getting an extra proc much like casters do with haste breakpoints.  However RPPM as we know has a fair degree of variance so lets look at that as well.  The graph below looks at good and bad RNG variances of RSC, in good RNG you have a 10% higher proc chance and in bad RNG is 10% lower proc chance.

Procs per 10 minutes as a function of haste for Renataki's Soul Charm including Good RNG (+10% proc rate) and Bad RNG (-10% proc rate).

Procs per 10 minutes as a function of haste for Renataki’s Soul Charm including Good RNG (+10% proc rate) and Bad RNG (-10% proc rate).

Again the graph looks as expected, a higher proc chance means more procs.  The important thing to note is there are haste ranges where under bad RNG you do not lose a proc.  Obviously this is somewhat simplistic since RNG doesn’t just produce exactly +/-10% variances but the principle that haste insulates you from bad RNG is clear.  It is true that haste can also give you RNG dps increase, on the above graph points where the good RNG has more procs then the expected but this doesn’t make a spec more reliant on RNG.

I’m talking only about trinkets and not the legendary metagem in this analysis because the legendary metagem’s higher proc rate makes major RNG swings less likely.  While there will almost certainly be some variance in metagem procs from pull to pull the magnitude of an additional proc is substantially less than that of a trinket to the point where we can use a linear rather than discrete approximate.

Another common assertion about haste is, haste is more valuable on a Patchwerk fight and less valuable on mobile fights with time off target or a multi-target fight.  This assertion is true although it’s nowhere near as important as its proponents suggest.

The logic goes, during time off target rupture and deadly poison are still ticking, and you are gaining energy but not much else is happening.  A mastery build will do more damage in this case compared to a haste build because deadly poison and venomous wounds damage scale with mastery and not with haste.  Further a rogue forced off target can use this time to pool energy which effectively eliminates the special attack damage lost so long as the rogue does not energy cap.  Once you energy cap everything that damage is lost.  Again this benefits the mastery rogue because they can wait longer to energy cap.  Finally in a multi-target environment you can only melee swing on one target at a time so the additional mastery will increase the value of deadly poison and venomous wounds procs.

To look at this in a more structured way, here below are the SimCraft outputs of a haste and mastery build doing a hypothetical encounter where the player must move 20 yards every 35 seconds and 20 yards of movement every 20 seconds.  These movements do not use Shadowstep so broadly represent a wide variety of off target events.

DPS comparison for low movement simulation (20 yards of movement every 35 seconds) for a haste heavy build (top) and mastery heavy build (bottom). Both have 21397 Agility, 3241 crit. Mastery build has 10000 mastery, 7000 haste. Haste Build has 7000 mastery, 10000 haste.

DPS comparison for low movement simulation (20 yards of movement every 35 seconds) for a haste heavy build (top) and mastery heavy build (bottom). Both have 21397 Agility, 3241 crit. Mastery build has 10000 mastery, 7000 haste. Haste Build has 7000 mastery, 10000 haste.

DPS comparison for moderate movement simulation (20 yards of movement every 20 seconds) for a haste heavy build (top) and mastery heavy build (bottom). Both have 21397 Agility, 3241 crit. Mastery build has 10000 mastery, 7000 haste. Haste Build has 7000 mastery, 10000 haste.

DPS comparison for moderate movement simulation (20 yards of movement every 20 seconds) for a haste heavy build (top) and mastery heavy build (bottom). Both have 21397 Agility, 3241 crit. Mastery build has 10000 mastery, 7000 haste. Haste Build has 7000 mastery, 10000 haste.

The above shows its certainly true that mastery build lose less damage from time target however the facts of current raids makes that less relevant.  The second movement example, 20 yards of movement every 20 seconds is a more extreme movement example than most if not all encounters this tier.  Realistically for most fights this tier, and last tier for that matter, the melee role has been very similar to Patchwork.  Multi-target fights where mastery does have an advantage are somewhat more common.  I’m not familiar enough with SimCraft action list syntax to be confident in creating a multi-target action list so I won’t use SimCraft to look at this question more empirically however based on previous results I doubt the results are a clear slam dunk for mastery builds.

This brings us to the final question of, how should I gear and the answer, like most answers worth heading, is it’s complicated.  Evaluating the exact conditions of a given encounter are complex, even with SimCraft, and regemming/reforging for every encounter is more min-maxing than most players will do.  As demonstrated above the difference between haste and mastery on most realistic encounters is quite negligible.  For players who do want to minmax to the nth degree I believe the data above shows that haste is not being systematically overvalued by our theorycrafting tools and balanced haste and mastery or possibly slightly haste favoring appear optimal.

A final caveat, this analysis is focused on stat priorities with multiple RPPM trinkets and the legendary metagem where ShadowCraft and SimCraft show haste as more valuable than mastery.  At lower gear levels/in the absence of multiple RPPM items where ShadowCraft and SimCraft recommend mastery over haste you should follow that advice.

Gear Optimization Challenges

Last time I talked about the difference between simulation and models for dps computation.  Today I am going to talk about gear optimization and the associated challenges.

Gear optimization is interesting because it belongs to a class of problems called NP-Complete which are a class of problems that we do not yet have a way to solve in a reasonable time* and it may simply be not be solvable in a reasonable time.  What makes these problems hard is that we do not have a way to guarantee an optimal solution without checking all possible solutions.

To demonstrate this consider just the question of reforging and leave gems and enchants alone.  For a given (non-trinket) item there are 6 possible reforges, 2 stats on the item are each reforgable to one of 3 other stats.  Setting aside trinkets there are 14 pieces to a gear set.  That means there are 6^14 possible combinations or 78 billion possibilities.  If you could check 1 million possibilities per second it would take just under 22 minutes to check every combination.

With some care we can shrink this space somewhat by applying some logic, for instance we should never reforge something to a lower EP value stat unless it is a capped stat.  Best case scenario (every item with our two most valuable non-capped stats, haste, mastery for assassination or combat) this lowers our total problem space to 4^14, which would only take about 4 seconds which isn’t too bad.

Realistically we’re probably looking at around 5-5.2 possible reforges per item and 1 million possibilities per second is probably a bit optimistic for most people’s home computer so we’re probably looking at around 5-10 minutes which doesn’t seem bad until you realize that if you are looking at a variety of gear configurations you need to do this 5-10 minute reforge each time.

You may be wondering, if this takes so long to solve how do the various optimizers work as fast as they do?  The answer is they don’t attempt to give you an optimal solution.  These problems in the class NP-Complete have been a thorn in the side of computer scientists for a long time and large set of useful questions such as path finding (think Google Maps) fall into this class so there are lots of approximate solutions.  None of these solutions can guarantee optimality but they can get “good enough.”  The folks at AMR claim that their optimization algorithm (which considers more than just reforges) gets within 0.1% of optimal.

Talking about all the various approaches to approximate optimization is well beyond the scope of this post but as an example one approach would be a greedy cap based solution.  In this approach you would greedily start by attempting to cap all capped stats in order of highest to lowest values.  Once the capped stats were handled you’d simply reforge the remaining items from lowest to highest value stat.  This approach probably wouldn’t be that good and would likely result in some pretty substantial over or under capping of stats but it should be a decent example of how an approximate algorithm would function.

So optimization is non-trivial, but it gets harder still.  As pretty much everyone who has used ShadowCraft this expansion has seen EP values do not stay fixed across the stat space of single gear set.  That is, a set of reforges may change the EP values such that the set of reforges is no longer optimal.  As everyone who has used ShadowCraft knows this can cause some substantial problems for static value optimizers and will cause the optimizer to ring back and forth between two points when the suspected optimal is in between.

This is a difficult problem and one that we as a theorycrafting community are still grappling with.  The obvious solution is to make the optimizer aware of these shifts.  AMR recently unveiled an improved EP value system that handles caps of stats other than hit and expertise for certain classes.  The system, while a clear improvement over the old system it still has some limitations.  It works quite well for explicit haste caps like most casters have but for something like balanced haste and mastery like assassination rogues currently favor it doesn’t work so well.

Admittedly this is hard problem, partially because it is badly under-defined.  What does it mean for stats to be balanced or  more generally conform to some arbitrary ratio?  If optimal is exactly on the ratio how much EP fall off is it to be 1 off?  These answers are not obvious nor are they static, changes in gear will almost certainly change how your gear responds to ratios.  This really gets to the heart of a broader problem with static gear optimizers.  Static gear optimizers require relationships between current stat amounts and EP values and these may be gear specific themselves or at least not readily generalizable.

The obvious solution is an integrated calculation and optimization system like ShadowCraft however doing this in a performance conscious manner is difficult.  ShadowCraft uses a static optimizer partially because of performance issues, it would, in theory be feasible to create an iterative reforger that would recompute EP values after each reforger.  It would essentially do a local search, similar to the systems used by other optimizers I suspect, for optimal recalculating as it went.  In this approach a system would make a change or set of changes toward a higher dps point and then recompute EP values repeating until a static point was found.

The big issue with an iterative optimzier is performance.  When talking about ShadowCraft  server limitations are an issue.  Since 5.2 the ShadowCraft engine has gone down more often than anyone would like partially because of the increasing complexity of the model.  Allowing someone to automatically run the model many times in short succession would likely increase strain on the server even more.  I don’t pretend to have a good solution to this gear optimization problem but if I do come up with something I’ll post it here.

I was planning to talk about a couple other things, the difficulty of upgrade recommendation but this is even longer than yesterday’s post so that will have to wait for another time.

*Reasonable time here means polynomial time or less.  A more detailed discussion of computational complexity theory is beyond this post, the linked wikipedia articles have more information if you are curious.