Remove Advertisements

Theck's MATLAB TPS analysis - WotLK/3.x

Warning: Theorycraft inside.

Moderators: Fridmarr, Worldie, Aergis, theckhd

3.3 Seal Comparison

Postby theckhd » Thu Dec 17, 2009 9:02 am

3.3 Seal Comparison

Since this is probably the most anticipated result of this patch, I'll skip ahead to this and save the other, less significant calculations for later.

The code for this sim has undergone a considerable overhaul, which is part of the reason it's taken me so long. When I wrote the old version, I did so in probably the least transparent way possible, which made it very difficult to go back and edit it. In the end, I decided to re-write the whole thing to make it simpler to debug.

The results haven't changed that much. The only real change is that Shield of Righteousness now procs all seals, including Seal of Cleave, turning ShoR into "Shield of Seal of Righteous Cleaving" or ShSoRC. Because we really needed another acronym.

The new code is almost certainly correct, but it's still new code, so I encourage those interested to double-check it for me to make sure. I'll go into some detail about how I coded it to help those willing to double-check my math.

Setup:
Rotation: 969
Seals: SoV, SoC, SoR
Glyphs: V (for SoV), no glyphs (for SoCom)
Talents: 1V+3C
Gear: T10 progression set
File: calc_seals.m

First of all, I'm not even bothering with Seal of Righteousness. A quick check of the default 969 simulation shows it's 500 DPS and 1200 TPS behind Seal of Vengeance on a single mob, so there's really not much point in bothering with it. SoR is a leveling seal, and might have niche uses for tanking in cases where you can't DoT or Cleave the mobs, but that's about it.

To aid in the debugging, I'm going to describe the process flow of the code somewhat. If you're not interested in the "under the hood" details, skip down to the pretty graphs.

<MASSIVE NERDERY>

This version of the simulation calculates the damage of each ability for three gear/glyph configurations: standard gear with no glyphs, standard gear with Glyph of Seal of Vengeance (V glyph), and standard gear + V glyph + Libram of Valiance. The results are in the table below:
Code: Select all
Abil    none    V   V+LoV
ShoR    3621  3833  4074
HotR    4309  4561  4828
Cons    4197  4197  4460
JoV     3023  3326  3604
JoC     1495  1645  1773
JoR     2895  3184  3451
AS      2750  2750  2826
HoW     3739  3739  3900
SoV      590   590   624
SoC      549   582   616
SoR      480   480   520
HV      5914  5914  6410
HS      1131  1131  1199
Exor    3071  3071  3210
Melee    909   953  1008


To calculate overall damage, we need two variables: HV stack size (h), and number of mobs (N). So I make a two-dimensional mesh with the meshgrid() command:
Code: Select all
[h,N]=meshgrid(0:5,1:10);

which gives me variables that look like this:
Code: Select all
h =  0     1     2     3     4     5
     0     1     2     3     4     5
     0     1     2     3     4     5
     0     1     2     3     4     5
     0     1     2     3     4     5
     0     1     2     3     4     5
     0     1     2     3     4     5
     0     1     2     3     4     5
     0     1     2     3     4     5
     0     1     2     3     4     5

N =  1     1     1     1     1     1
     2     2     2     2     2     2
     3     3     3     3     3     3
     4     4     4     4     4     4
     5     5     5     5     5     5
     6     6     6     6     6     6
     7     7     7     7     7     7
     8     8     8     8     8     8
     9     9     9     9     9     9
    10    10    10    10    10    10


I then calculate the damage of each seal combination for all 60 possible situations:
Code: Select all
sov_dps_nolib = [dmg_arr(1,2)./t_shor + ...                 %shor
                dmg_arr(2,2).*hotr_hits./t_hotr + ...       %hotr
                dmg_arr(3,2).*N./t_cons + ...               %cons
                dmg_arr(4,2).*(1+h./10)./1.5./t_jud + ...   %jud
                dmg_arr(12,2).*h.*N./5./15 + ...               %HV
                dmg_arr(13,2).*avg_HS_pps + ...             %HS
                dmg_arr(15,2)./player_swing + ...           %melee
                dmg_arr(9,2).*h./5.*( ...              %SoV procs
                    1./player_swing + ...              %melees
                    hotr_hits./t_hotr + ...            %hotrs
                    1./t_jud + ...                     %jud
                    1./t_shor) ...                     %shor
                ]./N;  %convert to DPS per target
               
