Jump to content


Photo

Feral Powershifting: macros, thresholds, mana management


  • This topic is locked This topic is locked
221 replies to this topic

#21 Deninkle

Deninkle

    Glass Joe

  • Members
  • 17 posts

Posted 17 May 2008 - 06:01 PM

No 2T6, just 2T4 and badge equipment.



Because 2t6 reduces Mangle to 35 energy, in your case, you would want to increase your limit to 20 energy.


Test 1 (NO powershifting macro): fight time 9min 40sec, 332 melee hits, 269 melee crits (44,8%), 96 mangle hits, 94, mangle crit (49,5%), no misses

Test 2: (WITH powershifting macro): fight time 9min 40sec, 307melee hits, 237 melee crits (43,6%), 100 mangle hits, 31 mangle crit (44,8%), no misses

Test 3: (WITH powershifting macro): fight time 8min 53sec, 327 melee hits, 296 melee crits (47,5%), 119 mangle hits, 85 mangle crit (41,7%), no misses


I don't get the same crit percentage for mangle you do for Test 2. Typo maybe?

It's really hard to tell why your dps would have gone down. There are many factors. Crit rate, average damage, debuffs on target, armour of target, when you get your 2t4 procs and trinket/amulet procs.. did you get lucky with the stacking of procs.. did one proc more than the other.. Getting something like a WWS report would be really helpful because it contains pretty much everything. Although removing your proccable trinkets/amulet would make it easier to tell.





Back to the macros... I was thinking that there is some possible optimisation of the script:

/run local f="Cat Form";f=GetSpellCooldown(f)>0 or [b]UnitMana('player')<XXX and IsUsableSpell(f) and[/b] CancelPlayerBuff(f)
/stopmacro [form]
/cast Cat Form

I've bolded the changes.

This should mean that you can set the energy limits more precisely. I've sometimes had strange energy gains that mean I have 39 energy when I was expecting 40 energy after an energy tick. I noticed the mangle energy cutoff was set to >14.. so if I had had that strange fractional energy gain so my energy was really 14.5, I would not powershift and I would also be unable to mangle next tick.

The second change was just shortening "not IsUsableSpell(f) or" to "IsUsableSpell(f) and".

EDIT: Although I haven't used FeralToolKit yet, nor am I a Lua programmer... The fractional energy gain problem doesn't seem to be an issue for it.

#22 raffy

raffy

    Piston Honda

  • Members
  • 111 posts

Posted 17 May 2008 - 06:28 PM

I've been posting in the Feral Druid thread but I think I'll migrate my comments here:

A bunch of people have been asking what the energy regen cycle looks like after a shift, so in the lastest version of FeralKit, you can use /fk ps ticks to enable printing the energy time deltas.

Enter Cat Form
Energy Tick [0]: 578 ms
Energy Tick [40]: 705 ms
Energy Tick [59]: 827 ms
Energy Tick [80]: 2077 ms
Energy Tick [100]: 1985 ms

I can't figure out any relation with the first tick, for my latency of 100 ms, it looks like 400-600 ms so maybe 500 ms +/- latency?
The furor tick is probably aligned to the clock, since it ranges from 400 to 1000 ms.
The last tick is 2000 ms minus the previous two update deltas.

It might be interesting to model the delay + furor tick, instead of just using 1.5 seconds often you could gain energy in less than 1.5 seconds (although I guess since you're still inside the gcd, it wouldn't help, although this might allow better shifting during heroism, for example.)

And just for kicks, it might be interesting to observe the +/- 3 energy gains that seem to randomly occur, and to see if there is any pattern.


http://oldschoolwow.com/FeralKit.zip

-- /fk ps tick to enable energy tick watching (warning, its spammy)
-- if /fk proc terror is enabled, when combat ends, it will summarize the procs uptime for the combat duration
-- /fk bear crit will tell you if you are crittable against a 73

Edit:
@Deninkle: all wow energy gains are integers.

#23 Krish

Krish

    Wishes his user name was Kresh

  • Allied Members
  • 88 posts

Posted 17 May 2008 - 06:28 PM

I am seeing some strange behavior while testing the newest version of the addon. In using the mangle macro, once I run out of mana, it will not powershift me again. Even after my mana has been restored to full, this issue persists. Any thoughts?

#24 raffy

raffy

    Piston Honda

  • Members
  • 111 posts

Posted 17 May 2008 - 06:41 PM

I am seeing some strange behavior while testing the newest version of the addon. In using the mangle macro, once I run out of mana, it will not powershift me again. Even after my mana has been restored to full, this issue persists. Any thoughts?


@Krish
Redownload to get the latest version. I didn't have enough samples in my moving average before, so it could easily get corrupted and the proc probability would be too high and thus prevent all powershifting after a few lucky Bloodlust procs.

When in doubt, redownload because I probably released a new version :P

@ecopsorn
I'll localize the addon now. Actually, I think I can use spellID's for most of these, but in the mean time, can you provide translations for:

"Cat Form"
"Bloodlust"
"Omen of Clarity"
"Clearcasting"
"Primal Instinct"
"Dire Bear Form"
"Mangle"
"Cat Form"
"Aquatic Form"
"Travel Form"

#25 Krish

Krish

    Wishes his user name was Kresh

  • Allied Members
  • 88 posts

Posted 17 May 2008 - 07:02 PM

@Krish
Redownload to get the latest version. I didn't have enough samples in my moving average before, so it could easily get corrupted and the proc probability would be too high and thus prevent all powershifting after a few lucky Bloodlust procs.

When in doubt, redownload because I probably released a new version :P

@ecopsorn
I'll localize the addon now. Actually, I think I can use spellID's for most of these, but in the mean time, can you provide translations for:

"Cat Form"
"Bloodlust"
"Omen of Clarity"
"Clearcasting"
"Primal Instinct"
"Dire Bear Form"
"Mangle"
"Cat Form"
"Aquatic Form"
"Travel Form"



Even with the newest version, I'm still seeing the same issue. At some point after I've run OOM, the macro stops powershifting entirely.

#26 raffy

raffy

    Piston Honda

  • Members
  • 111 posts

Posted 17 May 2008 - 07:21 PM

Even with the newest version, I'm still seeing the same issue. At some point after I've run OOM, the macro stops powershifting entirely.

Can you do a "/fk debug" and post the proc percentages?

Edit: also try it with "/fk ps extrapolate" set to off

#27 Krish

Krish

    Wishes his user name was Kresh

  • Allied Members
  • 88 posts

Posted 17 May 2008 - 07:28 PM

What does /fk ps extrapolate actually do?

#28 Odas

Odas

    Von Kaiser

  • Members
  • 86 posts

Posted 17 May 2008 - 07:30 PM

When I download feralkit and copy it into my addons folder it gives me an error, "The system cannot find the file specified" and it does not copy the lib folder over. I was only copying the FeralKit folder and not the Feralkit file or the MACOSX file or folder. Should I copy those as well?

#29 Tinweasele

Tinweasele

    Von Kaiser

  • Members
  • 48 posts

Posted 17 May 2008 - 07:34 PM

Im toying around the idea of putting my threshold at 22 and using wolfshead, i guess the question is how much could i do to mitigate the mana drain incurred, more specificially does JOW work in cat form and what is the MP5 gain from it?

#30 raffy

raffy

    Piston Honda

  • Members
  • 111 posts

Posted 17 May 2008 - 07:40 PM

What does /fk ps extrapolate actually do?


If factors in the time since the last Bloodlust proc and the number of hits that have occurred since to determine wether the chances of landing a proc are high enough to consider not shifting.

I adjusted the switch to 99% and also moved the GetEnergyAfter(1.5) code into the extrapolate function.

So, in pseudocode:

energy = (current energy)
if (/fk ps extrapolate) then
   if (we get an energy tick within 1.5 sec)
      energy = energy + 20
   end
   if (there is a 99% chance of bloodlust procing)
      energy = energy + 20
   end
end

Redownload and see if it fixes it. (I assume that turning /fk ps extrapolate off fixed the issue?)

I also localized the spells (not the output) in this version so it should work with any language.

Edit: it seems even 99% isn't gonna do it, so I think I need to change the code since once the number of hits (n) is really high, 1-(1-p)^n will be 1 due to precision errors.

#31 Krish

Krish

    Wishes his user name was Kresh

  • Allied Members
  • 88 posts

Posted 17 May 2008 - 07:42 PM

Some results from /fk debug:

BL, OoC, and IT are all detected.
Probability of Bloodlust Proc: 4%
Number of Bloodlust Procs: %d nil <---this one seems like a potential issue
Probablility of Omen Proc: 5.14%
Number of Omen Procs: 6
Probability of Idol of Terror Proc: 84.2%
Number of Idol of Terror Procs: 6

Curiously, when I try typing /fk ps extrapolate, it literally does nothing when I press the return key (the line just stays in the chat box as if I never pressed the return button). I can type /fk ps and it shows "Extrapolate (On)".


