Elitist Jerks Hunter Spreadsheets -- In development

 05/03/07, 10:43 AM #121 Norwest Von Kaiser   Vinehead Troll Mage   Thunderhorn Here's my thinking: We can calculate the average length of a 'no-proc streak' That's easy, it's just 10 shots since it's a 1/10 chance. Then we can calculate the length of a 'proc steak' or how many hastened shots we get when iAotH does proc. It's slightly more complex because it will proc off itself. If you have the averge # of shots in a 'no-proc streak' and the average number of shots in a 'proc streak' then it's a simple to find the effect of the procs. The thing I really like about this, is that the average effect is the same for close bow speeds which makes intuitive sense to me. I'll crunch some #'s and post a formula.
05/03/07, 10:57 AM   #122
Lactose
Don Lactose

Tauren Hunter

Talnivarr (EU)
I've been thinking about Improved Aspect of The Hawk as well these days. I'll give it some thought during the weekend and see what I come up with, and if what I come up with matches what other people get :P

As for the waveforms thinking... Correct me if I'm wrong, but wouldn't the best time to shoot a special be immediately after Auto Shot, not when Auto Shot is in the middle of cooling down (i.e. -1 isn't the best time to fire)?
I'm not used to thinking in waveforms, so if I'm misunderstanding something here, please interpret or poke me with a link as to where I can read up on it =)

Also, I have no idea how you'd incorporate casting time of Steady Shot, as well as the delay of Auto Shot after a special with that kind of thinking...

Edit: Oh, forgot to answer this:
 The only thing I'm unsure on is this: - The first shot (the shot it procs off) does NOT receive the haste bonus (I tested this awhile ago, but not 100% sure)
If shot x procs Quick Shots (Improved Aspect of the Hawk proc), shot x+1 is the first shot to be influenced by the haste effect.

Look, Lactose, we'd rather you didn't eradicate the whole human race.
- Sam & Max

05/03/07, 11:17 AM   #123
Glaurong
King Hippo

Goblin Hunter

Hyjal
 Originally Posted by Norwest We can calculate the average length of a 'no-proc streak' That's easy, it's just 10 shots since it's a 1/10 chance.
You are oversimplifying, the length of a 'no-proc streak' as you put it is variable. A variable number of hasted shots can lie within this streak, this makes any simple calculation impossible. Which is why I went with a simulation.

05/03/07, 11:23 AM   #124
The Iron Colonel
Don Flamenco

Dwarf Hunter

