Do regeneration health increase ticks synchronize by server timer ticks?
ever heard of analysis paralysis?
jeez just play the game!
Sheesh, a hard maths question.
I summon Arcanaville!
OP, you may want to pm Arcanaville, who is consider the queen of math here on the forum. If she doesn't have the direct answer, she can certainly check you process.
Altoholic - but a Blaster at Heart!
Originally Posted by SpyralPegacyon
"You gave us a world where we could fly. I can't thank you enough for that."
I'm quite sure regeneration ticks can only happen on server ticks, but I'm not sure if the server can actually calculate that the right amount of regen ticks is given over a certain amount of time. I'm thinking of a cycle like this: you get 10 ticks every 0.264 seconds and then one after 0.132 to get you the correct regeneration on average.
- @DSorrow - alts on Union and Freedom mostly -
Currently playing as Castigation on Freedom
My Katana/Inv Guide
Anyone who doesn't take truth seriously in small matters cannot be trusted in large ones either. -Einstein
Good News Everyone!
This requires Farnsworthian Mathemagics! LOL
My brain asplode.
The Story of a Petless MM with a dream
I have a 50 in every AT, but Scrappers and Dominators are my favorites.
My prediction would match up with the DSorrow one.
I believe the correct summoning spell - and I only do this about once a year, as I fear being torn to shreds horribly- goes as follows.
Arcanaville. I summon thee, I summon thee, I summon thee.
Mini-guides: Force Field Defenders, Blasters, Market Self-Defense, Frankenslotting.
So you think you're a hero, huh.
@Boltcutter in game.
I'm quite sure regeneration ticks can only happen on server ticks, but I'm not sure if the server can actually calculate that the right amount of regen ticks is given over a certain amount of time. I'm thinking of a cycle like this: you get 10 ticks every 0.264 seconds and then one after 0.132 to get you the correct regeneration on average.
|
The mathematics is not difficult, the tricky part is to test it in a reliable way. It would require the cooperation of at least two characters, who together can buff the regen of one of them to 2000%-3000% (to see the effects easier) and keep it consistent for long enough to run trials either against a known damage source or for the time to regen from 0 to full health (after a long drop or something). I can't test that by myself, and I wanted to hear if someone else had done such tests before I start looking for a way to run trials (it would be a lot easier for someone with two accounts).
Thanks Ad Astra for the tip about PM:ing Arcanaville, you are probably correct that if someone had done such tests she would at least know about it.
As for why doing things like these instead of "just playing the game"... Like I said, it helps with build plans. For example, one Empath I am designing could self buff to 1207% regen with Regeneration Aura slotted a certain way, but if everything from 1137% to 1298% gives the same end result anyway, I can do the slotting a lot cheaper (use lower level enhancements, ignore set bonuses etc). It also has implications for who I would cast Adrenalin Boost on, and whether I should bother slotting for maxed heal enhancements in Adrenalin Boost.
Where to now?
Check out all my guides and fiction pieces on my blog.
The MFing Warshade | The Last Rule of Tanking | The Got Dam Mastermind
Everything Dark Armor | The Softcap
don'T attempt to read tHis mEssaGe, And believe Me, it is not a codE.
Where am I? Where's the emergency? Castle nerfing Electric Armor? Someone thinks taunt should debuff your height? What?
Oh. This? Jeez, ok, but let me get my morning coffee first.
Ok. Let's see here. First of all, I think some people have misinterpreted what ArcanaTime says about server clocks. In the original analysis I described this in more detail. There's a combat clock which is about 0.125 seconds long. And there is an animation clock that is about 0.033 seconds long. The game seems to align on server clocks but anything that *roots* has to align with the animation clock because rooting animations always run for a whole number of animation frames. Thus, to fire off an attack, you have to wait until the last server combat clock tick ends, then start the power on the next combat tick, but the animation will actually start on the next animation tick. So the alignment takes place four animation clock ticks later, or 0.33 * 4 = 0.132 seconds. That's the first animation clock that happens after one combat clock of 0.125.
Its a *little* more complicated than that due to a slight shifting in alignment over time, but since internal lag tends to blur that almost to the point of being undetectable and it always averages out, I didn't bother to provide a formula for being more precise. Its not worth it when calculating attack chains.
However, things that just happen and don't involve rooting animations either align with the combat clock of 0.125s per tick, or the server quantum clock of about 0.033 seconds (30 ticks per second), not the 0.132 "Arcanatime" clock. That really isn't a clock, but rather a "beat" of two clocks.
I *did*, however, actually look at the issue of rapidly ticking things. Not regeneration specifically, but damage DoT ticks and other effects that tick very fast. They do not have to align with those server clocks. The game seems to work backwards: on the next combat tick, it goes back and figures out what events were supposed to happen and does them. If a DoT (or a regeneration tick) was supposed to tick twice since the last time they occured, they just tick twice.
And actually, we have a hint for how this probably works. My guess is that all timers, including DoT timers, regeneration timers, and recharge timers, are decremented by the 30/sec server clock. When they reach zero, stuff happens. For things like regeneration and fast DoT, their timers could decrement to zero twice before they are processed. My guess is that when those timers decrement to zero a counter is incremented and they wrap around like an odometer in reverse. The next time the server comes around to check on them, it reads the counter, does their thing that many times, and resets the counter. So if the regen counter decremented to zero once, you get one health tick. If it decremented to zero twice, the game pulses you with two ticks. In this way, even though the game has a relatively slow combat clock (8/sec) it can process correctly (albeit in a slightly delayed fashion) events that take place much faster than that or events not aligned perfectly to that clock.
How do we know this? Hamidon raids. Pre-I9 Hamidon raids offered great insight into how the game processes things. Under the severe lag conditions of a packed raid, the server slowed down. Everything, including recharge, began to run slower. This implies the server doesn't literally back-calculate *everything* because if it did, the server would get more *jumpy* but not slower. Actually getting slower implies that things in the game that should be ticking at one rate are actually ticking at a slower rate. And that can only happen if the thing doing the ticking slowed down. Which is exactly what would happen when the server was so overloaded with things to do it actually took more than a 30th of a second to process everything that was supposed to happen in that 30th of a second. So the 30/sec server quantum clock couldn't run 30 ticks per second. When it started running at 10 ticks per second, everything in the game universe slowed down to 1/3rd speed, including recharge and probably regeneration and recovery ticks (of course, in those raids who would notice those).
So, my best guess: combat ticks are back-calculated. The game figures out what should have happened in the last 0.125 seconds, and does them. Quantum ticks are not back-calculated: they do the same thing every time they tick, which is supposed to be 30 times per second. If the game cannot do so fast enough, it starts slowing down and everything that relies on that clock slows down with it.
Which implies that things like regeneration ticks might be forced to align with quantum clocks. But not necessarily if their counters are wrap-around counters.
Let me see what I can dig up on this. This might be very difficult to test precisely, but I may have some old data that could be mined to figure out whether regeneration ticks are forced to align with anything. My hunch is, when the server is working correctly, its not.
[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]
In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)
Ok. Let's see here. First of all, I think some people have misinterpreted what ArcanaTime says about server clocks. In the original analysis I described this in more detail. There's a combat clock which is about 0.125 seconds long. And there is an animation clock that is about 0.033 seconds long. The game seems to align on server clocks but anything that *roots* has to align with the animation clock because rooting animations always run for a whole number of animation frames. Thus, to fire off an attack, you have to wait until the last server combat clock tick ends, then start the power on the next combat tick, but the animation will actually start on the next animation tick. So the alignment takes place four animation clock ticks later, or 0.33 * 4 = 0.132 seconds. That's the first animation clock that happens after one combat clock of 0.125.
Its a *little* more complicated than that due to a slight shifting in alignment over time, but since internal lag tends to blur that almost to the point of being undetectable and it always averages out, I didn't bother to provide a formula for being more precise. Its not worth it when calculating attack chains. However, things that just happen and don't involve rooting animations either align with the combat clock of 0.125s per tick, or the server quantum clock of about 0.033 seconds (30 ticks per second), not the 0.132 "Arcanatime" clock. That really isn't a clock, but rather a "beat" of two clocks. I *did*, however, actually look at the issue of rapidly ticking things. Not regeneration specifically, but damage DoT ticks and other effects that tick very fast. They do not have to align with those server clocks. The game seems to work backwards: on the next combat tick, it goes back and figures out what events were supposed to happen and does them. If a DoT (or a regeneration tick) was supposed to tick twice since the last time they occured, they just tick twice. And actually, we have a hint for how this probably works. My guess is that all timers, including DoT timers, regeneration timers, and recharge timers, are decremented by the 30/sec server clock. When they reach zero, stuff happens. For things like regeneration and fast DoT, their timers could decrement to zero twice before they are processed. My guess is that when those timers decrement to zero a counter is incremented and they wrap around like an odometer in reverse. The next time the server comes around to check on them, it reads the counter, does their thing that many times, and resets the counter. So if the regen counter decremented to zero once, you get one health tick. If it decremented to zero twice, the game pulses you with two ticks. In this way, even though the game has a relatively slow combat clock (8/sec) it can process correctly (albeit in a slightly delayed fashion) events that take place much faster than that or events not aligned perfectly to that clock. How do we know this? Hamidon raids. Pre-I9 Hamidon raids offered great insight into how the game processes things. Under the severe lag conditions of a packed raid, the server slowed down. Everything, including recharge, began to run slower. This implies the server doesn't literally back-calculate *everything* because if it did, the server would get more *jumpy* but not slower. Actually getting slower implies that things in the game that should be ticking at one rate are actually ticking at a slower rate. And that can only happen if the thing doing the ticking slowed down. Which is exactly what would happen when the server was so overloaded with things to do it actually took more than a 30th of a second to process everything that was supposed to happen in that 30th of a second. So the 30/sec server quantum clock couldn't run 30 ticks per second. When it started running at 10 ticks per second, everything in the game universe slowed down to 1/3rd speed, including recharge and probably regeneration and recovery ticks (of course, in those raids who would notice those). So, my best guess: combat ticks are back-calculated. The game figures out what should have happened in the last 0.125 seconds, and does them. Quantum ticks are not back-calculated: they do the same thing every time they tick, which is supposed to be 30 times per second. If the game cannot do so fast enough, it starts slowing down and everything that relies on that clock slows down with it. Which implies that things like regeneration ticks might be forced to align with quantum clocks. But not necessarily if their counters are wrap-around counters. Let me see what I can dig up on this. This might be very difficult to test precisely, but I may have some old data that could be mined to figure out whether regeneration ticks are forced to align with anything. My hunch is, when the server is working correctly, its not. |
Thanks!
This was exactly the type of information I was looking for. It was my assumption about the server clock granularity that was incorrect.
If the granularity is that fine, regen will work as you would expect for all levels of buffing. It means enhancement slotting will always matter and there will not be any points where a buff is without value.
It worked and I didn't get quartered ! Excellent!
Originally Posted by arcanaville
My guess is that all timers, including DoT timers, regeneration timers, and recharge timers, are decremented by the 30/sec server clock. When they reach zero, stuff happens. For things like regeneration and fast DoT, their timers could decrement to zero twice before they are processed. My guess is that when those timers decrement to zero a counter is incremented and they wrap around like an odometer in reverse. The next time the server comes around to check on them, it reads the counter, does their thing that many times, and resets the counter. So if the regen counter decremented to zero once, you get one health tick. If it decremented to zero twice, the game pulses you with two ticks. In this way, even though the game has a relatively slow combat clock (8/sec) it can process correctly (albeit in a slightly delayed fashion) events that take place much faster than that or events not aligned perfectly to that clock.
|
Mini-guides: Force Field Defenders, Blasters, Market Self-Defense, Frankenslotting.
So you think you're a hero, huh.
@Boltcutter in game.
Hmmm
If thats right, then the absolute theoretical maximum regen would by 12/0.0033 (3636.35%)
The cap of 3000% for scrapper/stalker seems iin line with that (whether by design or by accident)
@Catwhoorg "Rule of Three - Finale" Arc# 1984
@Mr Falkland Islands"A Nation Goes Rogue" Arc# 2369 "Toasters and Pop Tarts" Arc#116617
This thread makes my brain hurt.
Hmmm
If thats right, then the absolute theoretical maximum regen would by 12/0.0033 (3636.35%) The cap of 3000% for scrapper/stalker seems iin line with that (whether by design or by accident) |
Or maybe I'm totally wrong and Arcanville fried my brain.
Yeah, I'm gonna go with that... I think.
Eurgh, i'm gunna stick to just smashing stuff with footstomp
Arcana you are far far to clever
@Effy
Effy On Hot Sauce Fire/Cold Corr
Effy On Hot Chilli Fire/Dark Corr
Effy On Heat FM/SD Before FoTM
Effy Unleashed DP/EN Blaster 1st 50 @ Union
I found this thread to be an informative, good read I actually understood it!
A lot of actions are synchronized so that they can only occur at intervals decided by the minimum time unit between each server tick. This applies to activating powers, where we call it "Arcanatime", but what other things are tied to the ticks?
The time interval between regeneration health increase ticks is said to vary based on a formula such as this:
Time in seconds = 3/(Regen percentage * 0.25)
which can be shortened as
Time in seconds = 12/Regen percentage
For 100% regen (no buffs) that should mean 12 seconds between each health increase tick. At that level any potential difference based on server ticks would be negligible, and impossible to measure. What caused my question was that when I work on builds for Regeneration scrappers and Willpower tanks/scrappers, and some buffing characters like Empaths, it is possible to buff regeneration to rather extreme levels. Stacking Regeneration Aura and Adrenalin Boost on the same target, for example. According to Paragonwiki (http://paragonwiki.com/wiki/Limits#Health_Regeneration), there are hard caps for each archetype. Scrappers and stalkers get 3000%, brutes and tankers get 2500%, everyone else gets 2000%. An extremely good level to reach on your own buffs alone might be around 1200%, which would translate to one second between health increase ticks. At that point any difference from server ticks is still small, but might be noticeable.
However, if I play an Empath and buff a Willpower scrapper he can actually reach his hard cap at 3000%. The problem is that this does not match up with an even number of the most commonly seen figure for the duration of a server tick, 0.132 seconds.
2 ticks = 0.264 seconds ==> 4545.5% regen
3 ticks = 0.396 seconds ==> 3030.3% regen
4 ticks = 0.528 seconds ==> 2272.7% regen
5 ticks = 0.660 seconds ==> 1818.2% regen
6 ticks = 0.792 seconds ==> 1515.2% regen
7 ticks = 0.924 seconds ==> 1298.7% regen
8 ticks = 1.056 seconds ==> 1136.4% regen
9 ticks = 1.188 seconds ==> 1010.1% regen
So, back to my question. Two assumptions:
- That the length of a server tick is 0.132 seconds (Arcanaville said it was a "best guess" when it was introduced but it seems rather commonly adhered to)
- That regeneration health increase ticks can only happen on server ticks (it would be very difficult to program it some other way, but possible)
Combining those assumptions, we get a situation where the difference in hard regen caps between tankers and scrappers does not influence actual time difference between health increase ticks when you buff each of them to their cap (same for stalkers vs brutes). We also see that at the high end, only certain levels of buffage actually matter, and giving small increases in between those is irrelevant. If this is true it might influence both build choices and target selection by buffers. I have so far never seen it discussed though.My question is whether my second assumption has been tested by anyone? I did not see any threads on it when I searched, but it was hard to think of the right keywords.