I'll download and test the newest version now and report any changes.

#32 raffy

raffy

    Piston Honda

  • Members
  • 111 posts

Posted 17 May 2008 - 07:49 PM

Some results from /fk debug:

BL, OoC, and IT are all detected.
Probability of Bloodlust Proc: 4%
Number of Bloodlust Procs: %d nil <---this one seems like a potential issue
Probablility of Omen Proc: 5.14%
Number of Omen Procs: 6
Probability of Idol of Terror Proc: 84.2%
Number of Idol of Terror Procs: 6

Curiously, when I try typing /fk ps extrapolate, it literally does nothing when I press the return key (the line just stays in the chat box as if I never pressed the return button). I can type /fk ps and it shows "Extrapolate (On)".

I'll download and test the newest version now and report any changes.


Ah, thanks for finding that out. I uploaded another new version with a better extrapolate and the error fixed. Sorry for spamming the thread.

#33 Krish

Krish

    Wishes his user name was Kresh

  • Allied Members
  • 88 posts

Posted 17 May 2008 - 07:50 PM

With the newest version again:

I am now seeing a Bloodlust Procs: 0, despite having gotten several of them.

/fk ps extrapolate still doesn't let me press return (or seem to).

Downloading the even newer version now.

#34 Krish

Krish

    Wishes his user name was Kresh

  • Allied Members
  • 88 posts

Posted 17 May 2008 - 08:04 PM

One of the two issues is now fixed (I can now type /fk ps extrapolate and have it disable successfully). When I do so, I have no issues.

As for the /fk debug reporting 0 BL procs, that's still happening, and I suspect it's why I stop powershifting when extrapolate is turned on.

#35 raffy

raffy

    Piston Honda

  • Members
  • 111 posts

Posted 17 May 2008 - 08:09 PM

Downloading the even newer version now.


When I was cleaning up my code I put in the wrong conditional for SPELL_ENERGIZE and spell = Bloodlust. So it was just constantly accumulating hits and then would fail since it hadn't proced in like a billion hits.

I put up a new version, see if that fixes it. Thanks for helping me debug this.

Edit: you should also get bloodlust notifications through SCT or whatever /fk output is set to now that its properly detecting Bloodlust procs.

1 - (1 - p)^n > c
1 - c > (1 - p)^n
log(1-c) > log(1-p) * n
That should provide better results with large n.

#36 ecopsorn

ecopsorn

    Glass Joe

  • Members
  • 21 posts

Posted 17 May 2008 - 10:05 PM

@ecopsorn
I'll localize the addon now. Actually, I think I can use spellID's for most of these, but in the mean time, can you provide translations for:

"Cat Form"
"Bloodlust"
"Omen of Clarity"
"Clearcasting"
"Primal Instinct"
"Dire Bear Form"
"Mangle"
"Cat Form"
"Aquatic Form"
"Travel Form"


Katzengestalt
Kampfeslust
Omen der Klarsicht
Freizaubern
Urinstinkt
Terrorbärengestalt
Zerfleischen
Katzengestalt
Wassergestalt
Reisegestalt

I'm not in game and it's late here ^^ I'll check tomorrow morning if the above translations are 100% correct. So far I'm just 90% sure :)

#37 Mijae

Mijae

    Don Flamenco

  • Members
  • 443 posts

Posted 17 May 2008 - 10:19 PM

Sorry, I jumped threads to take the discussion out of other one since it's directly related to powershifting...

Assuming 4% proc rate, if you haven't got a proc in the last n hits, then your chance of getting the proc within the next few attacks increases, since over extremely large n, the proc rate must be 4%.

I do see your point as the PPM example would basically do the same thing, so maybe what I really should be modeling, is like the inverse of proc. For example, after you got a few lucky procs, your chance of getting more lucky procs is decreases as your number of hits increases.

On a longer fight, I'm sure that if you modeled the bloodlust proc you could have some success predicting its occurrence. How much energy would you save? Who knows? But why not try to figure it out? ;p Since we're ultimately limited by mana, avoiding shifting near high probability of Bloodlust procs doesn't seem like that bad of an idea.

The problem is that this is only relevant for, as you said, "over extremely large n". Even a 10-15 minute fight does not qualify for this, much less the short time window we're talking about here. You cannot predict with any certainty what the outcome of the next event will be.

Let's take another example... flipping a coin. The chance of heads or tails is 50% each. What you're trying to say is that the chance of the next flip being heads increases dependent on the number of flips since the last heads occurred. It is always 50%.