Mug'thol
 Originally Posted by Lactose As for the waveforms thinking... Correct me if I'm wrong, but wouldn't the best time to shoot a special be immediately after Auto Shot, not when Auto Shot is in the middle of cooling down (i.e. -1 isn't the best time to fire)? I'm not used to thinking in waveforms, so if I'm misunderstanding something here, please interpret or poke me with a link as to where I can read up on it =) Also, I have no idea how you'd incorporate casting time of Steady Shot, as well as the delay of Auto Shot after a special with that kind of thinking...
That's a good point, I guess I was unclear on that. You certainly wouldn't want to start a shot 90 degrees out of phase with an auto, but rather at some point during that gap (I used 90 degrees out of phase as a rough ideal point, since obviously that's exactly the midpoint between two autoshots). I know enough about waveforms to poke around, but it's certainly not my specialty. I only mention it because, as I said, it occurs to me that more often than not the shot rotation (or, at least, the BM rotation of priority replacement) resembles out of phase waveforms. A MM rotation with two specials would certainly be an interesting set of waveforms - one that I'm by no means going to tackle in the near term.

As for the casting time, it's somewhat simple: the casting time is a function of haste and you can tell when you need to start casting by subtracting the time for casting from the time at which you need to fire to maintain a non-clipped rotation. As I said, I am very very far from fleshing this out, it's the germ of an idea currently. It may not be worth pursuing, but I thought I would get comments/suggestions.

 05/03/07, 11:34 AM #125 Lactose Don Lactose     Lactose Tauren Hunter   Talnivarr (EU) Yeah, the 'when to fire to not clip' I can understand. For cases where you end up delaying your Auto Shot by say... 0.1 seconds to get the Steady Shot in... this is where I'm having trouble visualizing this with sine / cosine functions. Look, Lactose, we'd rather you didn't eradicate the whole human race. - Sam & Max
05/03/07, 11:55 AM   #126
The Iron Colonel
Don Flamenco

Dwarf Hunter

Mug'thol
 Originally Posted by Lactose Yeah, the 'when to fire to not clip' I can understand. For cases where you end up delaying your Auto Shot by say... 0.1 seconds to get the Steady Shot in... this is where I'm having trouble visualizing this with sine / cosine functions.
My feelings on the best way to model that would be to use an alternating series that accomodates for the delay from previous shots. My gut reaction is that because you're using sine/cosine to model shot time (which is continuous) but are really more interested in discrete events (shots) you would use a series that is essentially a time function that accounts for the time delay on the nth shot - for this case it would be a relatively (note: heavily stressing relatively) easy task to determine shot delay. As alluded to before, at this point I can only speculate on possible methods to account for delay, since I haven't worked out the math yet. Hopefully you kind of see where I'm headed with this line of thinking, though.

Despite all the mathematical masturbation, I maintain that discrete simulation is just going to be better than a generalized model. Likewise, empirical evidence from gameplay will surpass simulation in accuracy. It's just the order of things, really. Nonetheless, it would be valuable to have a reasonable model of shot rotations that does not rely on time averaging (which, unfortunately, appears to be a nontrivial task).

As for iAotH, here are my feelings: if you want to use average time of non-proc streaks, you're using time averaging. The 10% proc rate is only a valid number for extremely large sample sizes. Given that, as I understand it, your goal is to eliminate time-averaged accounting for haste effect and replace it with a more accurate model (which I can only gather would have to be discrete), you're on the wrong foot here. I can only echo the thoughts of others: I dislike modeling iAotH as a time-averaged percent increase in haste, but I don't have an alternative model that doesn't rely on simulation. I think Glau more or less did the best work possible in terms of describing it generally - if you want more accuracy, you have to independently simulate it for yourself.

 05/03/07, 12:09 PM #127 Cheeky Great Tiger   Cheeky Troll Hunter   No WoW Account The idea I'm currently working on regarding IAotH would be to have the user specify 2 shot rotations. One with no Quick Shots and one with. We can then determine the uptime of Quick Shots (pretty simple function) and ratio the DPS between the 2 rotations by that value. This wouldn't be exact, but it does cover the cases where you don't clip in non-Quick Shots, but do clip when you look at the current averages. BM Hunters could specify a every-other auto/special QS rotation, where MM could drop down to 1 special/auto for QS rotation. It also has the benefit of seeing the exact effects of Rapid Fire, Beast Within, trinkets, and racials both in and out of QS. Just playing around with the rotations could let you know exactly when to pop what. It wouldn't be too hard for me to add, but might be a large pain in the ass to configure 2 rotations. I could add in buttons to speed that up with some standard stuff like I have now. I figure uptime is calculated no different than Frenzy or Expose Weakness would be, and we seem to have a pretty solid handle on those abilities. Any thoughts?
05/03/07, 12:26 PM   #128
The Iron Colonel
Don Flamenco

Dwarf Hunter

Mug'thol
 Originally Posted by Cheeky The idea I'm currently working on regarding IAotH would be to have the user specify 2 shot rotations. One with no Quick Shots and one with. We can then determine the uptime of Quick Shots (pretty simple function) and ratio the DPS between the 2 rotations by that value.
I may be misunderstanding you, but I'm not sure I see the added value of this method. We already know (maybe not? My impression is that we've accepted converse probability as a method of determining uptime as a community at large) that the average up-time on iAotH is 1-0.15^floor(10/ attack speed under QS) so I'm not sure how the ratio of the dps between the two rotations would be any different. If you're modeling Quick Shots as % uptime * % haste to get the average haste and using that as a flat increase in dps (as a consequence of being a flat increase in haste) then the ratio of the two rotations is going to be just % uptime * % haste.

More clearly, let
A = rotation dps w/o QS
B = % uptime * % haste for QS = average haste benefit of QS
A*B = rotation dps w/ QS

(A*B)/(A)=B

Am I grossly misunderstanding what your intention is or is there some breakdown in communication? I'm not sure this would give us any more information than we have now - other than providing redundant sets of data for QS and non-QS rotations.

As for just providing the option for a second rotation while under haste, it might be nice to have something like a checklist of haste buffs - as BM I frequently have stacked haste, resulting in small attack speeds. Thus, having the ability to tune theoretical rotations under a variety of circumstances would be beneficial.

 05/03/07, 12:37 PM #129 Glaurong King Hippo     Glauwrong Goblin Hunter   Hyjal How about, since quick shots is such a pain in the ass to model and variable haste effects screw us up they just change it. Improved Aspects - While you have Aspect of the Hawk or Aspect of the Viper active your auto shots have a chance to trigger Focused Shots. While under the effect of Focused Shots your auto shots will do 3/6/9/12/15% more damage. They could change Rapid Fire as well. Rapid Fire - When Rapid Fire is active each of your shots has a chance to immediately trigger a second shot. Adjust the %chance to trigger as needed.
05/03/07, 1:47 PM   #130
Norwest
Von Kaiser

Troll Mage

Thunderhorn
 Originally Posted by Glaurong You are oversimplifying, the length of a 'no-proc streak' as you put it is variable. A variable number of hasted shots can lie within this streak, this makes any simple calculation impossible. Which is why I went with a simulation.
Right, but the average is 10, correct?

05/03/07, 2:23 PM   #131
Cheeky
Great Tiger

Cheeky
Troll Hunter

No WoW Account
 Originally Posted by The Iron Colonel I may be misunderstanding you, but I'm not sure I see the added value of this method. We already know (maybe not? My impression is that we've accepted converse probability as a method of determining uptime as a community at large) that the average up-time on iAotH is 1-0.15^floor(10/ attack speed under QS) so I'm not sure how the ratio of the dps between the two rotations would be any different. If you're modeling Quick Shots as % uptime * % haste to get the average haste and using that as a flat increase in dps (as a consequence of being a flat increase in haste) then the ratio of the two rotations is going to be just % uptime * % haste. More clearly, let A = rotation dps w/o QS B = % uptime * % haste for QS = average haste benefit of QS A*B = rotation dps w/ QS (A*B)/(A)=B Am I grossly misunderstanding what your intention is or is there some breakdown in communication? I'm not sure this would give us any more information than we have now - other than providing redundant sets of data for QS and non-QS rotations. As for just providing the option for a second rotation while under haste, it might be nice to have something like a checklist of haste buffs - as BM I frequently have stacked haste, resulting in small attack speeds. Thus, having the ability to tune theoretical rotations under a variety of circumstances would be beneficial.