sov_dps_lib   = [dmg_arr(1,3)./t_shor + ...                 %shor
                dmg_arr(2,3).*hotr_hits./t_hotr + ...       %hotr
                dmg_arr(3,3).*N./t_cons + ...               %cons
                dmg_arr(4,3).*(1+h./10)./1.5./t_jud + ...   %jud
                dmg_arr(12,3).*h.*N./5./15 + ...               %HV
                dmg_arr(13,3).*avg_HS_pps + ...             %HS
                dmg_arr(15,3)./player_swing + ...           %melee
                dmg_arr(9,3).*h./5.*( ...              %SoV procs
                    1./player_swing + ...              %melees
                    hotr_hits./t_hotr + ...            %hotrs
                    1./t_jud + ...                     %jud
                    1./t_shor) ...                     %shor
                ]./N;  %convert to DPS per target

soc_dps       = [dmg_arr(1,1)./t_shor + ...                 %shor
                dmg_arr(2,1).*hotr_hits./t_hotr + ...       %hotr
                dmg_arr(3,1).*N./t_cons + ...               %cons
                dmg_arr(4,1)./t_jud + ...                 %jud
                dmg_arr(13,1).*avg_HS_pps + ...             %HS
                dmg_arr(15,1)./player_swing + ...           %melee
                dmg_arr(9,1).*( ...                         %SoC procs
                    soc_procs./player_swing + ...              %melees
                    hotr_hits./t_hotr + ...                    %hotrs
                    soc_procs./t_jud + ...                     %jud
                    soc_procs./t_shor) ...                     %shor
                ]./N;  %convert to DPS per target

This gives me three 10x6 matrices that contain "DPS per mob" values for the three gear/glyph configurations. Note that I'm using the "no glyphs" version for SoC (because it doesn't gain the 10 expertise bonus).

So if sov_dps_nolib(4,4) < soc_dps(4,4), that means that for N=4 mobs and h=3 stacks per mob on average, SoV will do less dps than SoC even without the libram. If you look at the code, soc_procs is limited to min([3 N]) and hotr_hits is limited to min([Htars N]), where Htars can be set to 3 or 4 depending on whether you want the glyph or not. I'm not going to bother showing data for Htars=4, because the difference turns out to be very small and doesn't change the TLDR any.

Also note that this gear set is below the expertise soft cap, so the benefit of that 10 expertise is twice as large as it will be if you're soft-capped without the glyph. This means that this simulation will always give the "worst-case scenario" for SoCommand, and it will only get better with gear.

For the line plots, I can just plot sov_dps_nolib(:,h+1)-soc_dps(:,h+1) to see which seal does more damage as the number of mobs increases for h stacks.

For the mesh plots, I just make a surface plot of sov_dps_nolib-soc_dps and sov_dps_lib-soc_dps. Nothing fancy there.

</MASSIVE NERDERY>

Welcome back. Now that we've gotten our nerd on, let's look at the results.

First, I'll do a simple line plot showing the difference in DPS for a 5-stack and a 3-stack of Holy Vengeance:
Image
The vertical axis is the difference between SoV DPS and SoCom DPS, so a positive number means that SoV does more damage, and a negative number means SoCom does more damage.

The plot is pretty clear, but it's also misleading. If you can maintain a 5-stack on every mob, then in the many-mob limit SoV is bound to win since SoC is limited to 3 procs. In that sense, the plot seems to reflect things accurately. As you drop to 3 stacks of HV, SoCom gains enough ground that it's a better choice for 2-4 mobs.

What makes the graph misleading is that it ignores ramp time. It takes a few seconds to build a 5-stack on a mob, but it takes over 10 times as long to build and maintain a 5-stack on 10 mobs. For ballpark figures, if it takes 5 seconds to build your single-mob stack, it takes nearly a minute to build a 5-stack on 10 mobs with tab targeting. So if the mob pack dies before that minute is up, SoV's value drops thanks to ramp-up effects. It also ignores fall-off, which is a distinct worry for large packs of 6 or more.

What we really want is the average stack size per mob, which goes as 1/N. In other words, if you have just enough time to build a 5-stack on two mobs, then that's roughly the same amount of time it will take to build a 1-stack on ten mobs.

To more accurately see this, we move to a mesh plot that shows how DPS varies with both variables:
Image
The colormap here shows us which seal wins - if it's green, yellow, or red SoV does more sustained DPS, while any blue color indicates that SoCom does more. The black lines are the curves 5/N, 10/N, and 15/N or the average stack size for N mobs over about 10 seconds, 20 seconds, and 30 seconds respectively.

The third line shows that if the mobs live for less than 20 seconds, you're better off using Seal of Command for 3+ mobs. Even at 30 seconds, SoCom is roughly even for 3 mobs, and slightly better for 4 or more. However, for packs that live longer than 30 seconds, you should feasibly be able to spread enough HV stacks around for SoV to win out. Again, that's assuming you're properly tab-targeting - if you're lazy, just use SoCom for 3 or more mobs. And if you're tanking enough mobs that you're going to have trouble maintaining the 5-stack on all of them (say 6 or more), then Seal of Command is the better choice.

Also note that for snap threat, you can look at the 10-second line, where Seal of Command wins for everything but a single mob.

This plot was without using Libram of Valiance; let's see what happens when you equip the libram:
Image
We see that we're now breaking even after about 20-25 seconds thanks to the buff. A lot of this is due to Consecration, which scales with STR and doesn't have a damage cap.

Now, for some example situations:
  • Heroics - trash dies in 10-15 seconds, so Seal of Command will easily be the winner. This is how we get 5k+ damage parses on recount for trash packs. Switch back to SoV for bosses though.
  • Onyxia whelps - If done properly, these things die quickly, and with many whelps snap aggro is important. Seal of Cleave all the way.
  • ICC trash - The trash packs of 4 skeletons would seem like a good place for SoCom, and it's certainly the better choice for snap aggro. But those mobs have a lot of hit points, and can easily live for 30+ seconds. If your group's DPS takes less than 30-40 seconds to kill the pack, then go with SoCom, otherwise use SoV and tab target. If you group up all 8 mobs and AoE them down, just use SoCom.
  • Gunship adds - SoCom, even with a 5-stack SoV is only barely ahead, and snap aggro matters here.
  • Deathwhisper adds - Again I'd use Seal of Command, as they die quickly and snap aggro is important


TLDR Summary:
Rule of thumb for choosing seals:
  • SoV for 1-2 Mobs and bosses
  • SoV for AoE tanking things that live for 40+ seconds and that you can reasonably maintain a 5-stack on (so ~6 or fewer mobs at most)
  • SoCom for 3+ mobs that die in 30 seconds or less, and basically anything else
Alternatively, if you're lazy and don't feel like tab-targetting, you can simplify this to:
  • SoV for 1-2 mobs/bosses
  • SoCom for 3+
Also: hooray for the new Shield of Seal of Righteous Cleaving.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Thalastor82 » Thu Dec 17, 2009 9:03 am

Eredor wrote:
Where do I find the equations to calculate block value?

Summing all block value on my armory I have 829.
Rawr tells me I have 2273.
The block value you mention are way way bigger than mine.

Thanks,
Eredor


the block value of your items is only part of the total.

part comes from strenght (1 block value per 2 force), plus you have Redoubt (+30%) and possibly the metagem (+5%) that increase the total.

In the block value set I use for instancing, I have around ~1k block value coming from items, the same coming from strenght (~2k force, full red gemmed) and after kings, meta, redoubt and buffs I come to ~3k blocking. In raid it would be even bigger, but in raid I usually don't use the blocking set (with few exceptions).

If you want to increase the block value gem force and put the meta. A greath trinket for this is the noble deck, it gives 390 force (195 block value) during uptime. Also, you can make use of low lvl items that are perfectly ok for instance even if already unused in new raids. Many drop from ulduar25, for instance.

In any case, the DR mentioned in the previous posts concerns only the treath contribution of the blocking value. In effect, the SotR has diminishing returns, probably to avoid huges slams in pvp. The effectivenes of the blocking value against white non-bleeding attacks is not affected by diminishing returns and, the more you have, the more you block
Last edited by Thalastor82 on Thu Dec 17, 2009 9:20 am, edited 2 times in total.
Thalastor82
 
Posts: 20
Joined: Mon Jul 20, 2009 6:27 am

Re: 3.3 Talent/Spec Analysis

Postby theckhd » Thu Dec 17, 2009 9:11 am

Eredor wrote:Where do I find the equations to calculate block value?

Summing all block value on my armory I have 829.
Rawr tells me I have 2273.
The block value you mention are way way bigger than mine.

Thanks,
Eredor

Rawr should be correct, or if you want an in-game source, Tankadin2 will calculate it for you. It's not surprising that the values I gave are large, since they're near the levels of the ShoR damage cap, which most people don't reach in regular gear.

If you sum your BV from gear, the formula is
Code: Select all
block_value=floor((floor(STR.*0.5) - 10 + Gear_BV + T84pc).*(Redoubt + BV_Meta));