The other logic I use is like, "if within 1.5 seconds you will get another 20 energy from regen, then include that extra 20 energy in the energy calculation."

So it currently looks like:
energy = (current Energy) + (20 energy if energy tick occurs within 1.5 sec) + (20 energy if 1-(1-p)^n > 95%)

I also don't understand this logic. The only time the next tick will occur in less than 1.5 sec is basically in the 0.5 sec following either the previous tick or powershift. If it was a tick, you'll have at least 20 energy. If it was a powershift, you'll be in a GCD and have 40 energy. So, won't this always be true when less than threshold?

#38 raffy

raffy

    Piston Honda

  • Members
  • 111 posts

Posted 18 May 2008 - 01:05 AM

Sorry, I jumped threads to take the discussion out of other one since it's directly related to powershifting...


The problem is that this is only relevant for, as you said, "over extremely large n". Even a 10-15 minute fight does not qualify for this, much less the short time window we're talking about here. You cannot predict with any certainty what the outcome of the next event will be.

Let's take another example... flipping a coin. The chance of heads or tails is 50% each. What you're trying to say is that the chance of the next flip being heads increases dependent on the number of flips since the last heads occurred. It is always 50%.


I also don't understand this logic. The only time the next tick will occur in less than 1.5 sec is basically in the 0.5 sec following either the previous tick or powershift. If it was a tick, you'll have at least 20 energy. If it was a powershift, you'll be in a GCD and have 40 energy. So, won't this always be true when less than threshold?


If a 10-15 minute didn't qualify as "large n" for WoW's RNG then DPS outliers would be far more common than they currently are (if there are any that you can think of, for a 5 minute fight, where someone deviated from their paper doll significantly).

All I'm saying is that, Blizzards RNG has the short-term objective of maintaining its average within certain bounds to provide smooth yet still random performance for short-interval combat (the majority of wow combat).

The scenario is:

[0.0] +20 energy (55)
[0.0] Shred (13), GCD Start
[1.5] GCD Ends
You have 13 energy here so...

*** if you shift ***
[1.5] Cat Form (0), GCD Start
[2.0] +40 Energy (40)
[3.0] GCD Ends
[3.5] +20 Energy (60)
[3.5] Rip (30), GCD Start
[5.0] GCD Ends
[5.5] +20 Energy (50)
You have 50 energy and spent 680 mana.

*** if you wait ***
[2.0] +20 Energy (33)
[2.0] Rip (3), GCD Start
[3.5] GCD Ends
*** shift now! ***
[3.5] Cat Form (0)
[4.0] +40 Energy (40)
[5.0] GCD Ends
[5.5] +20 Energy (60)
You have 60 energy and spent 680 mana.

I guess maybe it should be called mana savings?

Edit: another update of FeralKit
http://oldschoolwow.com/FeralKit.zip
http://oldschoolwow....alKitReadMe.txt

"/fk ps extrapolate" was removed
"/fk ps predict bloodlust" (turn on/off bloodlust prediction -- code works but needs improvement)
"/fk ps predict ticks" (turn on/off energy tick prediction -- saves you mana, but you shift less)

-- properly localized spell names (as ids) used
-- provides a warning if you enter feral form without Omen of Clarity active
-- fixed dependancies so both Sink and Ace2 are included and referenced properly

#39 Leafkiller

Leafkiller

    Piston Honda

  • Members
  • 134 posts

Posted 18 May 2008 - 01:44 AM

Edited - missed that it was fixed in the previous post.

#40 Mijae

Mijae

    Don Flamenco

  • Members
  • 443 posts

Posted 18 May 2008 - 01:48 AM

If what you're saying is true, say I had a 50% crit rate. I could then wait for 4 non-crits in a row and then use a trinket because the next 4 must have a higher crit chance to make it even out to 50%. It just doesn't work that way.

I'm not sure you understand how compute-intensive the type of system you are suggesting implies. It might not be too difficult for you to try and mimic the behavior, but imagine doing this in detail for thousands of users while performing all the other server calculations as well. This is precisely why internal cooldowns are used instead. The implementation is a much simpler concept, easier implementation, and faster performance. Otherwise there would be no reason for them to exist.

If the predictions are wrong, it's not just a matter of saying oh-well. Not performing a shift because you're expecting a proc to come and it doesn't will lower your damage. If the proc actually does happen and you shifted, you simply get the energy after the shift rather than instead of it.

Btw, cat GCD is 1 sec, not 1.5. Also, the energy difference you posted is due to the threshold you used for when to shift and starting energy. I don't understand what it has to do with the current discussion.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users