What you have is pretty much exactly what is done now. The only problem is you take a weapon with speed X, then figure that IAotH adjusts to Y over very long periods of time. And that's fine, as far as auto shot DPS goes.

But in reality you have either X or Z (X/1.15) all of the time, you never actually see Y in game. Tuning a rotation around Y is problematic because that is a timing pattern that doesn't exist.

Right now my spreadsheet says you'll do D DPS using a Steady + Special/Auto rotation, but it's not really true. For some bows the Quick Shot proc prevents you from actually maintaining anything more than auto/special. While it probably doesn't have a huge effect in the grand scheme, of things my entire methodology in the spreadsheet breaks down for very fast bows. It makes them look better than they already are. I'd like to explore some ideas on fixing that.

05/03/07, 2:45 PM   #132
The Iron Colonel
Don Flamenco

Dwarf Hunter

Mug'thol
 Originally Posted by Cheeky What you have is pretty much exactly what is done now. The only problem is you take a weapon with speed X, then figure that IAotH adjusts to Y over very long periods of time. And that's fine, as far as auto shot DPS goes. But in reality you have either X or Z (X/1.15) all of the time, you never actually see Y in game. Tuning a rotation around Y is problematic because that is a timing pattern that doesn't exist. Right now my spreadsheet says you'll do D DPS using a Steady + Special/Auto rotation, but it's not really true. For some bows the Quick Shot proc prevents you from actually maintaining anything more than auto/special. While it probably doesn't have a huge effect in the grand scheme, of things my entire methodology in the spreadsheet breaks down for very fast bows. It makes them look better than they already are. I'd like to explore some ideas on fixing that.
Ah now I understand. As far as the 'never attained speed' argument, I wholeheartedly agree. The problem with modeling iAotH as a time-averaged haste increase is that it isn't. You never see the speed you calculate as average because your data set is bimodal - either the speed is hasted or it isn't. Using the mean doesn't really reflect reality IF you have to alter the shot rotation (if you don't, then you could actually model iAotH as a flat haste increase and get away with it).

I'm starting to see your point about differentiating shot rotations based on haste. Let my reiterate what I understand your idea to be and see if I'm following you now: construct two rotations with and without haste and determine the dps of each. Determine the time under effect for iAotH as a percentage of time as a whole, then weight each of the rotations accordingly and add them together to get total dps. Is that close?

Assuming the last paragraph is true (or close to true) I'd like to propose a more general method (although strongly based on your last post - admittedly I misunderstood your idea originally and I want to acknowledge that this is strongly based on your post). My suggestion would be to allow a user to select gear/buffs that you have previously modeled to establish time under effect. For example, abacus of violent odds and iAotH; You can easily determine the average time under effect for either of these. What I would then suggest is determine the percentage of time, on average, that you would be under the effects of each permutation thereof - either iAotH, abacus, both, or none - and assign shot rotations to each permutation (and thus to each state of haste). Then weight each rotation based on percentage of time under effect. The sum of these weighted values might more accurately reflect the rotation mechanics while still maintaining their respective weights for up-time.

Thoughts?

05/03/07, 3:16 PM   #133
Cheeky
Great Tiger

Cheeky
Troll Hunter

No WoW Account
 Originally Posted by The Iron Colonel I'm starting to see your point about differentiating shot rotations based on haste. Let my reiterate what I understand your idea to be and see if I'm following you now: construct two rotations with and without haste and determine the dps of each. Determine the time under effect for iAotH as a percentage of time as a whole, then weight each of the rotations accordingly and add them together to get total dps. Is that close?
That's exactly what I was going for. I probably could have been clearer in my earlier post.

 Originally Posted by The Iron Colonel Assuming the last paragraph is true (or close to true) I'd like to propose a more general method (although strongly based on your last post - admittedly I misunderstood your idea originally and I want to acknowledge that this is strongly based on your post). My suggestion would be to allow a user to select gear/buffs that you have previously modeled to establish time under effect. For example, abacus of violent odds and iAotH; You can easily determine the average time under effect for either of these. What I would then suggest is determine the percentage of time, on average, that you would be under the effects of each permutation thereof - either iAotH, abacus, both, or none - and assign shot rotations to each permutation (and thus to each state of haste). Then weight each rotation based on percentage of time under effect. The sum of these weighted values might more accurately reflect the rotation mechanics while still maintaining their respective weights for up-time. Thoughts?
This becomes an unbounded problem as more and more haste effects are possible. IAotH is something 95%+ of Hunters seem to have, so it makes sense to have special consideration for it. But you could have Abacus, Dragonspine, Kiss of the Spider, etc. that all come into play. And you could have them stack. I'm not sure I want to add the complexity of modeling them all as separate rotations. It doesn't scale well.

I provide for triggered effects right now from trinkets. The chance procs are a pain in the ass. And it seems like there is becoming more and more of them around. I've already decided it's probably worth it to handle IAotH. (I'm sure if that fucking Abacus ever drops for me I'll be in more of a hurry to include it too.) Could we generalize that at most 2 other "on chance" haste effects could come into play - based off of only trinkets exhibiting this property? If so I can include an additional sheet for those and crunch the permutations you discuss. I just want to make sure I don't work beyond the point of diminishing returns with this tool, there is a good chance I passed that line a while ago.

 05/03/07, 3:36 PM #134 The Iron Colonel Don Flamenco     Welshy Dwarf Hunter   Mug'thol I certainly understand the problem of scaling the modelling problem. The only limitation I see is the limit of only two trinkets available during combat (lets pretend feign/switch doesn't exist, because then you're correct - the problem has no practical upper bound). Perhaps I was overly general in stating the requirement to calculate for all permutations of gear. Rather, calculating based on what gear the player has more or less dictates that there will only be at most 2 on chance haste effects possible (are there non-trinkets that effects ranged haste or proc from ranged attacks? I'm not sure they exist). I do realize that's a tremendous amount of work - I don't honestly expect you to implement that kind of over-arching calculation to the spreadsheet (although it sounds like accomodating iAotH is a feasible option). From a purely theoretical standpoint, however, weighting rotations for time is probably more accurate than modeling iAotH as a flat haste increase. Thanks for indulging me in the conversation of that - I realize I occasionally get long-winded.
 05/03/07, 4:15 PM #135 Cheeky Great Tiger   Cheeky Troll Hunter   No WoW Account I put a version 13 up. This has a few asked-for items I've gotten pms for here and on other boards. - SSC, Mag, Kazzak loot (leather & mail) - new gems in 2.1 - specifying rank of KC now allowable, and mana use accounted for. If none of those interest you there are very few item corrections to worry about.

 Elitist Jerks Hunter Spreadsheets -- In development