Assuming 3/3 Redoubt:
STR is character sheet strength * 1.1 for kings, plus 291 for raid buffs
Gear_BV is whatever you summed it to be
T84pc = 225 if you have 4-piece T8 equipped
Redoubt = 1.3 (or 1.2 for 2/3, 1.1 for 1/3, etc)
BV_Meta = 0 if you don't have it gemmed, 0.05 if you do
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby rocket » Thu Dec 17, 2009 9:32 am

theckd-

about time you started the contour plots :D.

next i want to see 4d plots : 3d contours with color.
Image
rocket
Maintankadonor
 
Posts: 95
Joined: Fri Mar 21, 2008 9:08 pm

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Sabindeus » Thu Dec 17, 2009 9:39 am

IN THIS THREAD: Theck tells you what to do, and you do it!

thanks for the theorycraft as always dude, you are the best
Image
Turn In, an NPC interaction automator - http://wow.curse.com/downloads/wow-addo ... rn-in.aspx
User avatar
Sabindeus
Moderator
 
Posts: 10472
Joined: Mon May 14, 2007 9:24 am

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Njall » Thu Dec 17, 2009 11:22 am

I hope I remember where the trainer is.... its been ages since I've respec'd.
Image
Flight to Peru: £1000
Camping gear: £200
Native guide: £50
Sledgehammer to break down stone door: £12.99
Awakening one of the Great Old Ones: priceless.

There are some things man was not meant to know. For everything else,
there's Mastercard.
User avatar
Njall
Maintankadonor
 
Posts: 4328
Joined: Mon Oct 05, 2009 1:13 pm
Location: Thank heavens! Heavy Metal!

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby honorshammer » Thu Dec 17, 2009 11:48 am

What are you stealing the Talent Point out of to give you SoComm?
User avatar
honorshammer
Moderator
 
Posts: 2147
Joined: Tue Apr 10, 2007 9:35 am
Location: Charleston, SC

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Grehn|Skipjack » Thu Dec 17, 2009 11:54 am

I currently run 2/2 Imp BoM, but I could take 1 point out and put it in Imp Judge and the other out and put that in SoComm should I choose to run it in my mainspec.
Image
The Seeker.
User avatar
Grehn|Skipjack
Maintankadonor
 
Posts: 4529
Joined: Tue May 27, 2008 8:53 am
Location: Malorne

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Ocin » Thu Dec 17, 2009 12:19 pm

honorshammer wrote:What are you stealing the Talent Point out of to give you SoComm?


Great question.

Thanks a ton for doing this Theck. Since we're talking trash in your later posts, what weapon enchant is going to do the most DPS on these adds (ICC skele's, Deathwhisper trash, +4 heroic trash groups) given the changes? A second weapon enchanted with Mongoose or just stick with Accuracy? I guess this would depend on getting expertise soft capped?
Ocin
 
Posts: 555
Joined: Tue Jun 19, 2007 7:55 am
Location: NJ/NYC

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Grehn|Skipjack » Thu Dec 17, 2009 12:26 pm

Well, I believe Berserking would grant the highest dps gain, if you're willing to sacrifice 5% armor.
Image
The Seeker.
User avatar
Grehn|Skipjack
Maintankadonor
 
Posts: 4529
Joined: Tue May 27, 2008 8:53 am
Location: Malorne

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Ocin » Thu Dec 17, 2009 12:31 pm

Grehn|Skipjack wrote:Well, I believe Berserking would grant the highest dps gain, if you're willing to sacrifice 5% armor.


I would for ICC trash so far. I picked up two 232 ilvl weapons that I've been meaning to enchant for DPS on trash, just wasn't sure given the changes which enchant would be best.
Ocin
 
Posts: 555
Joined: Tue Jun 19, 2007 7:55 am
Location: NJ/NYC

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby honorshammer » Thu Dec 17, 2009 2:02 pm

I don't believe in specing or glyphing for Trash. It's Trash. You spec and glyph for Bosses and progression Bosses have priority.

However, two progression Bosses right now, Airship and Lady Deathwhisper have significant parts which are fast dying adds that need solid initial aggro. It is for those fights that I'd like to include SoComm into my spec.
User avatar
honorshammer
Moderator
 
Posts: 2147
Joined: Tue Apr 10, 2007 9:35 am
Location: Charleston, SC

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Ocin » Thu Dec 17, 2009 2:11 pm

honorshammer wrote:I don't believe in specing or glyphing for Trash. It's Trash. You spec and glyph for Bosses and progression Bosses have priority.

