WW & Sprint RLTW tick frequency mechanics

  • #21
    Awesome work topic starter. There is indeed difference between 2.00 atk per second and 2.01(checked it on Asmodan). I think all ww barbs should bookmark this topic to check the data when they pick their gear.
  • #22
    Quote from Twister

    Amazing work - and i guess an rather time consuming research!
    I've taken this information and made a speadsheet to calculate needed "attack speed increases (ASI)" on gear to reach tick-breakpoints: https://docs.google.com/spreadsheet/ccc?key=0AjPQvt06HFyJdG1ibTlKSExVZlpTN09hU1BLTmxHUEE#gid=0

    Can you include an input for an absolute attack speed bonus (from echoing fury for example) in the sheet?

    Quote from Twister

    Hmm.. could indeed be interesting for theorycrafting. However for the downside of "Echoing Fury" is the high Value of "Chance to Fear on Hit" (10-20%) on that weapon - fearing enemys out of the tornados

    Based on my observation, this effect is quite rare. Most monsters stay inside.
  • #23
    Thanks to Twister and the gear he gave me on the PTR plus some stuff I bought, I was able to research two other tornado tick frequency breakpoints.

    3.34-3.99 attacks per second = 36 ticks over 3 seconds = 12 ticks per second
    4.00 and more attacks per second = 45 ticks over 3 seconds = 15 ticks per second


    The highest aps I got to was 4.386:
    1.50 aps main hand dagger
    18% weapon IAS (->1.77 aps)
    +0.24 aps echoing fury (-> 2.01 aps)
    +0.03 enchantress
    9% andariel´s visage
    9% lacuni prowlers
    9% gloves
    9% amulet
    9% ring
    9% ring
    9% tal rasha´s relentless pursuit
    6% pride of cassius
    6% zunimassa´s journey (legacy)

    I did not have a 9% witching hour (6% cassius instead) nor inna´s temperance (9%) so I was only 12% IAS off of max aps but noone in their right mind would ever use a white dagger like I did, more like 11% weapon IAS dagger should be considered as max:

    (1.665 + 0.25 echoing fury + 0.03 enchantress) * 2.27 = 4.41515 aps

    I was also able to finally understand how + attacks per second from echoing fury works. It´s a direct weapon aps increase that also gets boosted by IAS from gear. If there´s also IAS on the weapon itself, EF gets added after the initial weapon IAS calculation, so the formula looks like this:

    attacks per second = ((base weapon aps * weapon IAS) + (attacks per second from legendaries and enchantress)) * (gear IAS + skill IAS + dual wield IAS)
  • #24
    Quote from Lexikon

    Can you include an input for an absolute attack speed bonus (from echoing fury for example) in the sheet?

    I updated my sheet to include +aps from echoing fury, corrected how the enchantress is calculated and included the new breakpoints Nubtro posted.

    URL to the updated version is: https://docs.google....hoWmZjYWc#gid=0
  • #25
    It's worth mentioning to barbs (or anyone else) using the enchantress to achieve a higher breakpoint that her attack speed boost only applies while she is alive. If she dies, it no longer applies until she pops back up. Her armor buff stays active at all times though.

    This looks like the same mechanics as Energy Twister spells for wizards like Wicked Wind, Storm Chaser, and Mistral Breeze, except for the damage done. Our twisters only do a fixed damage because the wording is X damage over y seconds while the Barb skill is X damage FOR y seconds. :(
    My EHP and DPS Spreadsheet, mostly useful for wizards.
    My wizard, mostly useful for killing demons and collecting loot.
    Wizard CM DPS Simulator, written in Matlab, release version 1.01
    Comprehensive CMWW Guide, including gear and build suggestions, plus Uber strats
    Arcane Mines Guide, detailed guide for the highest dps wizard build, including vids
  • #26
    Hi guys.
    Just wanted to drop by to inform you there is a way to calculate those breakpoints.

    Background:
    Shandlar (US), Guybrush (EU) and I were doing the same thing you did, just for Wizard's Energy Twister - Wicked Wind. We found breakpoints and we also saw it looked a lot like your data, but couldn't make any sense out of it. Then 3 days ago, Voltara (US) came up with a working algorithm:
    http://us.battle.net...1641?page=9#168

    And with two slight modifications, this function also happens to match your testing data. Voltara found the Theory of Everything:

    tick_rate = ceil((60*duration) / (floor((60/speed_coef) / attacks_per_second)))
    
    More readable:
    frames_per_attack = floor((60/speed_coef) / attacks_per_second)
    tick_rate = ceil((60*duration) / frames_per_attack)


    In your case, speed_coef is 3. For Energy Twister, it is 2.


    So basically, your Sprint Tornado breakpoints between 0.6 aps and 5.0 aps are at:
    MinAPS	#Ticks
    0.6000	6
    0.6667	7
    0.7693	8
    0.8696	9
    1.0001	10
    1.1112	11
    1.1765	12
    1.3334	13
    1.4286	14
    1.5385	15
    1.6667	17
    1.8182	18
    2.0001	20
    2.2223	23
    2.5001	26
    2.8572	30
    3.3334	36
    4.0001	45

    Where MinAPS is the minimum attacks per second (accurate to 4 decimals) you need, to get the stated number of ticks.
  • #27
    You´re a bit late to the party as I´ve figured it out, before you guys. Anyway, nice to see other people trying to research tick breakpoints for their class and coming to the same conclusions about the mechanics.

    I forgot to update this topic but the ones in the official forums are updated for more than a week with the data that I´ve researched.

    The post with the breakpoints formula

    http://us.battle.net...44497?page=5#97

    talking about the key to the mechanics (I meant that you just need to know how much damage a skill that scales with aps does per tick to figure out all the breakpoints)

    http://us.battle.net...4497?page=6#120

    updated first post in the us forums

    http://us.battle.net...opic/6037344497

    I´ll update this topic tomorrow.

    Thanks again for posting apo86. I won´t ever play a wizard so at least I don´t have to post in your part of forums about the findings now, unless you guys are unable to figure out the rest of the skills. Feel free to contact me then.

    Basically the general formulas for all skills that scale with aps in a similar way to whirlwind, sprint tornadoes, strafe etc. are:

    key frame length = tick damage / tooltip dps * 60
    tick breakpoints = key frame length / aps


    If you know the tick damage, you calculate everything else. Also did this for Strafe (DH)

    Strafe does 39% weapon damage per tick. Tooltip says 156% damage.

    39/156 * 60 = 15

    STRAFE FORMULAS

    tick frame length = (15/aps); rounded down to the nearest whole number
    ticks per second = 60 / frame length

    ATTACKS PER SECOND - FRAME LENGTH - TICK FREQUENCY
    1.07143-1.15385 aps - 13 frames - 4.62 ticks per second
    1.15386-1.25000 aps - 12 frames - 5.00 ticks per second
    1.25001-1.36364 aps - 11 frames - 5.45 ticks per second
    1.36365-1.50000 aps - 10 frames - 6.00 ticks per second
    1.50001-1.66667 aps - 9 frames - 6.67 ticks per second
    1.66668-1.87500 aps - 8 frames - 7.50 ticks per second
    1.87501-2.14286 aps - 7 frames - 8.57 ticks per second
    2.14287-2.50000 aps - 6 frames - 10.0 ticks per second
    2.50001-3.00000 aps - 5 frames - 12.0 ticks per second
    3.00001-3.75000 aps - 4 frames - 15.0 ticks per second
    3.75001-5.00000 aps - 3 frames - 20.0 ticks per second
    5.00001-7.50000 aps - 2 frames - 30.0 ticks per second
    7.50001-15.00000 aps - 1 frame - 60.0 ticks per second

    ...
  • #28
    As promised, the first post is now updated with all the exact frequency mechanics, formulas and breakpoints.
  • #29
    That is awesome.

    Didn't know you were posting in the official forums, too.

    We based all our research on LoH, so we don't have any damage tick values. But that is no problem, because your method is just a very clever way of determining what we called speed_coefficient. And we got that info, too. Can't even tell you how, but Guybrush figured them out.

    However, I'm still a bit confused about how this works with channeled skills like strafe.

    We always looked at total ticks during full duration. That's why we were inevitably stuck on channeling, because we didn't know how to do deal with the variable duration.
    So now I'd like to understand how you dealt with it.

    Your RLTW calculation also involves knowing the duration of each tornado [used in "Number of tornado ticks = (180 / frame length); rounded up to the nearest whole number", where 180 is 60*skill_duration)].

    And this also affects the position of the relevant breakpoints. Because for example between 0.86957 and 1.00001 aps, there are 3 breakpoints for ticks/s, but only one for total_ticks. In game, you wouldn't care about the ticks/s breakpoints, because they all result in the same amount of total ticks.
    And if you alter the duration, those relevant breakpoints appear at different aps marks.

    So back to channeling, what does this mean? You could either neglect the total_ticks breakpoints and assume channeling skills are working with ticks/s only, or you could set an arbitrary "duration" for calculation purposes.
    Which option did you choose? And how did you verify it? Or am I making a mistake somewhere?
    Please don't get me wrong. I think your research is awesome and I find this very exciting. I'm not trying to invalidate your results or anything, I just want to understand how this works exactly.

    Anyways, thanks for your insight. Incredibly awesome work you did there.
  • #30
    Thanks.

    I wrote a summary of the whole process in the first post

    1. First thing I figured out after the damage values and proc coefficients were tick breakpoints of tornadoes at different aps values by counting the number of tornado ticks.
    2. Based on some WW recordings I made the assumption that it scales with aps in the same way as tornadoes. I found out the specifics of dual-wielding.
    3. I viewed the fury cost of WW with the mouse over the fury globe to find out that it had a fixed fury cost per tick (pre 1.0.5) and that it scales with aps (1.0.5).
    4. After further 1.0.5 (PTR) tests I figured out that each WW tick (damage) corresponds with a fury tick on the fury globe (losing fury) which made it easier for me to find out the actual tick frequency of WW.
    5. I found out that the game usually runs at 60 fps and as I recorded at 60 fps and could view the video frame by frame, I figured out that tick frequency is just a sequence of specific frame lengths (ticks) depending on the aps values.
    6. Having the aps and the corresponding frame length of ticks, I figured out formulas that would allow me to calculate the exact frequency breakpoints for WW and Sprint Run Like the Wind. The researched values were the same as the calculated ones :)
    7. I´m currently in the process of figuring out the new mechanics behind WW fury cost per tick in 1.0.5 that scales with aps.


    I´ve spent a lot of time on this but the breakthrough came recently when Twister asked me to test the highest aps breakpoints with his gear on the PTR. At that time I only had the hard ingame tested breakpoints without the formulas. It was then that I figured out that pausing fraps and clicking forward pic by pic means +1 frame as it records at 60fps and the game runs at the same frame rate (yeah I´m a nub). Until then, I was confused because fraps always shows 2-3F when I move pic by pic and it took time until I understood it.

    It was really easy from that point. Before that, I couldn´t find a way to get the tick frequency of WW (sprint was relatively easy to test because of the set 3 seconds duration). In the middle of it I figured out that each WW tick corresponds with a -fury tick on the fury globe and when I figured out the frame stuff I simply counted the frame length of various aps values, compared it to my chart and it gave me the exact same values as Sprint tornadoes (which I assumed were the same because of some tests where I just watched WW ticks on monsters while looking at the fraps seconds clock - it was a rough estimate but they seemed to be the same frequency)

    What channeling skill means is that all of them have a set resource cost per tick. You can figure out the breakpoints and then apply a tick frequency chart which tells you X ticks per second so you´re able to calculate the exact DPS. Generally speaking, DPS is always roughly around the value in the tooltip, but certain breakpoints boost your damage over the tooltip value.

    Here´s an example of tooltip DPS vs true DPS
    http://us.battle.net...4497?page=6#114

    By the way, LOH is not suited for this research because as far as I know they healing values are always shown each 0.5 second not everytime you actually do damage. Unless I´m missing something, I have no...wait I understand he basically counted the actual (total) healing values over the duration of the skill and divided them by the base LOH value per tick according to proc rates. That´s interesting but not ideal :) because it works like I´ve described - all the life you regain ticks each 0.5 seconds and it´s the sum of LOH, LS, life regen and life per kill.

    Anyway, the key formula for determining breakpoints for skills was pretty clear to me as soon as I confirmed the game mechanics for WW. Both WW and Sprint always do 1/3 of the tooltip damage per tick, this was the very first research I made months ago. The tooltip damage shown is in reality skill DPS at 1.00 aps. Now I did the Strafe test at breakpoints I assumed to be true according to the formulas

    key frame length = tick damage / tooltip dps * 60
    tick breakpoints = key frame length / aps


    and the tests confirmed what I though, that it would be very easy to calculate the key frame value for skills that scale with aps. Also the fact that each channeling skill tick equals a resource globe tick confirms the game mechanics.

    Well, feel free to calculate the Wizard breakpoints of skills that scale with aps (ideally make one topic where you gather the specific skills and their breakpoints) using these formulas and eventually there will be a breakpoint calculator for all characters like in D2.

    By the way, for pure channeling skills, use the above formulas and calculate ticks per second (frequency), but for skills like sprint (and I assume the wizard skills the wizard guys researched) which have a set duration while still scaling with aps, use the following formulas

    Tick frame length = (key frame length / aps); rounded down to the nearest whole number
    Number of tornado ticks = (duration / frame length); rounded up to the nearest whole number
    Ticks per second = (60 / frame length)

    to determine the total number of ticks.

    I´m talking about the second one here it is basically skill duration in seconds times 60 frames (3 second tornadoes = 180 frames) and the result is rounded UP. This gives you a total number of ticks. I´ve further confirmed that they are separated by the same frame length, it´s just impossible to figure out the very first tick duration because noone knows when the skill begins. I´ve tried the visual WW icon click but the first tick has always a different frame length for each frequency. So it´s best to ignore the first tick duration.
  • #31
    Thanks again, but I think you didn't completely understand my question.

    I know how it works for fixed duration. But regarding channeling, let my try to rephrase, based on an example:
    For WW, is there a measurable breakpoint at 0.95239 aps or only at 1.00001 aps?
    That's what I'm getting at. The difference between ticks_per_second breakpoints and total_ticks breakpoints.

    But thinking about it, I guess I begin to understand. So basically, for a channeled spell it calculates ticks/s and then starts to tick at that rate. Now when you stop channeling it will probably not stop immediately, but continue the currently "running" tick until it's finished.
    So that's where our "round up" went and suddenly it looks exactly like fixed duration spells.
    If I'm right, the answer to my question above is "depends on how long you channel it".

    ... I guess that's nowhere near to a understandable explanation of my thought process. Sorry. Don't want to steal your time, if this is too confusing, just don't bother.


    PS: LoH is perfectly fine for this kind of research. Display doesn't tick at a fixed frequency of once per 0.5 seconds but is dynamically adjusting the number and value of ticks depending on your aps and healing. I actually had test setups in which the displayed ticks were random (different numbers of 50 health and 100 health ticks for each cast). And yes, it includes LS, reg, etc.
    But all of that doesn't really matter. As long as the testing setup uses LoH only, you can just add up all numbers you see and get the total healing value. And when dealing with fixed duration spells and knowing the single-tick LoH value (which is also easily determined by applying the spell to a single a1 normal monster that dies after one tick), that's sufficient to calculate the exact number of total ticks. It's crap for channeled spells, though.


    [edit]PS: 4 Wizards got beaten by a single Barbarian... At math! Now that's embarrassing :D
    Again, many thanks and my full admiration for your hard work.
  • #32
    Quote from apo86

    Thanks again, but I think you didn't completely understand my question.

    I know how it works for fixed duration. But regarding channeling, let my try to rephrase, based on an example:
    For WW, is there a measurable breakpoint at 0.95239 aps or only at 1.00001 aps?
    That's what I'm getting at. The difference between ticks_per_second breakpoints and total_ticks breakpoints.

    But thinking about it, I guess I begin to understand. So basically, for a channeled spell it calculates ticks/s and then starts to tick at that rate. Now when you stop channeling it will probably not stop immediately, but continue the currently "running" tick until it's finished.
    So that's where our "round up" went and suddenly it looks exactly like fixed duration spells.
    If I'm right, the answer to my question above is "depends on how long you channel it".

    ... I guess that's nowhere near to a understandable explanation of my thought process. Sorry. Don't want to steal your time, if this is too confusing, just don't bother.


    Oh I understand what you meant.

    1. For skills like Sprint (and Wicked Wind), it uses (duration / frame length) and rounds up the number (it´s called ceiling if I´m not mistaken). That´s why there´s never 16 tornado ticks as 180/12 = 15, 180/11 = 16.36 = 17, 180/10 = 18.

    2. I´m listing separate data in my chart

    ATTACKS PER SECOND - FRAME LENGTH - TICK FREQUENCY - # OF TORNADO TICKS
    0.86957-0.90909 aps - 22 frames per tick - 2.73 ticks per second - 9 ticks
    0.90910-0.95238 aps - 21 frames per tick - 2.86 ticks per second - 9 ticks
    0.95239-1.00000 aps - 20 frames per tick - 3.00 ticks per second - 9 ticks
    1.00001-1.05263 aps - 19 frames per tick - 3.16 ticks per second - 10 ticks

    Tick frequency should actually be WW tick frequency because that´s more accurate and the value represents the (60/frame length) formula. Number of tornado ticks is another value that represents the (duration/frame length) formula.

    Note that I think the first tornado tick frame length is adjusted so that the tornado duration will always be 180 frames. It is impossible to test this because I don´t know the exact moment when the tornado is spawned and I only count from the first tick (1), all other frame lengths are the same.

    As for your question, yes there is a difference between

    0.95239-1.00000 aps - 20 frames per tick - 3.00 ticks per second - 9 ticks
    and
    1.00001-1.05263 aps - 19 frames per tick - 3.16 ticks per second - 10 ticks

    I´ve tested the breakpoints (as close as I could with various IAS combinations) to be 100% sure. So there is a 0.95239 breakpoint for WW but not for Sprint, because 180/22, 180/21 and 180/20 when rounded up all give you a total of 9 tornado ticks.

    As for how exactly channeling skills work, click the skill, the frame length is given (calced) and the sequence starts (ticks) as time passes frame by frame and when you stop holding down the button it stops. I admit I don´t know if it finishes the next tick if its sequence already started as I don´t know the exact frame when I stop holding down the button. So basically the first and last frames are somewhat mysterious :)

    Yep, as long as you channel it is correct. In my opinion, if one is talking about Wicked Wind-like skills, he should use total number of ticks and in case of channeling skills like WW, frame length would be ideal, but tick frequency seems to be the most user friendly number.

    Lol we´re in the same boat as players, trying to figure out how stuff works so there´s no real rivalry involved.
  • #33
    Quote from Nubtro

    Note that I think the first tornado tick frame length is adjusted so that the tornado duration will always be 180 frames. It is impossible to test this because I don´t know the exact moment when the tornado is spawned and I only count from the first tick (1), all other frame lengths are the same.

    That's an interesting thought. But why do you think so?
    I imagine the algorithm being more... I don't know, practical.

    You have a fixed number of ticks per second, which means there should be also a fixed delta time between ticks.

    Now for the RLTW example at let's say 0.9 aps, ticks per second is 2.73, delta time between ticks is therefore 1/2.73=0.3663 seconds.

    3 seconds duration divided by 0.3663 is 8.19. That means in the full 3 seconds duration of a tornado you could fit 8 full "tick, wait" cycles and the 9th cycle would have already started when the duration ends.
    So my theory is, it's just finishing that last cycle, ending up with a total of 9 ticks.
    That's my "mechanical" explanation for why it is rounding up.
    If you imagine the ticks happening at cast start and then at the start of each cycle, it even has to round up. Because in this example, it will go through 8 full cycles (8 ticks), then start the next cycle (+1 tick) and then the duration of the tornado runs out.

    It fits the formulas and although I can't prove it, at least for me it's a little more tangible.


    And it has the advantage that at the same time it is a possible (yet also not verifiable) explanation for how channeling works.
    As in the example above, it just ticks away and waits for the spell to end. Except the end is not given by a fixed duration timer, but by the user releasing the button.
    Still, it could work based on the same mechanics - a cycle that has already been started will be finished. If and how much this results in additional ticks on top of what you would expect, then would be depending an how long exactly the spell was channeled.

    Anyways, back in the real world, people probably ask themselves what to do with the info anyways?
    For channeled spells, does this actually result in the possibility of educated gearing decisions?
    I mean for wicked wind, this had a huge impact on popular wizard builds. Because now they can aim for the major total ticks breakpoints to get some 3-5 "free" ticks per twister. I guess it's the same for RLTW.

    But what about strafe for example? If I were to optimize a strafe build, would it make sense to aim for the ticks per second breakpoints? The way I see it, those don't actually give a real benefit. We know the breakpoints are there. But if they result in "free" total ticks remains unclear. And possibly depends on exactly how long the player was channeling. So...


    Lol we´re in the same boat as players, trying to figure out how stuff works so there´s no real rivalry involved.

    I know, just kidding ;)
    I think it's kinda sad that theory crafters are so scattered around several forums. And even if they are in the same forum, it still takes a lot of time until info passes the EU/US border or get's from one class forum to another.
    If we had a real shared platform, I'm sure by now we could have found the meaning of life ;)
  • #34
    Quote from apo86

    That's an interesting thought. But why do you think so?
    I imagine the algorithm being more... I don't know, practical.

    You have a fixed number of ticks per second, which means there should be also a fixed delta time between ticks.
    Oh it is very practical if you take a closer look at it. Perhaps i can elaborate on this why Nubtro came to the theory that the first tick is adjusted:
    You're right that there is a fixed delta time between ticks, and these are investigated by counting the frames between ticks, but for N ticks you'll have only N-1 delta times - or even better delta frames to count.
    So you're wrong on that part where you tried to fit 9 tick and 9 wait cycles in it's duration, because using the current knowlege we only have excact messured 9 ticks and 8 wait cycles. There is plain no need to extend the skills duration.

    Taking your example for the RLTW at 0.9 aps, the framelenght is 22 frames (TPS : 60/22 = 2.7272 periodic) and it ticks a total of 9 times over three seconds. What we know by now about it is that it'll look like this:
    T--22--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T

    Considering this, the duration is atleast 22*8=176 frames, but it should match 180 frames which is equal to 3 seconds duration. The theory Nubtro has but can't prove is that the remaining delta time of 4 frames (180-176) is added before the first tick, just after you activated the skill. It would look like this:
    4--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T

    At 1.0 aps, the framelenght is 20 frames (TPS: 60/20 = 3) and it's still ticking 9 times over three seconds. Acording to Nubtro's theory, it would look like this:
    20--T--20--T--20--T--20--T--20--T--20--T--20--T--20--T--20--T

    But since you could only reliably count the delta between ticks, it's hard to prove that though. He came to this theory because the number of frames you could count from when you see the skill-icon activation in the actionbar is very different for different breakpoints.
    However, RLTW is not that good suited for this kind of reseach, because after skill activation you also have to move to spawn the first tornado. I bet this could be more reliably meassured with Energy Twister - WW Rune.

    Quote from apo86
    Anyways, back in the real world, people probably ask themselves what to do with the info anyways?
    For channeled spells, does this actually result in the possibility of educated gearing decisions?
    I mean for wicked wind, this had a huge impact on popular wizard builds. Because now they can aim for the major total ticks breakpoints to get some 3-5 "free" ticks per twister. I guess it's the same for RLTW.
    Not exactly the same, but it's quite equal. Where not profiting twice from APS since we can't create (cast) tornados faster by upping our APS, but we gain the benefit of free ticks like wizzards with WW.

    Quote from apo86
    But what about strafe for example? If I were to optimize a strafe build, would it make sense to aim for the ticks per second breakpoints? The way I see it, those don't actually give a real benefit. We know the breakpoints are there. But if they result in "free" total ticks remains unclear. And possibly depends on exactly how long the player was channeling. So...
    By lowering the delta between hits you raise the amount of DPS that paticular skill is doing over it's channeling duration. This is important! However, the downside of this is that you dramatically raise the resource costs over the channeling duration, which basically means you would not get more "free" ticks out of it, as you have to pay the resource costs of each tick.
    If you would like to optimize a strafe build, you have to keep in mind that while APS raises your DPS of the strafe-skill, it'll also raise your resource spend per second channeling it.
    Lets take two examples for this:
    1. At 1.0 APS, strafe uses a framerate of 15 frames per tick at a cost of 3 hatred per tick, dealing 39% weapon damage per tick.
    2. This way at 1.0 APS, you'll deal (60/15)*39%=156% weapon damage per second for the costs of (60/15)*3=12 hatred. (Note: This is matching the ingame tooltip values)

    3. At 2.5 APS, strafe uses a framerate of 6 frames per tick at a cost of 3 hatred per tick, dealing 39% weapon damage per tick.
    4. This way at 2.5 APS, you'll deal (60/6)*39%=390% weapon damage per second for the costs of (60/6)*3=30 hatred.
    What's really interesting about version 1.05 of Barbarian's WW (Whirlwind != Wicked Wind || we need more abbreviations! :P) is that it's resource cost is no longer fixed per tick, scaling down while gaining more APS now, too.


    Just a short sidenote to end with: I've updated the spreadsheet with the calculated breakpoints.
    URL stays the same this time: https://docs.google.com/spreadsheet/ccc?key=0AjPQvt06HFyJdDUxeXU5U0hhbmF4Tm9DSzhoWmZjYWc#gid=0
  • #35
    Ahhh... Didn't see you edited your post.

    Quote from Twister

    Oh it is very practical if you take a closer look at it. Perhaps i can elaborate on this why Nubtro came to the theory that the first tick is adjusted:
    You're right that there is a fixed delta time between ticks, and these are investigated by counting the frames between ticks, but for N ticks you'll have only N-1 delta times - or even better delta frames to count.
    So you're wrong on that part where you tried to fit 9 tick and 9 wait cycles in it's duration, because using the current knowlege we only have excact messured 9 ticks and 8 wait cycles. There is plain no need to extend the skills duration.

    Taking your example for the RLTW at 0.9 aps, the framelenght is 22 frames (TPS : 60/22 = 2.7272 periodic) and it ticks a total of 9 times over three seconds. What we know by now about it is that it'll look like this:
    T--22--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T

    Considering this, the duration is atleast 22*8=176 frames, but it should match 180 frames which is equal to 3 seconds duration. The theory Nubtro has but can't prove is that the remaining delta time of 4 frames (180-176) is added before the first tick, just after you activated the skill. It would look like this:
    4--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T


    I guess we're saying the same and just looking at it from different directions.

    If it's always starting with a tick at 0 seconds, this could still explain the rounding and why there are breakpoints.
    Because said example would look like this:

    T--22--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T--4

    It's basically the same, just that I thought the remaining 4 frames would be added at the end, not the beginning. Or rather, not adding any frames anywhere - just continuing the cycle, until the duration ends. It's the easiest and most reusable solution.
    It feels more natural to me. Especially, since it still works when you consider monsters leaving the effect area or channeling spells with their random duration.
    If you always start with a tick at 0 seconds, you just need to make a clean cut right when the effect duration ends and everything will magically line up just the way our formulas suggest.

    But I can't prove that either.


    At 1.0 aps, the framelenght is 20 frames (TPS: 60/20 = 3) and it's still ticking 9 times over three seconds. Acording to Nubtro's theory, it would look like this:
    20--T--20--T--20--T--20--T--20--T--20--T--20--T--20--T--20--T

    My theory:
    T--20--T--20--T--20--T--20--T--20--T--20--T--20--T--20--T--20

    By lowering the delta between hits you raise the amount of DPS that paticular skill is doing over it's channeling duration. This is important!

    That is only true, if the lowered delta time allows you to fit more ticks in the same duration. That's what I meant to say. It's the same as the 0.95239 aps breakpoint for RLTW. We know it makes the skill tick faster (2.86 t/s -> 3.0 t/s). But we also know this doesn't help the player in any way, because total ticks is still 9.
    So if we assume channeling works the same, we can't possibly predict which of the breakpoints are relevant. Because we would need to know the duration. Right?
    Or am I making a mistake somewhere?
    [edit]Thinking about it, ignore the paragraph above. I found my mistake: That's only relevant for low attack speeds.


    However, the downside of this is that you dramatically raise the resource costs over the channeling duration, which basically means you would not get more "free" ticks out of it, as you have to pay the resource costs of each tick.

    That is very true. I guess I'm too focused on ticks being just a Critical Mass trigger - the more the better.
  • #36
    Yes, adding ticks at the end instead of the reversed-version is the most basic thing you could think of - its quite similar and also has very minor advantage over adding ticks at the beginning: It contributes to burst-damage, because looking back at our example at 0.9 APS the spell would do it's total damage in 176 frames, while at 1.0 it would only need 160 frames. But that's a quite negligible point.

    Initially i just wanted to further explain why Nubtro came to the theory of the reversed scaling, describing the hints he found for it. But like allready written above, RLTW is not that good suited to prove these.

    However, i have to excuse myself on calling you wrong with the fitting of 9 Tick-Wait cycles: I thought you were talking about extending the skill beyond it's 180 frames duration to fit in all ticks.

    Quote from apo86

    I guess I'm too focused on ticks being just a Critical Mass trigger - the more the better.
    We're kindof sitting in the same boat: Your "Arcane Power on Crit" is our "Battle Rage - Into the Fray", which basically allows both of us to consider rescource costs as a negligible point. Even in Diablo 2 there was Life- and Manaleech which basically allowed the same to everyone, since each class used mana as their resource system.
    To think out of the box, in my oppinion this is one of the major points classes like the DH or Monk are really missing in Diablo 3: A way to regenerate their resources without having to rely on their primary abilities. Incase of the DH the class allready has "Night Stalker" which is quite similar to "Critical Mass", but it effects only defensive cooldowns (Note: Disipline is the defensive-cooldown system inplace for that class). The DH is just missing a more efficient way to regenerate hatred aswell for syngery builds to come up with. Yes, there is "Preparation - Punishment" but in my oppinion playing with that feels like the name of the rune suggests...

    But I guess we're all to focused on the class we're playing. Let me comment on the paragraph you allready said to be ignored:
    For a Barbarian with low attackspeeds it may be more relevant than for any other class, even if the first tick gained moving from 2.86 t/s to 3.0 t/s only occurs after 7 seconds channeling duration. (7sec = 420 frames | 420/21 = 20 Hits | 420 / 20 = 21 Hits)
    While Whirlwind is technically a channeling spell, it feels alot different from other channeling spells ingame, just because you can move while using the skill. Considering typical channeling skills of the Wizzard, i can't imagine much typical situations where a wizzard is standing in place channeling one spell for a really long time.

    From the Barbarians point of view it's basically hold that button down till everything is dead. Even using the other skills of the popular WW/RLTW build like Overpower, Sprint or dumping fury with Battlerage won't interrupt the channeling of WW. But you're right in general, that gaining ticks is more (or feels even more) beneficial if you allready have a decent attackspeed.
    It's even a thing you could express by using numbers: Going from 21 to 20 frames duration is only 5% increase, while going from 11 to 10 frames duration is a 10% increase.
    The more the better: With really high APS going from 6 frames to 5 frames is allready a 20% increase.
  • #37
    Quote from Twister

    However, i have to excuse myself on calling you wrong with the fitting of 9 Tick-Wait cycles: I thought you were talking about extending the skill beyond it's 180 frames duration to fit in all ticks.

    No that was my fault. Extending the duration was my first idea. I still think that's another possible but unlikely option.
    Same 0.9 aps example, but imagine the cycle always starting with a wait, not a tick:

    22--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T--4
    At this point, the 3 seconds duration are over. As you described earlier, it's just not possible to fit 9 full cycles within 180 frames. So if this model was correct, there would have to be a mechanism that extends the duration or "finishes the last cycle", so we get to something like this:
    22--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T--22--T

    I know this results in more then 180 frames. And it feels kinda wrong. But in my opinion that's just equally disturbing compared to the alternatives.
    And when I try for example Disintegrate at very low attack speeds (<0.7), it does seem like sometimes it's still ticking after I stopped channeling.

    Don't know how to design a proper test setup though.

    But I guess we're all to focused on the class we're playing. Let me comment on the paragraph you allready said to be ignored:
    For a Barbarian with low attackspeeds it may be more relevant than for any other class, even if the first tick gained moving from 2.86 t/s to 3.0 t/s only occurs after 7 seconds channeling duration. (7sec = 420 frames | 420/21 = 20 Hits | 420 / 20 = 21 Hits)
    While Whirlwind is technically a channeling spell, it feels alot different from other channeling spells ingame, just because you can move while using the skill. Considering typical channeling skills of the Wizzard, i can't imagine much typical situations where a wizzard is standing in place channeling one spell for a really long time.

    True. That's a general Wizard design flaw. Channeling means standing still and getting whacked. Running to save yourself means not being able to channel...
    Yes, this does mean channeling duration is usually much lower. If anyone uses those spells at all.


    From the Barbarians point of view it's basically hold that button down till everything is dead. Even using the other skills of the popular WW/RLTW build like Overpower, Sprint or dumping fury with Battlerage won't interrupt the channeling of WW. But you're right in general, that gaining ticks is more (or feels even more) beneficial if you allready have a decent attackspeed.
    It's even a thing you could express by using numbers: Going from 21 to 20 frames duration is only 5% increase, while going from 11 to 10 frames duration is a 10% increase.
    The more the better: With really high APS going from 6 frames to 5 frames is allready a 20% increase.

    Yep. And higher aps also means breakpoints are getting less frequent (no more "choice" like <1.0 aps, it's just "2.5 - take it or leave it") and the impact of different durations is getting lower. Like when you hit a breakpoint below 1.0 aps, you can easily waste your increased tickrate if you don't channel long enough or generally not for right amount of time.
    But going over the 2.5 aps breakpoint means 1.07 additional tick/s. So it's practically impossible not to get a benefit from that.
  • #38
    Sorry for the double post. But, umh... Guys? Has anyone ever thought of how this affects regular, non-ticking skills?

    I just went through some fraps recordings of my Wizard using Magic Missile... And the attack animations are tied to the exact same mechanics. frames_per_attack = floor(60/aps)

    Never really thought about that, but it makes sense. And I think it means all DPS calculations are more or less wrong.
  • #39
    Since we got the formula right, i though that other skills would scale off that, too. But it's nice that you've proven it vs. the ingame implementation, thisway we know that it's indeed the case. However there are still other skills left, that doesn't seem to scale with APS at all.
    An Example for this would be the Barb's Rend ability: It just ticks every 30 frames dealing 140% weapondamage per tick for 5 seconds duration, regardless of APS. The hit used to apply the Damage over Time effect of Rend should scale of your posted formula (frames_per_attack = floor(60/aps)), but that's still a pretty bad design. The result is that you'll deal way more DPS with Rend when using a dead-slow 2H weapon.

    Quote from apo86
    And I think it means all DPS calculations are more or less wrong.
    Well, most calculations used by various calculators out there are only recalculating the displayed DPS value that's shown in the characterscreen. While this value is nice to have for quick comparision, it's not used anywhere ingame. I think it's just there to provide a value to the more casual players to determine if Item X is better than Item Y.
    You also have to keep in mind that skills are scaling different with attackspeed, so while adding 9% IAS might push one skill to a new breakpoint, it doesn't push every skill to another breakpoint. Knowing this, how would you crunsh this information down to just one value?

    But you're right, that true DPS calculations shoud take the exact formulas into consideration on a by skill basis - but there are not as much calculators out there designed in this way.
  • #40
    Quote from Twister

    Since we got the formula right, i though that other skills would scale off that, too. But it's nice that you've proven it vs. the ingame implementation, thisway we know that it's indeed the case. However there are still other skills left, that doesn't seem to scale with APS at all.
    An Example for this would be the Barb's Rend ability: It just ticks every 30 frames dealing 140% weapondamage per tick for 5 seconds duration, regardless of APS. The hit used to apply the Damage over Time effect of Rend should scale of your posted formula (frames_per_attack = floor(60/aps)), but that's still a pretty bad design. The result is that you'll deal way more DPS with Rend when using a dead-slow 2H weapon.

    Yeah, I know. I can think of several skills which are not affected by this. DoTs ticking at fixed intervals, single-hit skills with cooldowns.
    But that's okay, less skills to worry about.

    Well, most calculations used by various calculators out there are only recalculating the displayed DPS value that's shown in the characterscreen. While this value is nice to have for quick comparision, it's not used anywhere ingame. I think it's just there to provide a value to the more casual players to determine if Item X is better than Item Y.
    You also have to keep in mind that skills are scaling different with attackspeed, so while adding 9% IAS might push one skill to a new breakpoint, it doesn't push every skill to another breakpoint. Knowing this, how would you crunsh this information down to just one value?

    But you're right, that true DPS calculations shoud take the exact formulas into consideration on a by skill basis - but there are not as much calculators out there designed in this way.

    The thing is, in my mind the simplified DPS display just went from "technically correct, but usually misleading" to "sometimes misleading, but usually plain wrong". There's still the issue of skills not scaling with IAS/Crit at all and in addition to that, it's not even correctly covering the standard skills.

    Of course we can't have one value that explains everything, but it is entirely possible to optimize a build based on the info we have right now.
    For which skill / which line of breakpoints to optimize is ultimately up to the individual player. But in general one can either optimize for the main damage dealer / proc generator (whichever is more important to your build), or one can find common breakpoints.

    For example the standard Energy Twister/CM/Frostnova build definitely should be optimized for ET. Now we have the casting animation (placing new twisters) at speed_coef=1 and the internal twister tickrate at speed_coef=2 / duration=6.

    So for casting twisters, the following breakpoints apply:

    APS casts/second
    2.22223 - 2.30769 2.31
    2.30770 - 2.40000 2.40
    2.40001 - 2.50000 2.50
    2.50001 - 2.60869 2.61
    2.60870 - 2.72727 2.73
    2.72728 - 2.85714 2.86
    2.85715 - 3.00000 3.00
    3.00001 - 3.15789 3.16

    For individual twister tickrate, those breakpoints apply:

    APS ticks/second total ticks
    2.14286 - 2.30769 4.62 28
    2.30770 - 2.50000 5.00 30
    2.50001 - 2.72727 5.45 33
    2.72728 - 3.00000 6.00 36
    3.00001 - 3.33333 6.67 40

    How convenient - tickrate breakpoints are a subset of cast speed breakpoints. So just use those and you are done.

    For other builds this is very similar. You can always find common breakpoints or eliminate those skills that just don't matter.


    And I know it's not a huge difference, but still. At high attack speeds, it kinda does matter. Looking at some high DPS demon hunters on diabloprogress and seing they mainly use skills with speed_coefficient=1, some could save like 5% IAS on their gear and have the same effective damage output. Which on their gear level could probably save a few hundred million gold.

    Many legendaries roll with 8% or 9% IAS - I would would definitely want to know if the additional 1% makes a difference or not.

    Then again, this kind of optimization doesn't reflect in on-screen DPS, so I don't know how valuable the info is for the average player. After all, people want something to show off.
  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes