Cat Swipe

4 views
Skip to first unread message

Leafkiller

unread,
Jun 8, 2011, 2:50:11 PM6/8/11
to Mew Theorycraft
I was thinking about how to (easily) model multi-add swipe situations
during fights. My premise is that we do not have to be perfect, but
need some way to measure swipe damage on multiple targets while
accounting for the impact to the rotation on the main target (as in
debuffs falling off, SotP falling off, etc.). I am also assuming that
we would rely on the simulation script to make decisions of when to
call swipe, how many targets are being hit, if we are in range of the
main target, if we are doing white attacks, etc.

My thought is to add a parameter (either callable from the script or
in the UI - script driven is preferable IMO) that would allow us to
set the number of swipe targets. Obviously this would require a Swipe
action in the simulator which is not currently there.

For a fight like Meloriak, using a combination of the existing calls
that allow white attacks to be disabled, the ability to move in and
out of melee range, and new calls to set the number of swipe targets
and cast swipe for defined times during the fight would allow me to
build a fairly decent simulation. Another good example is poison
protocol on Omnitron where you could shift the script to swiping for a
few seconds.

We might want to have the ability to assign some debuffs to the swipe
targets - but for the sake of simplicity, this could be applied
universally (as in to all adds equally). I don't think it is necessary
to worry about individual buffs on different adds, or to worry about
adds dying (although this is covered if we have the ability to change
the number of swipe targets from the script). Although the only debuff
that would help swipe (that I can think of) is the armor debuff and it
is iffy whether or not every add would have that - so this is not a
critical capability.

The intent here is to avoid the overhead of trying to build support
for multiple targets while providing a means of adding periods of
swipe spam to a rotation. This will help with trying to evaluate the
value of different gear setups and trinkets on the AOE heavy fights.
Swipe spam is different than multi-target fights where successive
single target rotations are used, so this has value even is multi-
target support is added.

Thoughts?

Yawning Angel

unread,
Jun 8, 2011, 8:55:57 PM6/8/11
to mew...@googlegroups.com
On Wed, Jun 8, 2011 at 11:50 AM, Leafkiller <roy.d....@gmail.com> wrote:
> Thoughts?

This is somewhat easier to do than allowing for lots of targets/tab doting.

A few questions off the top of my head:
* What level should the adds be? Currently the core assumes that the target
being attacked is player level +3. If I remember correctly, most
adds in such
encounters are not that high.
* If the adds are level 86/87, what is melee crit depression, dodge/parry/miss
rates, target armor?
* Debuffs. You covered some of this. Since this won't explicitly support tab
targeting, it's not a huge deal for cat. The only things that
aren't realistically
going to be global are armor, spell crit and spell vuln.
* Should swipe hit the primary DPS target or not?
* How should reporting work? Do I care more about overall DPS, DPS on the
primary, DPS on the secondaries..... If I were to do this, by
default it would be
overall with detailed breakdown somewhere in the wall of text.

> For a fight like Meloriak, using a combination of the existing calls
> that allow white attacks to be disabled, the ability to move in and
> out of melee range, and new calls to set the number of swipe targets
> and cast swipe for defined times during the fight would allow me to
> build a fairly decent simulation

Depending on how you do this, you would either end up with more white damage
on the primary target than you should, or deflated damage to the secondaries
(realistically you will have your swing timer enabled, so a single add
will be getting
white damage, plus there's Omen of Clarity), so it's not quite that simple.

On a somewhat related note, in general what would people rather I spend my
development time on?

Things that are currently on my short list:
* Making the sim even faster.
* Rewriting the proc code.
* Improving the Bear Model.
* Adding functionality for pulling out a combat log.
* Fixing the closed form Cat model. (I know what's wrong with it for
the most part.)

Things that I'm willing to entertain:
* Multi-target support in some shape or form. (Regardless of what the
implementation
ends up looking like, I'm reluctant to touch this unless the design
will give accurate
results that had some resemblance to reality.
* (Your suggestions here....)

Regards,

Yawning

Yawning Angel

unread,
Jun 9, 2011, 7:52:08 AM6/9/11
to mew...@googlegroups.com
As much as I hate replying to myself...

On Wed, Jun 8, 2011 at 5:55 PM, Yawning Angel <yawni...@gmail.com> wrote:
> Things that are currently on my short list:

>  * Adding functionality for pulling out a combat log.

I have this done in my working tree, but I haven't committed it to SVN
yet. It's disabled by default, and will only generate a log for the
first iteration it runs even when enabled so it's not too expensive to
do. I personally think it's kind of neat, but I'm biased naturally.

Sample: http://pastebin.com/EbxbqvyR

Regards,

Yawning

Leafkiller

unread,
Jun 10, 2011, 3:15:27 PM6/10/11
to Mew Theorycraft
"So many questions and so few answers in this world of uncertainty"
You can add that to your Turing code - it is more impressive than
"Where is the tea?".

The goal of an AOE capability is to provide insight into different
gearing choices and optimized rotations. For example, I have seen
posts from some who say they keep SotP up while Swipe spamming, while
others don't. My gut feeling is that it is probably a dps loss to
waste energy on SotP during an AOE phase - but that is not an obvious
thing as you are dealing with both the relative damage during the
phase and also the lost time to reapply it after the AOE phase. I am
also interested in simple things like how much difference to your AOE
dps does being hit/expertise capped mean. It would be nice to be able
to make some quantitative judgements on gearing choices (i.e. hit/exp
cap with loss of mastery) but the difficulty as you point out, comes
from making judgements on armor, level etc. of the adds. it is
difficult if not impossible to get adds that match actual encounters.
If we just focused on some set stats - for example all adds are level
87, have the same armor, the swipe spam does not hit the primary
target, etc., then we may not get a simulation that properly balances
the AOE phase with the non-AOE portion of the fight, but we would at
least be able to make some analysis of how to optimize the AOE.
Perhaps we could balance this based on some of the Firelands fights
(although I am not sure how many AOE phases there are in those
fights).

"Fixing the closed form Cat model. (I know what's wrong with it for
the most part.)"
Is this for the formulation? Doesn't formulation require something
close to an optimized rotation as a starting point to build a decent
model around? We have not spent time optimizing the rotation for 4.2
yet*, so even if you improved the formulation model it won't be
accurate until we know if the priority of skills and gearing needs to
change. Looking at the Matrix Restabilizer**, reforging could have a
profound affect on DPS if mastery/haste/crit scale differently in
excess. In other words, I am dubious about spending time here.

"Improving the Bear Model."
The bear model is less interesting than the cat model since what it
means to optimize a tank is not nearly as cut and dried as what it
means to optimize dps. I would focus on getting the cat simulation
model correct first.

"Rewriting the proc code."
I would put this at the top of the list - especially given that Matrix
will proc whatever stat is highest - perhaps to a level where scaling
makes it less valuable.

"Making the sim even faster."
While it is always nice to have the sim faster, the current speed is
not a barrier to doing reasonable sim work. IMO, do this as a
background task but it is not the most important thing to do (we are
not working on OS internals after all;).

I do plan on finding some time to do some rotation work for 4.2 (I
need to write a document for my startup first). It looks like 4.2
could drop in 11 days, so the changes are probably fairly stable now
and time is running out.

Quick question - if I take stats from a chardev profile or my ingame
profile, do I need to do anything special with the strength/AP stuff?
I remember you commenting on that somewhere but it may only have been
an issue with older profiles. Also, are all the profiles in the Mew
tree updated for 4.2 strength/AP values?

* I did a quick 4.2 sim on the 391 profile and the amount of dps done
by Rake+Rip was 53% (I see the same thing with the 372 profile on 4.2
- 53+%) which is higher than I would expect since I typically see 45%
of damage done by Rip+Rake on current top parses. Running the 4.1 Mew
against the 372 profile shows Rake+Rip at about 47%. Given the
increase in damage done by Shred, Mangle, Ravage, and FB coupled with
the nerf to Strength which will make Rip and Rake do less damage, this
seems odd. I was thinking that Rake+Rip would drop down to around 40%
of total dps in 4.2, not jump up to 53%.

** Can you include what stat(s) procced with the Matrix Restabilizer
in the Trinket output? If I have Hungerer in a build where crit is the
highest secondary stat, and Hungerer procs, putting haste higher than
crit, it looks like Matrix will proc haste during the Hungerer proc
(it says "currently highest), but crit otherwise. Do we know if
Heroism could also cause Matrix to proc haste in place of some other
stat?

Yawning Angel

unread,
Jun 11, 2011, 1:34:50 AM6/11/11
to mew...@googlegroups.com
On Fri, Jun 10, 2011 at 12:15 PM, Leafkiller <roy.d....@gmail.com> wrote:
> "So many questions and so few answers in this world of uncertainty"
> You can add that to your Turing code - it is more impressive than
> "Where is the tea?".

Aw, you missed the literary reference. I stole the algorithm from
Douglas Adams.

> [Stuff regarding AoE snipped]

Makes sense. My primary concern would be that the white damage
component in AoE situations is statistically significant, and how to
account for that is tricky. I'll think about it.

> "Fixing the closed form Cat model.  (I know what's wrong with it for
> the most part.)"
> Is this for the formulation? Doesn't formulation require something
> close to an optimized rotation as a starting point to build a decent
> model around? We have not spent time optimizing the rotation for 4.2
> yet*, so even if you improved the formulation model it won't be
> accurate until we know if the priority of skills and gearing needs to
> change. Looking at the Matrix Restabilizer**, reforging could have a
> profound affect on DPS if mastery/haste/crit scale differently in
> excess. In other words, I am dubious about spending time here.

Don't really need to know the exact rotation, because it's uptime
based. The model works by figuring out energy/cp generation over
a given time frame and then attempting to maximize Rip/SR uptime.

It does have a slightly more fluid idea of energy generation/CPs
than exists in reality, but that doesn't stop it from being reasonably
close.

The 2 main issues that are the major sources of inaccuracy are
how I handle Primal Madness and TF, but I have enough information
that I could probably vastly improve that.

> "Improving the Bear Model."
> The bear model is less interesting than the cat model since what it
> means to optimize a tank is not nearly as cut and dried as what it
> means to optimize dps. I would focus on getting the cat simulation
> model correct first.

For single target the Bear code is mostly done anyway. There's a
few ideas of "other things that would be useful to track" in the back
of my mind.

> "Rewriting the proc code."
> I would put this at the top of the list - especially given that Matrix
> will proc whatever stat is highest - perhaps to a level where scaling
> makes it less valuable.

The matrix stabilizer is modeled correctly. The rewrite is more about
exposing information to the script, and possibly some finer control.

[snip]


> Quick question - if I take stats from a chardev profile or my ingame
> profile, do I need to do anything special with the strength/AP stuff?
> I remember you commenting on that somewhere but it may only have been
> an issue with older profiles. Also, are all the profiles in the Mew
> tree updated for 4.2 strength/AP values?

All the profiles are kind of updated. AP is slightly off since I was lazy, but
the difference is ~12 ap ish. From the AP chardev gives you for caster
assuming you're speced, subtract (Str - 10) * 1.25.

> * I did a quick 4.2 sim on the 391 profile and the amount of dps done
> by Rake+Rip was 53% (I see the same thing with the 372 profile on 4.2
> - 53+%) which is higher than I would expect since I typically see 45%
> of damage done by Rip+Rake on current top parses. Running the 4.1 Mew
> against the 372 profile shows Rake+Rip at about 47%. Given the
> increase in damage done by Shred, Mangle, Ravage, and FB coupled with
> the nerf to Strength which will make Rip and Rake do less damage, this
> seems odd. I was thinking that Rake+Rip would drop down to around 40%
> of total dps in 4.2, not jump up to 53%.

Errr, I see ~36% Rake + Rip with 391 gear with tip of tree, ~44% with with
372 gear. (r685, left out the Shred multiplier change in r684)

> ** Can you include what stat(s) procced with the Matrix Restabilizer
> in the Trinket output? If I have Hungerer in a build where crit is the
> highest secondary stat, and Hungerer procs, putting haste higher than
> crit, it looks like Matrix will proc haste during the Hungerer proc
> (it says "currently highest), but crit otherwise. Do we know if
> Heroism could also cause Matrix to proc haste in place of some other
> stat?

Like this?
3.000: Proc Trigger: The Hungerer (391)
5.000: Proc Trigger: Matrix Restabilizer (391) Proc: Haste Rating

144.153: Proc Expiration: The Hungerer (391)
144.352: Proc Trigger: Matrix Restabilizer (391) Proc: Crit. Rating

I guess I could bolt more stuff onto the reporting to be able to give
a summary of how many times each proc occurred but the code would
be somewhat nasty.

Since Heroism doesn't add rating, I doubt it has any effect on the trinket.

Leafkiller

unread,
Jun 11, 2011, 2:34:15 AM6/11/11
to Mew Theorycraft
It is sad that I missed the Douglas Adams reference - although it has
been many years since I actually read the books. I recall first
reading the Hitchhiker's books in 1983...

I was using r684. I just updated to r685, but clearly will need to
wait for the next release before starting any meaningful testing. 44%
going to 36% matches what I expected (until today) where Rake and Rip
would fall further behind as gear improved. Rake may keep up now, but
Rip will be even more behind - of course there is still time to buff
Rip. I would not be surprised to see the relative priorities of SR,
Rake and Rip change now (not to mention FB).
Reply all
Reply to author
Forward
0 new messages