However, two progression Bosses right now, Airship and Lady Deathwhisper have significant parts which are fast dying adds that need solid initial aggro. It is for those fights that I'd like to include SoComm into my spec.


I never spec for trash either (I now love ret), but I do try to create gear-sets that will make my life easier for trash or light-hitting bosses. That said, I haven't noticed any threat issues, but I won't complain if I can easily get more TPS/DPS by moving one pt. around. I'm just not sure which pt. that's going to be yet.
Ocin
 
Posts: 555
Joined: Tue Jun 19, 2007 7:55 am
Location: NJ/NYC

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby theckhd » Thu Dec 17, 2009 3:27 pm

honorshammer wrote:What are you stealing the Talent Point out of to give you SoComm?

I drop Conviction to get it, since it's the lowest-TPS talent in my normal 53/18. My current spec is exactly what I've been using for heroics and ICC.

honorshammer wrote:I don't believe in specing or glyphing for Trash. It's Trash. You spec and glyph for Bosses and progression Bosses have priority.

However, two progression Bosses right now, Airship and Lady Deathwhisper have significant parts which are fast dying adds that need solid initial aggro. It is for those fights that I'd like to include SoComm into my spec.

I usually share your attitude, but SoCom has been so damn convenient for clearing the daily heroic that I'd be tempted to keep it in my spec full time. 60 TPS isn't going to make or break anything with the current content, and until we see a serious enrage timer in ICC I don't think it's worth shifting back to Conviction.

Ocin wrote:Since we're talking trash in your later posts, what weapon enchant is going to do the most DPS on these adds (ICC skele's, Deathwhisper trash, +4 heroic trash groups) given the changes? A second weapon enchanted with Mongoose or just stick with Accuracy? I guess this would depend on getting expertise soft capped?

I haven't run numbers for this, but I can make an educated guess. A long time ago, we determined that Hit and STR were our best AoE threat abilities, since our primary AoE threat tools were Consecration and Holy Shield. Seal of Command, on the other hand, improves with expertise, hit, STR, AP, and crit. So my guess is that if you're already expertise soft-capped, your best bet for aoe threat will be Hit to the cap, followed by STR and expertise.

Given that, I'd say stick with Accuracy, since it gives you both Hit and Crit. Berserking is probably even better, if you can stomach the armor loss.

I'm planning on picking up a 2.6-speed DPS weapon to slap Accuracy on for AoE tanking in my quest to break 6.5k DPS in a heroic.


Also, interesting side note - I was looking at wowwiki, and found this nugget:
wowwiki wrote:When Vindication procs on a weapon swing, the AP debuff is applied to all targets that receive Seal of Command damage.

Another point in SoC's favor for AoE tanking - no Demo Shout necessary!
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB TPS analysis (A Jonesy derivative work)

Postby Morlin » Thu Dec 17, 2009 4:10 pm

I loved the <Massive Nerdery> warning. I'm decent with math, but I couldn't touch Theck's level with a 50 mile pole.

Well I guess that's it then. Bye-bye Conviction and hello Shield of Seal of Righteous Cleaving! However, this is really making me debate whether or not to go after 3/5 Reckoning (keeping in mind, of course, that I'm only sticking to one tank spec...I like having a DPS off-spec) and drop DS/DG. Though I'd still probably rather keep DS/DG since progression use is much more important than trash.

I'd also like to find a decent threat weapon (that's somewhat easily obtainable). Since you can only do the Quel'Delar chain once, I'd like to get a good weapon for my Ret set...I'm currently using the sword from 10-man Ony. Or, I could go for the 1H for a threat weapon. Another thing I'll have to consider.

Theck, thanks for your work on this!

EDIT: looking back to page 80 for the 3.3 weapon analysis (the link to this hasn't been updated in the original post yet, FYI), I think Black Icicle would be a good one to try for. QD is better, but I just like the 2H too much for my Ret set to waste the one-time quest chain for a threat weapon. Besides, since I'd probably never raid as Ret unless I wasn't called on to tank (which is rare), I'll probably never see a better 2H weapon.
User avatar
Morlin
 
Posts: 69
Joined: Thu Jun 12, 2008 4:31 pm
Location: United States

PreviousNext

Return to Advanced Theorycraft and Calculations

Who is online

Users browsing this forum: Bing [Bot] and 1 guest


Remove Advertisements

Who is online

In total there are 2 users online :: 1 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 380 on Tue Oct 14, 2008 6:28 pm

Users browsing this forum: Bing [Bot] and 1 guest