Guild icon
KQM | Genshin Impact
freeze-extensions
919 messages
Ticket Tool BOT Aug 28, 2021 2:51 AM
@srl - freeze extensions
As an author, It is your responsibility to complete the ticket
- Take advice constructively
- NO disrespectful behavior
- The ticket will be scrapped if: No activity > 1 week or open for > 1 mo.
- When done, type $close
Theory/Finding/Bug: Title of your submission

Evidence: Explanations with calculations and/or Youtube/Imgur proofs

Significance: Conclusion
srl Aug 28, 2021 2:51 AM
how do i name this thing? oh well... here we go....
@GottaGoFast @Aluminum round 2 ready for this?
Aluminum Aug 28, 2021 2:56 AM
Sure
srl Aug 28, 2021 2:56 AM
ugh barb e lasts too long. gotta wait too long in between trials
Isu Aug 28, 2021 3:06 AM
i've been wanting to get this hammered down too so let me know if i can help with testing
srl Aug 28, 2021 3:07 AM
┌─── reply to message (881011722029236234)
srl Aug 28, 2021 3:07 AM
brainstorming help much needed. ill produce data from minecraft server since it's easier there
┌─── reply to message (881009219208347660)
srl Aug 28, 2021 3:08 AM
any hypothesis you want to start with? not sure where to start with (edited)
maybe freeze tops up the durability but maintains same decay?
ill post some streamable vid links in the sim discord. prob best to leave it outta here
┌─── reply to message (881012285873729546)
Aluminum Aug 28, 2021 3:11 AM
this
srl Aug 28, 2021 3:12 AM
wait, can u work out the formula to do that? im kinda brain dead =/
y = 24 * [ sqrt(5) * sqrt( d_f + 20 ) - 10 ]
i think this is what we had for duration...
let me find your original msg
Aluminum Aug 28, 2021 3:15 AM
if decay remains the same, just substitute the "total decayed guage" for d_f (edited)
i.e. add whatever the top-up adds to the freeze guage and that will give you the total time
srl Aug 28, 2021 3:16 AM
so calculate total gauge decayed between first freeze and 2nd freeze, then add the 2nd freeze gauge to it?
Aluminum Aug 28, 2021 3:16 AM
yes
srl Aug 28, 2021 3:17 AM
d_f(t) = -1.25 * t^2 - 10 * t + d_f(0), where t is in seconds correct? (edited)
er i guess i can't write d_f(0) there
Aluminum Aug 28, 2021 3:18 AM
I think that was the formula yeah
srl Aug 28, 2021 3:18 AM
ok so changing that to frames i get
d_f(t) = -1.25 * (t/60) ^ 2 - 10 * (t/60) + d_f_initial
Aluminum Aug 28, 2021 3:19 AM
yup
srl Aug 28, 2021 3:22 AM
ok so rearranging that and solving for t where 0 = -1.25 * (t/60) ^ 2 - 10 * (t/60) + d_f_initial (edited)
so we want the positive root here, so we have t = 24 * (sqrt(5) * sqrt(d_f_initial + 20) - 10 ) (edited)
hmm looks way off?
Aluminum Aug 28, 2021 3:25 AM
one second
Aluminum Aug 28, 2021 3:26 AM
you should add the difference between the first freeze gauge and the gauge remaining before second freeze to the second freeze gauge
srl Aug 28, 2021 3:27 AM
can u write that in a formula with the columns being the variable?
(K - J) + L?
Aluminum Aug 28, 2021 3:28 AM
M= (J-K) + L
srl Aug 28, 2021 3:28 AM
lmao
how the fuck are u so smart
Aluminum Aug 28, 2021 3:28 AM
since that should represent the total gauge that "decayed away"
srl Aug 28, 2021 3:28 AM
welp... that took all but 10min...
guess i do more trials now and verify
Aluminum Aug 28, 2021 3:30 AM
You can summon @GottaGoFast and @Isu and whoever else wants to do that for this
srl Aug 28, 2021 3:30 AM
let me do maybe 10 more in minecraft land
where i can see actual freeze values
real world tests require more calcs
i think in real world figuring out the 2nd freeze durability is a bit harder
actually if ppl want to start collecting actual in game data first that would be nice too
Aluminum Aug 28, 2021 3:37 AM
Well @Kourinn also gathered a lot of data for the previous ticket on this. It could be worth looking at especially if it has both video and frame counting
srl Aug 28, 2021 3:42 AM
some variations but could just be in margin of error
Isu Aug 28, 2021 3:42 AM
kourinn's tests also involved observing the duration of a new freeze shortly after a different freeze had expired on the target, which i think would be good to test here too
srl Aug 28, 2021 3:42 AM
trying to get one where im refreezing with barely any cryo left but it's hard
the margin of error on the last one is a bit high for my taste but 6 or so is still within realm of possibility due to counting
but for now i think this is prob fine?
┌─── reply to message (881020987896901672)
srl Aug 28, 2021 3:48 AM
here's a quick test on that
it's off a bit but nothing glaring suggesting that the 2nd duration is affected by the first
this is vid for an earlier one, not the picture i just posted by idea is the same
GottaGoFast Aug 28, 2021 3:51 AM
Okay I'm here. What am I doing?
┌─── reply to message (881023202472628245)
srl Aug 28, 2021 3:51 AM
replicate the streamable vid on live
GottaGoFast Aug 28, 2021 3:52 AM
How exact do you want it? You want me to replicate it frame by frame?
srl Aug 28, 2021 3:53 AM
nah, just the sequence of it lol. you cant exactly find hilis that dont move on live
and also prob better not to use hili anyways
GottaGoFast Aug 28, 2021 3:53 AM
Going back to floor 7 then
srl Aug 28, 2021 3:55 AM
ok tried again @Isu
i think the question we're trying to answer is does freeze, unfreeze, refreeze result in a shorter duration right?
my hypothesis would be that it doesnt. it's purely dependent on how much freeze gauge there is
Isu Aug 28, 2021 3:57 AM
well, i just did one sample of 2u cryo > 1u hydro, wait for freeze to expire, another 2u cryo > 1u hydro. First freeze was 209 frames as expected, second was 150 despite the same strength being used to apply it
srl Aug 28, 2021 3:57 AM
do you have a vid?
Isu Aug 28, 2021 3:58 AM
give me a moment, gonna get a few more samples
GottaGoFast Aug 28, 2021 3:59 AM
Let me actually count this one
kaeya e, venti e, barbara e, barbara auto
┌─── reply to message (881024985358008360)
srl Aug 28, 2021 3:59 AM
u mind posting w/e u got? i gotta go sleep soon 😂 sry
┌─── reply to message (881025170553327616)
srl Aug 28, 2021 4:00 AM
that may or may not work.. i cant tell if one of the frozen is you or him from getting hit by hydro again
GottaGoFast Aug 28, 2021 4:00 AM
Sure let me do it better
srl Aug 28, 2021 4:06 AM
haha nice, that timing just before bubble hits
Isu Aug 28, 2021 4:06 AM
srl Aug 28, 2021 4:07 AM
@Aluminum how many samples u want for this first basic case for egt?
Aluminum Aug 28, 2021 4:08 AM
I'm not a stats guy so I wouldn't really know. As long as they have a good variety of timings I suppose?
srl Aug 28, 2021 4:08 AM
i think if it has to be statistically significant i'd go nuts
wait shit i opened the ticket does that mean i have to finish it?
can i just close it and put up a theoryhunt for ppl to confirm on live?
Aluminum Aug 28, 2021 4:08 AM
Isu's is interesting.... if consecutive ones after also have reduced duration I wonder how it's computed
uhh you can still put up the theoryhunt
┌─── reply to message (881027552368549918)
srl Aug 28, 2021 4:09 AM
ya im looking at that one... not sure how that fits into this model
GottaGoFast Aug 28, 2021 4:09 AM
Cryo applied at 1 second 34 frames, swirled cryo applied at 3 seconds 13 frames, Frozen word appears 6 seconds 35 frames, second frozen appears 8 seconds 51 frames, Frozen falls off at 10 seconds 58 frames
srl Aug 28, 2021 4:09 AM
ok let's just put up a theory count and let someone else finish this lol
i rather spend the time fixing sim
ill math out isu's based on the current theory tmr and see
but it does look kinda wonk
maybe it does maintain the same decay rate still if u refreeze within x time frame
┌─── reply to message (881027552368549918)
Isu Aug 28, 2021 4:11 AM
my hypothesis before was that the decay rate gradually scales back down to the base of 10 units per second, at the same rate at which it increases. Which matched the first test I did back then, but then I dropped it and only did the one test so not enough samples to say that with any certainty
srl Aug 28, 2021 4:12 AM
so a quadratic decay back down to 0? (edited)
Aluminum Aug 28, 2021 4:13 AM
Isu's speaking from a velocity perspective (edited)
the rate of change goes back to 10
srl Aug 28, 2021 4:13 AM
so im understanding it as, decay maintains the last frozen's rate at the end of the freeze, but falls to zero as time passes
Isu Aug 28, 2021 4:14 AM
so my hypothesis would be that while frozen, decay increases by 2.5 units per frame, and while unfrozen, decay decreases by 2.5 units per frame until it's back to the baseline
srl Aug 28, 2021 4:14 AM
we really standardized need units.. this is hard to discuss (edited)
Isu Aug 28, 2021 4:14 AM
er not 2.5 u per frame
brainfart
2.5 units per second, so 2.5/60 per frame
srl Aug 28, 2021 4:14 AM
i think we're saying the same thing, maybe
Isu Aug 28, 2021 4:15 AM
i think so
srl Aug 28, 2021 4:15 AM
really wonk if they did that hmm
trying to think if there's an easy way to test that on minecraft server where it's possible via reaction to see the actual gauge values
Aluminum Aug 28, 2021 4:17 AM
A simple symmetry test for Isu's hypothesis: Any refreezes after the first freeze runs out within the same duration as the first freeze will have a reduced duration under Isu's hypothesis.
This can be checked in game (easily?) (edited)
srl Aug 28, 2021 4:17 AM
try 2 would be exactly that
oh wait nvm
it's too far apart sry
hmm
i can test it water i think
cause the conditions are just that i trigger 2 freeze w the exact same freeze gauge i.e. 25
but spaced slight apart
like unfreeze, wait 30 frames, freeze again
GottaGoFast Aug 28, 2021 4:21 AM
I'm monkey brained, so tell me what buttons to press and I'll get it recorded for you. I can run sac on Kaeya or something if you need double freeze in quick succession or whatever
srl Aug 28, 2021 4:24 AM
@Isu @Aluminum yep.. isu's right. or at least something like that
here's another one spaced even closer
i guess need the formula to verify this?
i gotta sleep now maybe you'll have it all figured out overnight 😂
Aluminum Aug 28, 2021 4:28 AM
cool beans. Yeah you need the formula. Once you're satisfied create a theoryhunt and remove that which you don't want transcripted. After all we can't endorse certain things here. I guess? (edited)
srl Aug 28, 2021 4:28 AM
also i can confirm via log that all the freeze here have the exactly same durability
┌─── reply to message (881032496043683860)
srl Aug 28, 2021 4:29 AM
was hoping you got more brilliant formula for this one isu's proposing
it'd take me a week to come up with a formula hahaha
Isu Aug 28, 2021 4:29 AM
i don't think this example matches my hypothesis. The second freeze was only ~17 frames shorter than the original, which I think is pretty far off from what my hypothesis predicts unless I'm messing the math up
Aluminum Aug 28, 2021 4:29 AM
I can uhh help fill in a formula
srl Aug 28, 2021 4:30 AM
like how would u scale the decay rate down?
dont u have to change the durability formula from a continous function to a discrete one...? or i guess not
wait.. do u just subtract the same function for the time passed in between?
srl Aug 28, 2021 4:47 AM
I guess the 1st derivative is just a linear line. So you would have a line w slope -2.5 for t=0 to t=first unfreeze, then another line w slope 2.5 for t= first unfreeze to t=second freeze. Then back to slope -2.5 (edited)
Then.. take the integral of that function and uh…
Not sure what the constant would be
Aluminum Aug 28, 2021 4:48 AM
there's a few ways you can do this
srl Aug 28, 2021 4:48 AM
Sorry I can’t do high school math 🤦‍♂️🤦‍♂️🤦‍♂️
TFW 5 years of uni amounts to this….
Aluminum Aug 28, 2021 4:49 AM
1. remember the -10t term? that can just be modified with whatever the new starting velocity is
2. use the power of symmetry
srl Aug 28, 2021 4:49 AM
Ah right instead of -10
It’d be 2.5(ending)
Times time
Aluminum Aug 28, 2021 4:51 AM
-10 - 2.5(time in s spent frozen) + 2.5(time in s spent unfrozen) (edited)
btw this is general enough to work with the previous stuff too (without any time spent unfrozen, and without the full duration of time spent frozen) (edited)
the + part is obviously capped to be at most equal to the - part
srl Aug 28, 2021 5:05 AM
Ya. Just need to fit the freeze gauge in for a general formula
Well hopefully isu’s hypothesis is correct
Aluminum Aug 28, 2021 5:07 AM
0 = -1.25 t^2 + (-10 - 2.5(time in s spent frozen) + 2.5(time in s spent unfrozen))t + d_second_f_initial
solve for t
(edited)
srl Aug 28, 2021 1:38 PM
since i'm not sure how to solve for a formula involving a min/max
srl Aug 28, 2021 1:55 PM
@Isu @Aluminum it's a bit off for longer duration in between
with formula in case i did something wrong
srl Aug 28, 2021 2:08 PM
here's some more trials. looks like the decay recovery amount is too low?
Isu Aug 28, 2021 2:29 PM
yeah i looked over the 3 tests i did and it's the same for them
does it line up if you double the decay recovery amount? it lined up almost perfectly with two of my tests but not with the third so might just be a coincidence (by almost perfectly i mean the calculated second freeze duration was at most 1 frame off) (edited)
┌─── reply to message (881183987303850064)
srl Aug 28, 2021 2:37 PM
so 5 instead of 2.5?
closer but cant tell if coincident or not
need a much larger sample size w diff freeze duration i guess to see if it's just a coincidence or not
the differences are also weird, they're not consistently in one direction
sort it by time in between freeze, the last 3 are basically back at their original duration
actually let me try 2U freeze maybe that'll show something. wondering if it's just something simple like if refreeze within 2s, subject to some sort of duration decay
otherwise it's back to normal
Isu Aug 28, 2021 2:56 PM
well, under that hypothesis, for the last 3 the decay rate would have been back at the baseline since the time between freezes was more than half of the first freeze duration
but yeah i don't have a lot of confidence in that hypothesis so far with some of these differences... but then it's also weird to me that you get such large variations for a simple 50 dura freeze anyway
srl Aug 28, 2021 2:59 PM
ya... hoping for it to be a simple explanation
has anyone every tried something like
50 electro, wait for expire, reapply 25 units within 10 frames, and see if the decay rate of the 2nd application gets applied? (edited)
i wonder if it's just a general system of some sort
┌─── reply to message (881191549793341480)
Isu Aug 28, 2021 3:17 PM
8 frames in between here, the 1u reapplication got its normal 9.5 second duration
┌─── reply to message (881170940468285520)
Aluminum Aug 28, 2021 3:27 PM
k is negative. Should be +k
┌─── reply to message (881198267180933140)
srl Aug 28, 2021 3:28 PM
ya i changed it on the excel
doesnt seem to fit though
and from isu's video it seems to be a freeze special system
we're back to this i guess
"Ability_Freeze_Duration": 0.20000000298023224, never did figure out what this constant is for
┌─── reply to message (881195725248135188)
Kourinn Aug 28, 2021 3:33 PM
same results as me, 8 frames, no decay transfer: https://imgur.com/a/8scG48v
no decay transfer with gap
srl Aug 28, 2021 3:33 PM
how did we get the k = -10 in the first place? i dont remember....
┌─── reply to message (881199481821995018)
Isu Aug 28, 2021 3:35 PM
you multiply it by durability to get the duration in seconds, or rather what the duration would be if the decay rate remained constant. Same thing for regular auras, they have a duration constant of 0.1, so e.g. a 1u application becomes 25 * .1 + 7 = 9.5 second duration
at least that's how i interpret it?
srl Aug 28, 2021 3:36 PM
ok so the -10 was just 50 units * 0.2
yet this formula worked for 25 cryo/hydro freeze as well?
Aluminum Aug 28, 2021 3:42 PM
(50/5) is still 10
basically it's (2/0.2)
┌─── reply to message (881200651344941056)
Aluminum Aug 28, 2021 3:43 PM
-10 is from (100/(50*0.2))
srl Aug 28, 2021 3:43 PM
where's the 100 and 50 from? though
Aluminum Aug 28, 2021 3:43 PM
total freeze durability
srl Aug 28, 2021 3:43 PM
hmm so why does this formula work for 25 + 25 freeze?
Aluminum Aug 28, 2021 3:44 PM
(25+25/(25*0.2)) = 10
(2x/(x*0.2))=10
srl Aug 28, 2021 3:44 PM
oh doh
so that's just the normal decay rate, and then we added a quadratic component to it
"purgeIncrement": 0.25, how would this one relate
-1.25t^2 - (2x/(x*.02)) * t + 2*x
Aluminum Aug 28, 2021 3:49 PM
well it corresponds to an acceleration of 2.5 per second
so maybe the speed increases by 0.25 every 0.1s?
srl Aug 28, 2021 3:49 PM
.1s being the tick rate
would make sense
hmmm, i feel like the 2nd freeze duration would be just adjusting one of these variables though
question is which one?
it's prob just a per tick adjustment?
maybe the 0.2 duration?
┌─── reply to message (881203813577531402)
Isu Aug 28, 2021 4:20 PM
the .25 could also just mean 25%, an acceleration of 2.5 per second matches 25% of the starting decay of 10
Aluminum Aug 28, 2021 4:22 PM
yup
srl Aug 28, 2021 4:41 PM
One solution is to just collect a ton of data and have solver try adjusting each of those variables
And see which one fits best
And then work backwards and see if the solution makes sense
Kourinn Aug 28, 2021 4:42 PM
okay so using basic d = a*t^2 + v*t
the frozen gauge consumed while frozen is c = 1.25 * t^2 + 10 * t
so extending a freeze at 3 seconds by 100 frozen gauge, c(3s) + 100 = 1.25 * t^2 + 10 * t
so 1.25 * t^2 + 10 * t - 141.25 and t = 7.358 from quadratic formula
so extension = (-10 + sqrt( 100 - 4 * 1.25 * ( d_f + c(t_f) ) )) / (2 * 1.25) - t_f
(edited)
srl Aug 28, 2021 4:42 PM
Realistically I guess that means it’s just me going at it unless anyone else wants to download Minecraft server
Kourinn Aug 28, 2021 4:43 PM
I'll see if this fits my tests from #866091819946344458
srl Aug 28, 2021 4:44 PM
i suspect in game you wont have 100 frozen gauge though
Kourinn Aug 28, 2021 4:44 PM
You can, with large Hydro slime.
srl Aug 28, 2021 4:45 PM
i'd still rather not use any sort of slime or mages for tests atm though (edited)
Kourinn Aug 28, 2021 4:46 PM
I disagree, you should also test against non-elemental mobs yes, but there's no reason not to test elemental ones if it's quick and easy to do so.
srl Aug 28, 2021 4:46 PM
no, the point is you're trying to come up with a formula for something that's unknown
using more unknown variables
we dont have exact details of how mage shield or slime gauge refresh works, just best estimates
if you have a formula that's accurate for the base case first then u can extend those tests
but using unknown to calculate unknown is not very reliable to me
if u insist on doing the tests that's fine, just that i dont want to use those results yet that's all
┌─── reply to message (881218736638558248)
Kourinn Aug 28, 2021 4:51 PM
Yeah that makes sense.
srl Aug 28, 2021 4:54 PM
"Ability_Freeze_Duration": 0.20000000298023224,my gut feeling is that this variable gets adjusted somehow after each freeze/unfreeze
-1.25t^2 - (2x/(x*.2)) * t + 2*x

let t be time in seconds
let x be the amount of cryo/hydro reacted in units
let r be the duration rate of freeze
let d(t) be the durability of the freeze at time t

then:

d(t) = -1.25t^2 - 2t/r + 2x
(edited)
solving for t when d(t) = 0 gives us
Aluminum Aug 28, 2021 5:37 PM
One thing to test is the following: after a long duration freeze, does it take the same amount of time or does it take longer to return to the normal freeze duration
Kourinn Aug 28, 2021 5:40 PM
yeah the reversed quadratic formula I posted doesn't work. Overestimates the extension from my tests.
┌─── reply to message (881231039903715368)
Kourinn Aug 28, 2021 5:41 PM
It takes longer to return to normal duration after longer freeze Actually I may need more testing on non-elemental enemies to truly confirm this. (edited)
Aluminum Aug 28, 2021 5:49 PM
something like what Isu was suggesting might make the most sense
if it's enemy-dependent that'd be hilarious
Kourinn Aug 28, 2021 5:55 PM
so instead of v = 10 + 2.5 * t
it's v = 1.25^t * 10
it doesn't make sense to be quadratic in the first place because you would eventually wrap around the peak, which is not observed. (edited)
┌─── reply to message (881236045209927731)
Aluminum Aug 28, 2021 6:06 PM
You'd never wrap around the peak because you start beyond it...
you can try the exponential formula though
you can tell you start beyond the peak since v = 10 +2.5*t is strictly increasing...
it might be worth testing exponential formulae. Make sure it works with freeze without extension too... (edited)
I await your results
Aluminum Aug 28, 2021 6:39 PM
Should actually be able to tell if it's quadratic or exponential by comparing across very long vs very short freezes (and some values in between)
Kourinn Aug 28, 2021 7:02 PM
okay yeah v = 10 + 2.5 * t seems more correct.

Permafreezing a Lawachurl for 9.85s then triggering a 39.6 d_f freeze lasts ~1.18s. Exponential predicts less than half a second, so that's wrong.
(edited)
┌─── reply to message (881233959541964871)
srl Aug 28, 2021 7:59 PM
ya i tried that already but it doesnt work. there's enough diff to suggest that it's not just measuring error
but im inclined to believe it should be something simple, either a decay rate adjustment like isu proposed but w a diff number
or maybe adjust the duration multiplier
i.e. maybe .2 is scaled
Aluminum Aug 28, 2021 7:59 PM
Yup, that's why I said like
srl Aug 28, 2021 7:59 PM
ah
missed the keyword
Aluminum Aug 28, 2021 8:00 PM
well no biggie, one thing you can try is to reverse engineer the linear component yeah
see what the starting velocity could be in different situations
srl Aug 28, 2021 8:01 PM
take a look at my formula above with variable duration multiplier? i didnt make some dumb mistake right lol
Aluminum Aug 28, 2021 8:05 PM
looks fine
srl Aug 31, 2021 7:43 PM
oh btw if anyone want to help gather data for this probably one the easiest test is to find a ruin guard in water and then apply cryo, wait for freeze to fall off, apply cryo again. with varying amount of wait time in between application
i did 25 + 25 on minecraft server but could use lots of data points for 25 + 50, 50 + 25, and 50 + 50 as well
Aluminum Sep 1, 2021 12:46 AM
You could turn it into a theoryhunt
Once we have enough data points, we can connect the dots on the starting velocity and try to figure things out from there (like whether or not that even works or if there's adjustments to the acceleration somehow) (edited)
srl Sep 1, 2021 1:27 AM
= Freeze Extensions =

[Requirements]
- Ability to record
- A love for all things cold (and boring)

[Details]
Currently, we know that if a target is frozen, unfrozen, and subsquently frozen again, the duration of the 2nd freeze is somehow reduced. The reduction appears to relate to the time in between the first and 2nd freeze. However, we do not have the exactly formula for the 2nd freeze factoring in this reduction. Therefore, we need a large sample of data in order to try and work backwards what the formula may be. The purpose of this theory hunt is to collect said data.

You will need to record videos of freezing a target twice. Each video should be as follows:

- Against a ruin guard standing in water (there should be one east of the teleporter in Yaoguang Shoal)
- Initiate first freeze
- Wait for first freeze to fall off (use elemental sight to confirm)
- Initiate second freeze
- Observe with elemental sight when second freeze falls off

Make sure that it is not raining when you do this

For each recording, try to vary the time between when the first first falls off and when the second freeze is applied. The gauge of the freeze applied should be some combination of the following:

1U initial, 1U second
1U initial, 2U second
2U initial, 1U second
2U initial, 2U second

We will need lots of sample size for each of these (10+ at least).

[Participants]
- This could be you!

[Comissioner]
- Aluminum
- srl
@Neptunya please? 🙂
Neptunya Sep 1, 2021 1:29 AM
and ill redirect em to this ticket?
srl Sep 1, 2021 1:29 AM
oh yes sure
sexyeboy69 Sep 1, 2021 4:07 AM
should i edit them together or can i be lazy and make 10 youtube videos
srl Sep 1, 2021 4:12 AM
hmm, i would actually just prefer mp4 here unless you're counting as well
sexyeboy69 Sep 1, 2021 4:19 AM
does it have to be 60fps? because when my computer records 60 fps it sometimes skips frames or makes frames that are halfway in the next frame and halfway in the previous frame
srl Sep 1, 2021 4:21 AM
hmmm.. ya ideally. the more accurate the data the better since we're basically guestimating
sexyeboy69 Sep 1, 2021 4:22 AM
rip
Kyelse Sep 1, 2021 6:19 PM
So like is there any requirement for the quality of the video? Is 480p acceptable? I can do 1080p but it kinda taking a lot of storage.
┌─── reply to message (882691071467999242)
srl Sep 1, 2021 6:23 PM
as long as you can clearly see when the freeze is applied, when it comes off etc.. though would prob prefer at least 720p
Kyelse Sep 2, 2021 9:41 PM
Here is like a bunch of trials for 1U-1U
but I have some question tho
so like how long between each "set" of freeze should I wait?
and like is this ok? I can do some editting and just split out the video for you between each set of freeze I think
srl Sep 2, 2021 10:00 PM
Haven’t watch vid yet but basically starting from almost immediately after first freeze to maybe 2 to 3 seconds apart
Nass008 Sep 3, 2021 4:40 PM
since this need large sample size
more participant doesn't hurt right?

2U > 2U test
https://youtu.be/ycD_kN8EoH8
mp4 here: https://drive.google.com/drive/folders/1_l6CwcsU7hmsxzXkokXwmo9KsIA9fl7e?usp=sharing
Nass_008
Freeze extension : 2U - 2U
it contains 14 attempts
I'll test other combinations later
Nass008 Sep 4, 2021 5:25 AM
Nass_008
Freeze Extension : 2U - 1U
16 attempts
added mp4 in above google drive link
Nass008 Sep 4, 2021 7:20 AM
1U > 2U
16 attempts
https://youtu.be/SaaDdZmI4uo
Nass_008
Freeze Extension : 1U - 2U
Nass008 Sep 4, 2021 8:02 AM
1U > 1U
16 attempts
https://youtu.be/dmgjOyhWcWM
Nass_008
Freeze Extension : 1U - 1U
Let me know if I need to record more footage
srl Sep 4, 2021 8:10 AM
Nass008 Sep 4, 2021 8:15 AM
btw in this attempt, the enemy had cryo aura after 2nd freeze fell off and briefly froze again
is this normal? I haven't observed behavior like this in other attempts
srl Sep 4, 2021 12:17 PM
Could happen if not enough hydro
But water was suppose to be 50 reapplied every second or whatever
Isu Sep 4, 2021 1:31 PM
remember that the ruin guard isn't actually in the water while he's on top of the ice. so in this case, E triggered the second freeze, the dash applied a new cryo aura, and then once the ice beneath him expired, the water triggered freeze

i think it makes more sense to start with tests where we take advantage of the rocks in that area to gain enough height to avoid freezing the water
Isu Sep 10, 2021 2:56 PM
will upload some of my own samples when i get the chance, hopefully later today
Isu Sep 11, 2021 2:41 PM
Isusaur
1u into 1u - Freeze extensions with unfreeze in between
Isusaur
1u into 2u - Freeze extensions with unfreeze in between
Isusaur
2u into 2u - Freeze extensions with unfreeze in between
Isusaur
2u into 1u - Freeze extensions with unfreeze in between
Greyhound Sep 23, 2021 11:51 AM
@Isu is this being worked on anymore?
┌─── reply to message (890565944747909150)
Isu Sep 23, 2021 11:54 AM
I was going to ask what should happen to this ticket, srl opened it but doesn't seem to be in the server anymore last I checked. I want to tackle this more at some point but fairly busy right now and not really sure what the next step is
Greyhound Sep 23, 2021 11:55 AM
if anyone wants to take onto it they'll be owner of the ticket, if nobody wants to it'll be either archived or deleted
Isu Sep 23, 2021 12:13 PM
i'd like to also get input from @Aluminum

So the original purpose of this ticket was to understand the decay rate/duration of freezes when consecutive overlapping freezes are applied. In the case of there being no gap between the freezes, it seemed like you guys arrived at the (probable) answer, is that correct? If so, do you think we could at least collect footage for this and verify it (since IIRC the evidence before was from an inadmissible source)?

Then we got distracted by trying to figure out how it works when there is a gap between freezes, which I believe is still undetermined? Perhaps we can get the first part out of the way and leave this as a matter for another ticket if we haven't figured it out
Aluminum Sep 23, 2021 12:58 PM
ok let me get the first part
Kourinn Sep 23, 2021 10:09 PM
I have been busy, but I can contribute some this weekend. I also have Kokomi now, so I can do tests with 2B Hydro.
Kourinn Sep 24, 2021 12:10 AM
Actually I think I have a formula that works for unfrozen gaps now, but wow is it messy (you have to find the difference between 2 quadratic formulas). I'll upload video and formula Saturday when I have time to try to simplify it. (edited)
Aluminum Sep 24, 2021 2:52 AM
isn't the difference between 2 quadratic formulae... one quadratic formula?
could it be reasonable understood as a "deceleration" of the decay velocity between the two freeze applications?
Since freeze extension with overlap is understood as a "continuation" of the decay velocity.
Well nevertheless I look forward to your results. The general formula for freeze durations would be one of the big mysteries solved!
Kourinn Sep 25, 2021 2:22 AM
https://docs.google.com/spreadsheets/d/19KmLgVt9DCFBraQawRKc1NBkoHGqtOQPkvrIiME-Bak/edit?usp=sharing
d is aura durability using in-game units (element_durability)
t is time in seconds.
t_decay is the sum of time spent frozen minus twice the time spent unfrozen between frozen reactions where this sum and all partial sums of recent frozen reactions remain greater than zero. Otherwise t_decay is zero.
t_refrozen is the expected duration a freeze will be extended or refrozen.
Genshin Freeze Extension 2021-09-24
Sheet1

d is aura durability using in-game units (element_durability)
t is time in seconds.
t_decay is the sum of time spent frozen minus twice the time spent unfrozen between frozen reactions where this sum and all partial sums of recent frozen reactions remain greater than zero. Otherwise t_dec...
https://youtu.be/0YRWmPG_49M
Testing refreeze penalty for 1U reactions. Some cases showed slightly longer than expected duration, and some showed slightly shorter than expected duration. Cases with error do not have consistent pattern, so finding a more accurate formula may be difficult.
Timestamps and calcs are in the spreadsheet linked above

https://youtu.be/aKUP0EGkJjg
Testing 2U refreeze penalty. Expected refreeze to last 8.2% longer than observed. However, above 90% accuracy may be good enough.
Timestamps and calcs are in the spreadsheet linked above
(edited)
Eric Banker
2021 09 24 refreeze test 1
Testing refreeze penalty for 1U reactions. Some cases showed slightly longer than expected duration, and some showed slightly shorter than expected duration. Cases with error do not have consistent pattern, so finding a more accurate formula may very difficult.
Eric Banker
2021 09 24 refreeze test 2
Testing 2U refreeze penalty. Expected refreeze to last 8.2% longer than observed. However, above 90% accuracy may be good enough.
┌─── reply to message (881183987303850064)
Aluminum Sep 25, 2021 5:09 AM
Oh btw I think your current formula is equivalent to this one^ (edited)
So rewording in terms of velocity/first derivative
Freeze decay starts off at a rate of 10/s and accelerates at a rate of 2.5/s^2
When unfrozen, it then accelerates at a rate of -5/s^2 back down to a minimum velocity of 10/s
(edited)
@Kourinn I've validated this to be equivalent to your formula, do you agree? ^
I'll be taking a look at your clips tomorrow
Kourinn Sep 25, 2021 10:44 AM
@Aluminum Yeah should be the same. Both formula are derived from decay d=1.25t^2+10t with recovery r=2d. Kinematic formula is x=(1/2)*at^2+vt+x0 so a=2.5 and v=10. (edited)
#866091819946344458 can probably be archived or something, since this formula is more universal.
Aluminum Sep 25, 2021 2:52 PM
We'll include both the description and your explicit formula in order to give both the thought process and the result.
┌─── reply to message (891148428309061733)
Aluminum Sep 25, 2021 2:53 PM
Yeah we did notice that both equal and doubled recovery are off with doubled being closer. Do you think there might be a flat amount of time before recovery begins? (if doubled recovery expects too long of a freeze). (edited)
┌─── reply to message (891336546303766538)
Kourinn Sep 25, 2021 4:32 PM
My guess is that the formula is correct, but Unity event queue timing and simplistic event handlers is the culprit.

I doubt there's a fixed recovery delay because, revisiting my long permafreeze tests, with no unfrozen gaps, the formula predicts shorter than observed frozen duration, with larger difference for longer durations. Based on datamined config variable naming (like "thinkInterval" and "onThinkInterval") I believe most mechanics use a simple interval, and if the event queue has a lot of items or unfortunate timing, the function might be delayed.

If the function is written in a simple way (like "add x to y", trusting the interval timing and not multiplying by delta time) then small delays can add up over time for noticeable effect. This would also explain why similar frozen-unfrozen durations can both over and under shoot expectations.
Kourinn Sep 26, 2021 1:53 AM
I used a macro to try to replicate the same scenario multiple times, to test frozen duration consistency.
Results were inconsistent for very similar situations, sometimes producing both positive and negative error.
Thus finding a more accurate formula does not seem likely, and I am in favor of closing this ticket for review/publishing.

https://youtu.be/UNgESz13Dxc

timestamps and calcs on page "v3"
https://docs.google.com/spreadsheets/d/19KmLgVt9DCFBraQawRKc1NBkoHGqtOQPkvrIiME-Bak/edit?usp=sharing
(edited)
Eric Banker
2021 09 24 refreeze test 3
Testing frozen duration consistency. Results were inconsistent for very similar situations, sometimes producing both positive and negative error. Thus finding a more accurate formula does not seem likely.
Genshin Freeze Extension 2021-09-24
Sheet1

d is aura durability using in-game units (element_durability)
t is time in seconds.
t_decay is the sum of time spent frozen minus twice the time spent unfrozen between frozen reactions where this sum and all partial sums of recent frozen reactions remain greater than zero. Otherwise t_dec...
Aluminum Sep 26, 2021 3:14 AM
Okay, If that's the case I'll present the theory and simply add a note that there is some variance in both directions.
Aluminum Sep 29, 2021 2:15 AM
Hmm now do I close the ticket or put it in the advanced guide...
┌─── reply to message (892595440816644166)
Peekays Oct 10, 2021 11:04 AM
Either way it can just be archived no?
Aluminum Oct 10, 2021 12:40 PM
Nah we should probably put something on the TCL too. Just gotta translate to KQM units for that
┌─── reply to message (896714706583187517)
Kourinn Oct 10, 2021 9:00 PM
If you want to archive something, go archive my previous ticket on this subject which is still in for-review limbo. #866091819946344458
since the findings here supersede my findings in that ticket
Peekays Oct 10, 2021 9:01 PM
i'm no editor, was just making a suggestion you can ignore that
yourmom Oct 12, 2021 7:46 PM
If anyone needs help with testing anything, just ping me
┌─── reply to message (897570828714131466)
Kourinn Oct 13, 2021 9:47 AM
I'm pretty sure this ticket is done. @Aluminum just doesn't want to close it because he's waiting for #874332464233996318 to progress more on the advanced guide page.
yourmom Oct 13, 2021 12:26 PM
ok great
todo-dorki Oct 21, 2021 3:00 AM
hi. I got sent here bc I had a question about c1 Mona effect on freeze duration. So is there any conclusion if her c1 is basically original freeze time*1.15 since it says 15% increase in freeze uptime?
NZPIEFACE Oct 21, 2021 3:01 AM
thatss currently a theoryhunt, i believe
todo-dorki Oct 21, 2021 3:01 AM
oh sweet
I'll go check that out then
Raven Oct 21, 2021 4:14 AM
so uh
what do you want me to do
srl Oct 22, 2021 7:11 PM
i still want to take a look at this one and all the samples folks sent in but uh... no time
┌─── reply to message (881017281184952361)
srl Oct 29, 2021 1:17 AM
can you pin this? guess i gotta go at this thing again so i can implement freeze and start writing freeze comps
Aluminum Oct 29, 2021 1:18 AM
This one specifically?
┌─── reply to message (886260284916916284)
srl Oct 29, 2021 1:18 AM
you wouldnt happen to have the mp4 for these still by any chance? sorry
┌─── reply to message (881017281184952361)
Aluminum Oct 29, 2021 1:18 AM
┌─── reply to message (891147744402616330)
Aluminum Oct 29, 2021 1:18 AM
┌─── reply to message (891190153207500800)
Aluminum Oct 29, 2021 1:18 AM
srl Oct 29, 2021 1:18 AM
lol i dont remember what half those math symbols mean anymore
Isu Oct 29, 2021 1:20 AM
srl Oct 29, 2021 1:24 AM
much appreciated
Isu Oct 29, 2021 1:25 AM
last one is just over the file size limit so i guess i can either compress it a little more or send it another way
srl Oct 29, 2021 1:26 AM
prob won't compress much since it's already encoded?
https://transfer.sh/ if you're a command line person
srl Oct 29, 2021 1:30 AM
ty
┌─── reply to message (903452825806331975)
Aluminum Oct 29, 2021 1:36 AM
my last pin was a human-readable description of the current hypothesis
srl Oct 29, 2021 1:39 AM
ah, so double recovery rate essentially
man nass crammed in a lot trials. what a boss (edited)
tossing this here for reference on icon change when freeze occurs
@Aluminum looking good. y axis is difference in freeze duration between 1st and 2nd, x is frames between 1st expiring and 2nd freeze. at least it doesnt look random
srl Oct 29, 2021 2:00 AM
so color change is usually 1 frame after frozen pops up
linear correlation between time elapsed and freeze duration diff.. does that tie into the formula you guys have?
freeze tops up the durability but maintains same decay <- continuous freeze
current hypothesis: decay rate recovers, at 2x acceleration
x=(1/2)*at^2+vt+x0
where a = -2.5 -> hence x = -1.25t^2-10t+x0 (edited)
srl Oct 29, 2021 2:29 AM
hrmmmmm... i need someone smarter than me to do look at this
this could be anything...
srl Oct 29, 2021 2:37 AM
hmm this data is suggesting it's closer to 4.3 recovered per second.. vs 5
ok brain fried for the night.. im done
srl Oct 29, 2021 2:46 AM
hmmm nass' 2u tests might not be useable thanks to water freezing 😦
i think we might want to collect more samples like isu's and then just do an average to find out if it's 5
or 4
or 4.5 or w/e
that should be accurate enough as far as sim goes. idk if we'll ever get the true answer...
srl Oct 29, 2021 2:55 AM
actually hmm line of best fit would suggest 5 is right
hmm ok i guess just gotta grind through and plot out all the other data points and see if the line of best fit stays at 5? if so im ok with just calling it a day on this one
@Aluminum @Kourinn ^
the entire thing is also full of noise which really doesnt help
oh but maybe should put out a call for more sample still. like.. at least 20 useable sample of each interaction?
ElliMiku Oct 29, 2021 5:36 PM
Hi what is the current best guess for a formula in terms of t_decay?
┌─── reply to message (903477511743217684)
Kourinn Oct 29, 2021 11:36 PM
Have you seen page "V3" on my spreadsheet? https://docs.google.com/spreadsheets/d/19KmLgVt9DCFBraQawRKc1NBkoHGqtOQPkvrIiME-Bak/edit?usp=sharing

I don't think we'll be able to get around the noise when programming the same inputs with the same timings results in durations both over and under expectations.
Genshin Freeze Extension 2021-09-24
Sheet1

d is aura durability using in-game units (element_durability)
t is time in seconds.
t_decay is the sum of time spent frozen minus twice the time spent unfrozen between frozen reactions where this sum and all partial sums of recent frozen reactions remain greater than zero. Otherwise t_dec...
┌─── reply to message (903789327488811098)
srl Oct 30, 2021 12:05 AM
ya i remember checking this out. but i didnt want to rely on kokomi just in case as i know from logs that water tops up to 50 hydro for sure w enough time
ElliMiku Oct 30, 2021 6:04 PM
Is the formula on the sheet the best current guess for a formula?
┌─── reply to message (904068253767319632)
srl Oct 30, 2021 6:25 PM
there's a fancy looking one in the pins
┌─── reply to message (891147744402616330)
ElliMiku Oct 30, 2021 6:26 PM
This one? This it the one I meant!
I am currently testing in mona C1 snapshots for freeze and works with subsequent freezes (it is supposed to prolong freeze by 15%). But my data neither matches the C0 or C1 prediction.
Also it kinda looks like the 15% don't even work on the first freeze.
See #897587228799287327 - if you wanna you can also take my data for this ticket if it is helpful.
srl Oct 30, 2021 7:42 PM
oh right i have mona now i guess i gotta test this too at some point.. ugh
i havent looked yet but u prob want to start with a very simple base case freeze and go from there
the above is for chaining freezes...
┌─── reply to message (904093006993457173)
Tibo Oct 30, 2021 8:00 PM
well, that doesn't seem to apply 15% duration increase https://discord.com/channels/763583452762734592/897587228799287327/900484377920819291
srl Oct 30, 2021 10:41 PM
ugh... it's when hit by omen.. what a pain
┌─── reply to message (904093006993457173)
ElliMiku Oct 31, 2021 2:40 PM
Yee I realized I should have started with that
┌─── reply to message (904137997140774965)
ElliMiku Oct 31, 2021 2:41 PM
also only for C1
phaZZi Nov 3, 2021 5:39 PM
just a question, do we know wether the freeze decay rate is increasing or the freeze durability is decreasing with consecutive freezes or maybee both even? (edited)
srl Nov 3, 2021 5:45 PM
do we know for certain? no
there are assumptions/theories
will never know for certain till we get game code 🤷‍♂️
current theory is decay rate recovers at 2x the acceleration after unfreeze (edited)
srl Nov 3, 2021 5:53 PM
dont use rain. at least if u use rain i can't give u an answer
idk how much gauge rain applies 🤷‍♂️
and how often
phaZZi Nov 3, 2021 5:54 PM
well he is in both water and rain but ill do without rain haha
srl Nov 3, 2021 5:54 PM
oh is he? im at work sry cant see clearly keeping it tiny
phaZZi Nov 3, 2021 7:07 PM
freeze duration is weird even without the refreeze tax.
i did a few tests for example 50 freeze lasted for 210 frames, but 100 freeze - 25pyro also lasted for 210 frames, which is weird and i cant make sense out of the decay rates anymore
(edited)
Isu Nov 3, 2021 7:39 PM
isn't that just the expected result? forward melt so 2x the pyro trigger is removed, so that leaves 50 durability to decay over time, which your previous test showed to be 210 frames
phaZZi Nov 3, 2021 7:44 PM
well it would only work if freeze decays at the same constant rate for all initial freeze durabilites triggered from reactions.
so if a 50 freeze lasts 210 frames, a 100 freeze (without interference) should last 420 frames - which it doesnt, it lasts around 340 frames. so it decays at a faster rate. if i reduce it down to 50 durability, then with a faster decay rate it should end earlier than 210 frames, which it also doesnt either
(edited)
Isu Nov 3, 2021 7:46 PM
"Freeze decay starts off at a rate of 10/s and accelerates at a rate of 2.5/s^2"
right, it is in line with this finding (or theory still?)
initial decay rate is the same regardless of freeze durability
assuming no recent refreeze
phaZZi Nov 3, 2021 7:47 PM
huh i didnt see that one my bad
where exactly is that from
Isu Nov 3, 2021 7:47 PM
well i just copied that from the top pinned message
phaZZi Nov 3, 2021 7:47 PM
im blind i guess
only looked at sheets and graphs i found here lol
srl Nov 3, 2021 7:49 PM
might be a good idea to write out the findings here thus far in english and pin that for now
┌─── reply to message (905544130611003392)
Aluminum Nov 4, 2021 4:51 AM
it is pinned
unless we got something extra?
srl Nov 4, 2021 4:52 AM
ya but it's also not very clear i think to anyone other than.. what.. the 4 of us in here?
NZPIEFACE Nov 4, 2021 4:53 AM
Aluminum Nov 4, 2021 4:53 AM
uh what kind of explanation we looking for?
NZPIEFACE Nov 4, 2021 4:53 AM
i read this channel
but i also dont get half of whats said
Aluminum Nov 4, 2021 4:53 AM
I think my description was simple enough
srl Nov 4, 2021 4:53 AM
to begin with i dont think the original freeze duration is even documented
Aluminum Nov 4, 2021 4:54 AM
was that in your project channel lol
srl Nov 4, 2021 4:55 AM
hmmmmmm.... yes. there was also a theory hunt ticket for it
but that was closed and i think got buried in the vault lol
Aluminum Nov 4, 2021 4:55 AM
well it's in the TCL, and evidence is probably there too
srl Nov 4, 2021 4:55 AM
it's not in the front page of egt right? i dont recall
Aluminum Nov 4, 2021 4:55 AM
it's on the transformatives page
srl Nov 4, 2021 4:56 AM
oh ok
well good enough then i guess. but we should prob write more english here if anyone else is to understand
i think for now i would just want more samples to avg out and confirm that it's close enough to kourin's formula and for me personally this is good enough (edited)
good enough as in prob ok to close, sry
Aluminum Nov 4, 2021 4:59 AM
We can point out that our results had inconsistencies in the advanced doc, specifically in regards to the rate at which the decay rate decelerates
srl Nov 4, 2021 5:00 AM
we also cant fully accurately control the tests though
i have noticed in the logs that sometimes the hydro doesnt fully refill for w/e odd reason before refreeze (edited)
like it's just off a little
not to mention my gut feeling is that the system works on some sort of tick system so sometimes results are inherently off a little
i.e. it waits for next tick type of thing
all of that together makes it kinda hard... so that's why i think should get more sample
and hopefully it avgs out close enough to 2x decay rate... this way can just say 2x decay rate since it's easier to remember than 1.9234729342 (i made this up) (edited)
┌─── reply to message (905681158153584650)
phaZZi Nov 4, 2021 12:28 PM
i just cant read pins my bad. the freeze acceleration seems to be 1.25/s² during freeze though? -10/s - 2.5/s² seems way off for me
┌─── reply to message (905795537041772564)
Aluminum Nov 4, 2021 12:29 PM
different units
I'll rewrite it in U when I'm awake
phaZZi Nov 4, 2021 12:34 PM
i meant elemental durability if you also meant that
phaZZi Nov 4, 2021 1:28 PM
if you sucrose swirl both hydro and cryo from two enemies onto a 3rd enemy you should get consistent 88 durability freezes, probably also no hitlag. is that useful for testing?
NZPIEFACE Nov 4, 2021 1:33 PM
does swirl have hitlag?
┌─── reply to message (905797163429285938)
Aluminum Nov 4, 2021 3:06 PM
oh. Ah I see. The formula has a -1.25t^2 component. But velocity is the derivative of that. That's why acceleration is -2.5/s^2 instead of -1.25/s^2 btw (edited)
phaZZi Nov 4, 2021 3:41 PM
velocity is literally just v(t) = v0 + a*t tho. acceleration is the derivative of velocity not the other way around. you could also see that v(t) is just the basic form of the integral of acceleration
am i turning full pepega again
ah nvm youre right, for the "reverse derivative" for distance (or durability d(t) here) youd get d(t) = d0 + (v+v0) * t + 1/2 a * t² , where 1/2a = -1.25 (edited)
Aluminum Nov 4, 2021 3:48 PM
Yeah I should say that you take the derivative again for the acceleration but that's still just -2.5
phaZZi Nov 4, 2021 4:15 PM
im pepeg im out here for today (edited)
ElliMiku Nov 4, 2021 9:15 PM
Is it possible to extend freeze while an enemy is already frozen (w/o shattering them first)?
Asking bc in this video (first clip) I hit the slimes once (to freeze them), then a second time (which I don't think changed the time, since I got around the expected duration when timestamping for the left and middle slime) and then I hit the right slime again and that one was frozen for quite a while longer than the other ones https://www.youtube.com/watch?v=QCTUM34BzjA&ab_channel=ElliElliElli
┌─── reply to message (905928221600665630)
srl Nov 4, 2021 10:34 PM
yes, the decay rate just carries through and continue to ramp up at 2.5/s
ElliMiku Nov 4, 2021 10:53 PM
ok got it ty!
ElliMiku Nov 13, 2021 9:10 AM
So... need more data?
wait are you even still working on this? Dis srl leave the server?
NZPIEFACE Nov 13, 2021 9:19 AM
yeah srl left the server for irl stuff
ElliMiku Nov 13, 2021 9:23 AM
oh I see
Is anyone continuing this ticket then?
NZPIEFACE Nov 13, 2021 9:26 AM
currently, no?
┌─── reply to message (909010692374413352)
NZPIEFACE Nov 13, 2021 9:26 AM
you can try if you want
ElliMiku Nov 13, 2021 9:34 AM
It does seem like a hassle.. I'll mull over it tho
ElliMiku Nov 13, 2021 11:01 AM
I'll do it
I may need help with the administrative stuff tho. Is there a formal way to transfer the ticket or...?
NZPIEFACE Nov 13, 2021 11:44 AM
nope
just start working on it
ElliMiku Nov 13, 2021 11:45 AM
ok got it!
NZPIEFACE Nov 13, 2021 11:45 AM
.... actually wait
contact srl first in PMs
ElliMiku Nov 13, 2021 11:45 AM
Oh uuh the thing is, I can't see the info since they lefz the server
NZPIEFACE Nov 13, 2021 11:46 AM
just click their username
ElliMiku Nov 13, 2021 11:46 AM
Oh it works
nvm then
Ok I can't dm bc I don't have perms. You know them, right? Can you ask them to accept my friend req so I can dm?
NZPIEFACE Nov 13, 2021 12:21 PM
i havent added srl as a friend either
ElliMiku Nov 13, 2021 12:24 PM
well
do u know someone who has?
NZPIEFACE Nov 13, 2021 1:09 PM
@Lantua can you help us and get in touch with srl? (edited)
┌─── reply to message (909047496985157662)
Tibo Nov 13, 2021 1:22 PM
you could try joining the gcsim server so you have a server in common for dms
phaZZi Nov 13, 2021 1:45 PM
https://discord.gg/RMK5td9a @ElliMiku thats srls sim server
ElliMiku Nov 13, 2021 1:46 PM
We have servers in common, but you can adjust the perms to only allow dms from friends
But I'll join the sim server and try from there ^^
phaZZi Nov 13, 2021 1:47 PM
just @ him there haha
ElliMiku Nov 13, 2021 1:48 PM
He's not there anymore either
O I got it, I'll ping on genshin optimizer (edited)
Lantua Nov 13, 2021 1:51 PM
ok, I pinged him (edited)
phaZZi Nov 13, 2021 1:53 PM
https://youtu.be/FapimxONLw8?t=8 i did a refreeze test here but i havent frame counted anything yet
xXphaZXx
cryo swirl freeze test Genshin Impact 2021 11 12 01 37 13 (src 60.0...
0:00 skip
0:08 start
1:07 skip
ElliMiku Nov 13, 2021 1:54 PM
All good now!
What I don't get is, are there plots anywhere? Bc I could've sworn there were, and now I can't find them
┌─── reply to message (903477214631305277)
ElliMiku Nov 13, 2021 1:56 PM
Like this one
Oh with swirl, interesting
┌─── reply to message (909078647342792724)
phaZZi Nov 13, 2021 5:01 PM
https://docs.google.com/spreadsheets/d/16PQxyXNw75Negso5VJORnZx9CR1ztYs43V7Fh3Ga9Fg/edit?usp=sharing
sheet for frame counts. large difference between actual vs current formula.
how do you do regression for this again
EDIT: after fixing mistake in my sheet there is still a difference but its not that big, sorry!
(edited)
ElliMiku Nov 13, 2021 5:19 PM
uuh what I would do it convert sheet to csv, calc everything in python and use linregress from scipy
but for sheets i'd use the built-in thing for plots
ElliMiku Nov 13, 2021 5:30 PM
LINEST - Docs Editors Help
Given partial data about a linear trend, calculates various parameters about the ideal linear trend using the least-squares method.
Sample Usage
LINEST(B2:B10, A2:A10)
LINEST(B2:B10, A2:A10, FALSE,
phaZZi Nov 13, 2021 5:31 PM
mmh thinking about it a bit made me realize that there are multiple parameters that could be adjusted.
the "unfreeze" part of that formula could be ignored for now by doing perma freeze tests first.
was there already an established freeze duration formula before this ticket was opened or was it found out during this ticket and would it also need any further evidence? otherwise it just make it more complicated to figure out everything at once from what understand.
i just guessed
t_decay = t_frozen - 1.9 t_unfrozen
to fit better with the data right now haha.
EDIT: fixed mistake in sheet
EDIT: fixed one more mistake
(edited)
ElliMiku Nov 13, 2021 5:31 PM
yeah I noticed the change from 2
phaZZi Nov 13, 2021 5:32 PM
the way i wrote the unfreeze part is recursive which annoys me
(telescope method something something)
(edited)
ElliMiku Nov 13, 2021 5:32 PM
hmm before this I think it was the formula in the pinned sheet
┌─── reply to message (909133529621889085)
ElliMiku Nov 13, 2021 5:33 PM
Well it is either recursive or a loop, and you can't do loops in sheets
NZPIEFACE Nov 13, 2021 5:33 PM
actually quick question: is rate of freeze decay (the initial decay and rate the decay increases) the same no matter how much freeze is applied? (edited)
ElliMiku Nov 13, 2021 5:33 PM
you mean 1A or 2B as the trigger?
NZPIEFACE Nov 13, 2021 5:34 PM
yeah, like with 1A + 1A vs 2A + 2A
ElliMiku Nov 13, 2021 5:34 PM
oooh
┌─── reply to message (909133873714200636)
phaZZi Nov 13, 2021 5:34 PM
by current assumption yes, and i have also made some reaction test on freeze which would support that (edited)
ElliMiku Nov 13, 2021 5:34 PM
I don't know
phaZZi Nov 13, 2021 5:34 PM
havent uploaded those tests tho
NZPIEFACE Nov 13, 2021 5:34 PM
cool
wait
no wonder mona C1 doesnt work
phaZZi Nov 13, 2021 5:34 PM
like if you apply 4U freeze and melt 1U it it lasts as long as 2U freeze
ElliMiku Nov 13, 2021 5:35 PM
Oh nice!
NZPIEFACE Nov 13, 2021 5:35 PM
could you do a raw 4U test?
ElliMiku Nov 13, 2021 5:36 PM
How do u apply 4U cryo
phaZZi Nov 13, 2021 5:36 PM
freeze gauge = cryo + hydro gauge, so 2U water hydro + kaeya
ElliMiku Nov 13, 2021 5:36 PM
ah gotcha
wait
I thought it was 2* min (cryo, hydro)
phaZZi Nov 13, 2021 5:37 PM
yea min
i just like to think of it as in every cryo molecule reacts with a hydro molecule to form 2 freeze molecules so if one runs out the reaction stops (edited)
NZPIEFACE Nov 13, 2021 5:38 PM
fuck it
i shouldnt have said the required reading to srp was egt
i shouldve said you needed to pass highschool chem
phaZZi Nov 13, 2021 5:39 PM
like same with swirl gauge (edited)
ElliMiku Nov 13, 2021 5:40 PM
I have to admit I haven't looked into swirl
phaZZi Nov 13, 2021 5:41 PM
doesnt matter for freeze, just that chemical reaction rates analogy would fit there as well (somewhat)
ElliMiku Nov 13, 2021 5:41 PM
Yeah I am kinda surprised about that analogy
it's suspiciously logical
phaZZi Nov 13, 2021 5:42 PM
hydro + pyro vape having a 2:1 rate
one is adding water to the acid (forward vape), one is adding acid to the water (revers vape) haha
(edited)
ElliMiku Nov 13, 2021 5:42 PM
2H + 1P -> more damage
chemistry 101
ok gonna take more data, see ya
ElliMiku Nov 13, 2021 6:15 PM
I accidentally killed my test subject
But I have quite some data now
NZPIEFACE Nov 13, 2021 6:16 PM
┌─── reply to message (909133286415159376)
Isu Nov 13, 2021 6:36 PM
freeze duration formula is from before this ticket, Aluminum and srl primarily figured out the formula and then there was a theory hunt to gather more evidence for it. I personally don't think more evidence is required for the general freeze duration formula at this point, and there is a formula for it in the TCL now although it may be updated with the EGT rewrite: https://library.keqingmains.com/mechanics/combat/elemental-reactions/transformative-reactions#frozen
Transformative Reactions
Overload, Superconduct, Electro-Charged, Shatter, Swirl, and Crystallize.
ElliMiku Nov 13, 2021 6:55 PM
ok good, a solid basis to start from
ElliMiku Nov 13, 2021 7:08 PM
or go back to rather
ElliMiku Nov 13, 2021 9:07 PM
tomorrow I will do data analysis for all data collected so far
I'll leave you with this till then
Kourinn Nov 13, 2021 11:58 PM
In my opinion, it's not possible to find a truly accurate formula. There is jitter in both directions to the degree of estimates being off by 10% in either direction. I told aluminum I was in favor of closing the ticket with the current understanding (see pins) with the disclaimer that there's some random factor at play.

Iirc, Srl wanted to collect tons of data to try to statistically assess the noise, but nobody has time for that.
ElliMiku Nov 14, 2021 10:19 AM
It doesn't need to be noise free to find an accurate formula. You just need, yes, enough data and more advanced techniques to analyze the data.
For the 10%, that's quite a lot, but still manageable imo
For the "randomness", is it possible it's not truly random but we're just missing a variable?
phaZZi Nov 14, 2021 2:24 PM
maybe there is a maximum freeze decay rate just a random thought that i just had
ElliMiku Nov 16, 2021 11:19 PM
I feel like I am overengineering this
I tried making a nice data analysis, using function fitting tools from scientific python, but the results aren't rlly telling me enough. It both doesn't clearly prove the hypothesis, nor clearly show it's incorrect. Also I have trouble plotting the optimized results nicely bc i have optimized for two variables. (edited)
Here's the plot with the kourinn formula from the pins
What I currently don't take into account is the aura decaying before the enemy is frozen - hence the "2B" data being so far below the "2B" line - in fact the freeze aura was at around 36 for both the 2B and 1A tests most of the time. Will implement tmr and see if it radically changes stuff (edited)
Another note, my data is "filtered" by cumulative time unfrozen < 2.5, simply bc I did take quite long strings of freezing and refreezing again within less than 2 sec and it was kinda all over the place for higher numbers of refreezing
open questions:
- is t_decay a "good" variable
- functional shape of the decay
- does it work differently with innate hydro aura enemies/enemies standing in the water
- how does it work for long strings of freezing and unfreezing
suggested course of action:
- use data to find an "initial freeze decay" rate for the first refreeze happening shortly after unfreezing
- use this rate to make a makro that refreezes quickly after unfreezing for the first few times, record data
- use data to find approximate formula in terms of total freeze time (so we can ignore the effect of unfreeze time)
- if successful, use above formula + more makros to test for effect of unfreeze time
ElliMiku Nov 17, 2021 1:06 AM
How certain are you guys about the Kourinn formula? I don't wanna discredit anyones past work, but I don't rlly understand how it came to be and how sure we can be it's correct
NZPIEFACE Nov 17, 2021 1:29 AM
you can ping kourinn, yknow
ElliMiku Nov 17, 2021 1:30 AM
I... didn't think of that
tbf it's 2:30 in the morning
@Kourinn hi pls see above ^^
Kourinn Nov 17, 2021 3:36 AM
@phaZZi made a mistake in his calcs, you subtract unfreeze from the previous freeze, not the current freeze which you're calculating. After correcting his numbers, 1.9 does seem like a more accurate coeffient for his data, but none of his unfrozen durations were very short. The coefficient may vary with unfrozen duration, something like 2*unfrz/(1+0.1*sqrt(unfrz)). That or Ganyu's arrows have enough enemy hitlag to skew my tests toward higher coefficient.
https://docs.google.com/spreadsheets/d/14x7SH-qwfKDboIIj88uzuz5E48MslhjNzHmtg8P_T1U/edit?usp=sharing
Copy of refreeze test2
source

link,https://youtu.be/FapimxONLw8?t=8
fps,60
ping,21,(min 19, max 34)
frame counting method,f_trigger_frozen is the frame where "frozen" text appears (in the next frame the enemy will not have changed his position since his movement has stopp...
┌─── reply to message (910341234248286268)
Kourinn Nov 17, 2021 3:39 AM
I should have time this weekend to look at this more
┌─── reply to message (910335038938288138)
Kourinn Nov 17, 2021 4:10 AM
Current formula was mostly the work of srl, aluminum, and Isu. Prior to this ticket, I had a ticket named #freeze-extension that found consecutive freezes (without unfrozen gaps) showed reduced duration roughly matching 1-0.25*ln(t_frzn). After learning a bit more about freeze (and swirl) from them, I documented the current formula from my tests (which also matched one of their guessed formula). Since this formula works both consecutive freezes and with unfrozen gaps, my previous ticket was archived.

Which reminds me, I should transfer my ayaka hitlag extension tests to the doc here. The finding is that hitlag pauses both freeze decay and decay acceleration. There's a chance this means hitlag might pause unfrozen decay recovery too.
┌─── reply to message (910372927541755974)
phaZZi Nov 17, 2021 10:17 AM
oh thanks, didnt notice that. fixed it on my sheet as well now. but yea i thought swirl freeze might be good way to test without hitlag bullshitterino (edited)
phaZZi Nov 17, 2021 11:05 AM
i guess with the slight adjustment the formula does work pretty well for my test, except for the first freeze which annoys me a little. it would fit better for the 1st freeze if i adjust the hydro slime gauge to 48 instead of 50 lol (in that case consecutive freezes would then fit better with 1.93 as unfrozen coefficient) (edited)
ElliMiku Nov 17, 2021 12:12 PM
Ok I'll just try accounting for the gauge being less than what it is on application and see if I get better results, that and ignore the data points towards the end of a long freeze/refreeze chain for now
┌─── reply to message (910485850305998879)
Kourinn Nov 17, 2021 2:14 PM
Srl noticed the same issue: https://discord.com/channels/763583452762734592/881008110699937792/905682971074387999
we also cant fully accurately control the tests though
i have noticed in the logs that sometimes the hydro doesnt fully refill for w/e odd reason before refreeze
like it's just off a little
not to mention my gut feeling is that the system works on some sort of tick system so sometimes results are inherently off a little
i.e. it waits for next tick type of thing
all of that together makes it kinda hard... so that's why i think should get more sample
and hopefully it avgs out close enough to 2x decay rate... this way can just say 2x decay rate since it's easier to remember than 1.9234729342 (i made this up)
srl Nov 21, 2021 12:43 AM
oook im back need to wrap this up so i can finish adding freeze to sim. what do we got here 😂
NZPIEFACE Nov 21, 2021 12:46 AM
@srl welcome back!
srl Nov 21, 2021 12:47 AM
let me try and back read this and see what's going on...
┌─── reply to message (910485850305998879)
srl Nov 21, 2021 12:48 AM
i personally prefer to avoid anything involving hydro slimes. only because i dont feel comfortable with their mechanics fully i.e. how frequent do they refresh hydro and how much (maybe this known now). with standing in water at least i seen the logs so im more comfortable using tests from there
but even with that.. the tests are.. inaccurate as i mentioned before. sometimes u get like 49.23423 or something hydro instead of 50 for some odd reason
┌─── reply to message (910309149080969236)
srl Nov 21, 2021 12:53 AM
hmm so what exactly am i looking at here? (edited)
┌─── reply to message (911780174037663744)
phaZZi Nov 21, 2021 12:54 AM
yea i initially thought i could do the test on the hydro slime in shallow water (+ rain maybe too) but then i dont reliably swirl cryo off the cryo slime anymore so that didnt work out. and the hydroslime would then be sitting on ice and not in the water kinda ass (edited)
┌─── reply to message (911781495050469436)
srl Nov 21, 2021 12:56 AM
hmm, why are you trying to swirl hydro though?
phaZZi Nov 21, 2021 12:59 AM
uuh im not trying to swirl hydro. tryna swirl cryo cuz swirl gauge is big and swirl cooldown is low and also no/minimal hitlag interfering
srl Nov 21, 2021 1:02 AM
oh
phaZZi Nov 21, 2021 1:16 AM
i guess i could do another test with manual hydro application instead of a hydro slime target but idk if thats gonna be any less scuffed
┌─── reply to message (911787142131367966)
srl Nov 21, 2021 1:29 AM
hmm are you just trying to verify the pinned formula?
phaZZi Nov 21, 2021 1:32 AM
that was the idea initially
┌─── reply to message (911781211960143932)
ElliMiku Nov 21, 2021 5:50 PM
All the data we have so far (that I know of) (the dots) and the formula for different e_d (the lines)
axes are time frozen vs t_decay from all previous freezes
I managed to properly read in the auras for the start of the freeze reactions
I will use this to make better fits (the previous ones didn't turn out too good)
┌─── reply to message (912037358738739240)
srl Nov 21, 2021 10:14 PM
what's the formula you're using?
ElliMiku Nov 21, 2021 10:14 PM
the one from kourinn
hold on
┌─── reply to message (891147744402616330)
ElliMiku Nov 21, 2021 10:15 PM
this one ^^
for the fits I tried basically this, but with adjustable parameters
and I did one try with just exponential decay as a formula, to compare it with (but I think the sqrt one dits better)
srl Nov 21, 2021 10:17 PM
hmm i didnt do anything so complicated i think
ElliMiku Nov 21, 2021 10:17 PM
I like (over)complicating things
srl Nov 21, 2021 10:17 PM
i basically counted the frames, i.e. how long first freeze lasted (should be constant but there's error room), frames lasted between first and 2nd frame, and frames the 2nd freeze lasted. then i worked backwards the decay rate required at the start of the 2nd freeze such that the 2nd freeze would last the counted duration

from there you can see how close that is to the anticipated 2x decay recovery
(edited)
ElliMiku Nov 21, 2021 10:17 PM
but best case we have some more certainty about the formula
oh I did collect data on my own
but I mostly tried to analize the existing data in a different way
┌─── reply to message (910309149080969236)
srl Nov 21, 2021 10:18 PM
i guess i dont really know what im looking at here lol. either this is too big brain for me, or it looks like a bunch of random dots that does not match the 3 lines
ElliMiku Nov 21, 2021 10:19 PM
also my own data seems to match much less than the other. I tested on a ruin guard standing in water
┌─── reply to message (912104827545354280)
ElliMiku Nov 21, 2021 10:19 PM
Oh right, that's because of the aura decaying (well hopefully just that)
┌─── reply to message (910310481531654144)
ElliMiku Nov 21, 2021 10:20 PM
here ^^
srl Nov 21, 2021 10:20 PM
so the only dataset i would use here is the one's isu recorded
here were problems with the ones nass recorded due to the target not being submerged in water while frozen
ElliMiku Nov 21, 2021 10:20 PM
oh hmm
srl Nov 21, 2021 10:21 PM
that's also why i said would be nice to collect more samples, making sure this time the ruin guard is submerged the entire time
ElliMiku Nov 21, 2021 10:22 PM
yee more data would be nice
which one is Isu's data?
srl Nov 21, 2021 10:22 PM
these 3 specifically
er idk where i saved my spreadsheet though so may have to recount
ElliMiku Nov 21, 2021 10:23 PM
ooh oops
srl Nov 21, 2021 10:23 PM
it was on my windows pc... which i wiped.. and may or may not have saved my stuff
ElliMiku Nov 21, 2021 10:23 PM
srl Nov 21, 2021 10:24 PM
but hmm, if we can collect maybe another 20 samples done that way i think that'd be great lol
srl Nov 21, 2021 10:24 PM
but for now i'll prob implement it in the sim based on kourinn's theory of 2x recovery. it was close enough in my now can't be found spreadsheet
ElliMiku Nov 21, 2021 10:24 PM
I hope you will find it again!
srl Nov 21, 2021 10:24 PM
oh this is seconds?
┌─── reply to message (912106332688105542)
srl Nov 21, 2021 10:25 PM
now that i think about it... i somehow doubt it ;_; i think i was in a hurry so i just hit the format button lmao
ElliMiku Nov 21, 2021 10:25 PM
first two columns are in seconds:frame
where frame goes from 0 to 29
srl Nov 21, 2021 10:26 PM
30fps?
ElliMiku Nov 21, 2021 10:26 PM
so in column C and D I converted to seconds
yee
I tried to record in 60
but my laptop did not oblige
srl Nov 21, 2021 10:26 PM
oh haha
hmm i wouldnt combine t_decay and total frozen time like that
i would view the 2 freeze as separate instances
and for the first freeze assume the duration instead of using the count (but count anyways to make sure that the assumed duation is more or less right)
ElliMiku Nov 21, 2021 10:28 PM
If you have to re-log the data, I would appreciate it if you could have a similar layout as in my sheet (since this is significantly easier to read into my python program)
Hm so sum up the expected freeze durations for all but the current freeze?
┌─── reply to message (912107149117775892)
srl Nov 21, 2021 10:30 PM
i prob wont tbh ;_; unfortunately im better off to just spend my time finishing refactoring. i want to get sim v1 out before end of the year
ElliMiku Nov 21, 2021 10:30 PM
ok will look at it tmr
srl Nov 21, 2021 10:31 PM
oh looks like i ss the data lmao
but you see in column G how the number of frames frozen isnt always the same?
ElliMiku Nov 21, 2021 10:31 PM
yeah
even first freeze having variance is weird, but we can work around that (edited)
┌─── reply to message (903470461306933329)
srl Nov 21, 2021 10:32 PM
so that's why here in column M i use expected duration instead of actual, so that the ending decay rate before we start the 2nd freeze is always the same
ElliMiku Nov 21, 2021 10:32 PM
oooh
srl Nov 21, 2021 10:32 PM
obv as long as actual is within a couple frames
ElliMiku Nov 21, 2021 10:33 PM
yeah I understand now
srl Nov 21, 2021 10:33 PM
but for calculation purposes i think it's more accurate this way - only b/c im operating under the assumption that the graphic updates are on some sort of ticks resulting in it not always showing freeze disappear at exactly 208.998 frames
ElliMiku Nov 21, 2021 10:33 PM
oh so the actual freeze duration is the same, but the way it displays it is off
if we only could just hack into the source code
┌─── reply to message (912108605124259850)
srl Nov 21, 2021 10:34 PM
that's the assumption im operating under. i mean i could be wrong but this kinda of frame inaccuracy is also present in devkit where you can see in the log that the gauge consumption is identical but the frames are off a bit
so that's why personally im ok making that assumption
and then from there, i'm just working backwards where if the 2nd freeze lasted say.. 150 frames, well what does the starting decay rate have to be?
and let's say the starting decay rate is x, then does that fit the model that it recovered y/s starting from first unfreeze to second freeze
ElliMiku Nov 21, 2021 10:36 PM
I see
I still think it's worthwhile to try it my way and see if the two approaches reach the same answer
If I'm feeling fancy I can try assuming some specific uncertainty on the data (so assuming the measured time doesn't match the actual time) for the fitting algorithms to process
Ok I'll work some more on the fits tmr and then see if I wanna log Isu's data again. Doesn't seem like too many
┌─── reply to message (912109480664264785)
srl Nov 21, 2021 10:40 PM
i mean.. go for it. just that personally idk what im looking at lol so i wont be able to provide any useful feedback on it. but there's plenty of smart folks around maybe they'll get it
ElliMiku Nov 21, 2021 10:40 PM
yee
I should upload my code on github or sth so everyone can give me feedback
┌─── reply to message (912604799990628374)
Sayline Nov 23, 2021 8:50 AM
wrong place to ask questions, please go to #questions-pls-halp instead
tickets like these are meant for theorycraft work
srl Nov 23, 2021 2:44 PM
@ElliMiku looks like i did save it 😮
ElliMiku Nov 23, 2021 3:02 PM
oh amazing, ty!
srl Nov 23, 2021 3:16 PM
as you can see sample size is a bit small but at least u can see how i approached the calcs
but my math is garbage so maybe u can connect this with how you are going about it
sad really... i have the math lvl of a gr 9 ;_;
ElliMiku Nov 23, 2021 4:59 PM
you're doing it very cleverly with the tools you have tho! (edited)
Oh
the sheet data is in yet another format
┌─── reply to message (912749339741401121)
srl Nov 23, 2021 5:05 PM
i mean.. i technically have a piece of paper that says i graduated from a math program. very expensive piece of paper
ElliMiku Nov 23, 2021 5:05 PM
I can imagine
But this here is not pure math, it's rather applied math/statistics
┌─── reply to message (912750873921351720)
srl Nov 23, 2021 5:07 PM
admit it this is gr 10 math 😂
ElliMiku Nov 23, 2021 5:07 PM
well what I'm doing is statistics and scientific data analysis (still very basic tho)
Honestly I don't wanna remember what grade 10 math was like
srl Nov 23, 2021 5:10 PM
hmm.. pretty sure for us it was intro to stats lmao
ElliMiku Nov 23, 2021 5:33 PM
well
ElliMiku Nov 23, 2021 9:46 PM
ok that does not look readable lmao
oh well
this here is the same for both approaches ^^ (edited)
Best values from my fits:
a = -1.86 stdterr_a = 0.043
b = 24.5 stderr_b = 0.24
c = 270 stderr_c = 10
(edited)
compare this to:
a = -2
b = 25
c = 200
(from the formula pinned by kourinn)
t_decay is again calculated as in the squareroot case
Best guesses (again from my fits):
a = -1.37 stderr_a = 0.033
c = 0.099 stderr_c = 0.0025
plots still look shit, but that's bc I haven't figured out how to plot them properly
so.. both work reasonably well
I will have to clean up my code and get the plots to work, but I wanted to share this already
ElliMiku Nov 23, 2021 10:26 PM
Oh btw this is based on all the data I have (my data, my mona data, the sheet with v1, v2, v2, phaZ swirl test and isu's data)
NZPIEFACE Nov 23, 2021 10:27 PM
ElliMiku Nov 23, 2021 10:27 PM
I did the fit for each individual data series and then took a weigthed average for the coefficients (taking into account the respective variance)
NZPIEFACE Nov 23, 2021 10:27 PM
i dont understand it
ElliMiku Nov 23, 2021 10:27 PM
Hi
dw
NZPIEFACE Nov 23, 2021 10:28 PM
can you explain what t_decay is supposed to mean
ElliMiku Nov 23, 2021 10:28 PM
t_decay is just an intermediate variable, really
it is based on total (up to this point) frozen and unfrozen time
similar to the formula in the pins
the idea is that while the enemy is frozen, the freeze time of the next freeze is decreased
the longer it's frozen, the more it decreases the time for the next freeze
after the first freeze it may be unfrozen for a while
during the time unfrozen, the freeze time (again for the next freeze) "recovers"
and it recovers 1.9 - ish times (when unfrozen) as fast as it decreases (when frozen)
NZPIEFACE Nov 23, 2021 10:32 PM
ok
that makes sense
ElliMiku Nov 23, 2021 10:32 PM
yay!
wait till u see my spagetthi tho
Kourinn Nov 23, 2021 10:56 PM
Try not to chat too much in this channel. We're technically supposed to only be posting findings, and using #theorycrafting for chat instead. The ticket bot can only handle up to 999 messages, and this channel is currently at 716/999
┌─── reply to message (912824043319750757)
phaZZi Nov 23, 2021 11:29 PM
what is b and c if you rearrange that back into the pq formula tho (edited)
the pinned formula is actually the pq formula but rearranged from:
sqrt( 400 + 20*d_froz + 25*t_decay² + 200*t_decay )/5 - t_decay - 4 
<=>
sqrt((400 + 20*d_froz + 25*t_decay² + 200*t_decay)/25) - t_decay - 4
<=>
sqrt( 0.8*d_froz + t_decay² + 8*t_decay + 16 ) - t_decay - 4 
<=>
sqrt( 0.8*d_froz +       (t_decay + 4)²      ) - (t_decay + 4)

with (t_decay + 4) = p/2 and 0.8*d_froz = -q
(edited)
phaZZi Nov 23, 2021 11:51 PM
afaik
d_froz(t) = 0 = q + p * t + t² comes from
d_froz(t) = 0 = w3/w1 + w2/w1 * t + w1/w1 * t², where
w1=-1.25, w2=(-2.5 * t_decay - 10), w3=d_froz0 are the coefficients https://discord.com/channels/763583452762734592/881008110699937792/905845534978355220
(edited)
phaZZi Nov 23, 2021 11:59 PM
so -2.5 is the t_decay coefficient used in that rearranged pq formula which makes sense, since from the vanilla tests, we assumed the decay_acceleration to be -2.5 (so every extra second will add -2.5 to the initial decay_velocity). now with your coefficients that would probably affect the initial decay_velocity w2 as well as the decay_acceleration w1 of it, so we would get...
EDIT: idk i cant make sense of the pq formula anymore if i use your b=24.5, c=270 as coefficients, i end up with
sqrt(
  (16/0.98-5.4²=-12.83347) + 0.8*d_froz
  + (t_decay + 5.4)²
)
- (t_decay + 5.4)
+ 1.4

with
p/2 = (t_decay + 5.4)
-q = -12.83347 + 0.8*d_froz

but now there is also this random +1.4 floating around which doesnt belong anywhere in the pq formula. i think the way you parameterized the formula doesnt really make sense. it should probably be in terms of p, q or w1, w2, w3.
given the vanilla freeze tests, the current assumption is a quadratic formula with
1/2 decay_acceleration:
                      w1   =   -1.25
initial_durability:
                      w3   =   d_froz
initial_decay_velocity:
          w2(t_unfroz=0)   =   2 * w1 * t_decay(t_unfroz=0) - 10
                           =   2 * w1 * t_froz - b * t_unfroz=0 - 10
                           =   0 - 10
                           =   -10

it would also make sense to assume different parameter b or a different function for t_decay or maybe t_unfroz isnt even a parameter inside t_decay but appears somewhere else in the entire formula.
other ideas that i had were that maybe t_decay has a max_value or the game only cumulates t_decay over the past x frames instead of all frames since the first freeze
(edited)
srl Nov 24, 2021 12:12 AM
is there a discord latex bot.. this is so hard to read =/
┌─── reply to message (912858076737073152)
ItzSomebody Nov 24, 2021 12:14 AM
no but you could just paste it into a TeX editor
ElliMiku Nov 24, 2021 9:25 AM
there is but we don't have it here
I'll backread later
ElliMiku Nov 24, 2021 8:31 PM
I can try with a different parametrisation. If I'm not mistaken, the only thing we're reasonably sure of is the initial freeze duration,
d(t_frozen_total=0, t_unfrozen_total=0) = q = w3 / w1
so that still leaves parameters for
d_decay = d_frozen_total - a * d_unfrozen_total
and
p/2 = t_decay + v
(so only 2 unknown params, a and v (which means that I have been "overfitting" indeed))

That's ofc assuming that d_decay is a "reasonable" variable.
For other formula, I also tried the known value as a starting point
d(t_frozen_total=0, t_unfrozen_total=0) = q
and then exponential decay in terms of d_decay
d(t_decay) = q * exp(-c * t_decay) = q * exp(-c * t_frozen_total) * exp (-a * c * t_unfrozen_total)
(which ofc gave me a diff value for a).
I also plan on doing just linear fits,
d(t_frozen_total, t_unfrozen_total) = q + w * t_frozen_total, r * t_unfrozen_total
(which I don't expect to give good results, but would be a nice "control" case imo)
(edited)
ElliMiku Nov 24, 2021 8:40 PM
it would also make sense to assume different parameter b or a different function for t_decay or maybe t_unfroz isnt even a parameter inside t_decay but appears somewhere else in the entire formula.

This is ofc possible, but all "reasonable" shapes of a function of t_frozen_total and t_unfrozen_total I could come up with are the ones I mentioned above. Except maybe a formula quadratic (or rather squareroot-ic) in both t_\frozen_total and t_unfrozen_total independently? If you have any other guesses lmk and I see if I can include them.
other ideas that i had were that maybe t_decay has a max_value or the game only cumulates t_decay over the past x frames instead of all frames since the first freeze 

Max value should be kinda straighforwards to check, the other is ofc also possible to check, but will require some more thought and time from me.
srl Nov 24, 2021 8:41 PM
sorry is there a dumb down gr 9 version of what you just wrote (edited)
ElliMiku Nov 24, 2021 8:46 PM
I didn't take into account that the initial freeze time is well known and I should have, so there's only two unknown parameters for the "sqrt formula" (rather than 3). Hence the unaccounted for -1.4 that phaZ noticed.

Also there is other stuff to check in principle, like different functions in terms of t_frozen_total and t_unfrozen_total (or possibly other variables), but idrk how these would look like, or if there's a max value for t_decay, or if d_decay is only counted only for the past x seconds (the latter would be a bit of a headache ngl)
Hope that explains it a bit better!
(edited)
┌─── reply to message (913167172774268938)
phaZZi Nov 24, 2021 10:30 PM
yea dont think that needs to be the focus for now but just in case we run out of other ideas for possible formulae
srl Nov 25, 2021 1:00 AM
wait.. so what's wrong with the proposed formula?
ElliMiku Nov 25, 2021 7:28 PM
I don't think anything is wrong, more like it makes sense to test at least some alternatives (to have a comparison).
phaZZi Nov 27, 2021 11:19 AM
what about using mist flowers against enemies.
phaZZi Nov 27, 2021 11:44 AM
https://youtu.be/M8zPhB0tzoY
ill also try some consecutive diona/aloy CA's. even if it causes some hitlag, i guess its still fairly consistent against hydro slimes/enemies in water/rain
(edited)
NZPIEFACE Nov 27, 2021 12:07 PM
my favourite part
is that not only are you using a hydro slime, but its also raining and in the sea (edited)
D.....K Nov 27, 2021 12:24 PM
Might as well add lightning
srl Nov 27, 2021 1:44 PM
Given what carrier found I’m in favor of closing this ticket
Whether or not that results in an entry in tcl though idk
This stuff is kinda wonk and hard to show to begin with
@Aluminum @Kourinn thoughts?
┌─── reply to message (914149657976930346)
Kourinn Nov 27, 2021 1:47 PM
Who is "carrier"?
┌─── reply to message (914150465690808330)
phaZZi Nov 27, 2021 3:37 PM
@Carrier5by5 https://discord.com/channels/763583452762734592/763610791839924224/914076327005523988 wait the purge rate starts with 1 but can go down to 0?
phaZZi Nov 27, 2021 3:52 PM
that would explain why the formula didnt match for the first freeze in my test. would also mean freeze duration wouldnt behave quadratic once the cap is hit. but freeze durations would be way too long with that -20 decay_velocity cap in my sheet currently, and rn i still have the quadratic formula in there even at the cap. but could still be slime durability being guessed wrong so ill try guess some freeze durabilties lets see... nvm then
edit: idk the best fitting durabilites seem kinda unlogical, like larger time gap between freeze, yet less slime hydro durability recovered
(edited)
phaZZi Nov 27, 2021 4:06 PM
i need another test subject
im not satisfied with the current formula, it might be right and maybe my test setup was just scuffed but i could not confirm it with my slime swirl test. 15 frames error is unusable (edited)
srl Nov 27, 2021 4:13 PM
you shouldnt be using slimes
also it doesnt start at 1. it's 10 * (1 + purgerate)
phaZZi Nov 27, 2021 4:15 PM
oh its mulitplicative not additve , makes sense. also explains why its 10x smaller (edited)
┌─── reply to message (914187772791750706)
srl Nov 27, 2021 4:24 PM
hmm i think you should refresh a bit on the original freeze duration formula. or rather, the original freeze gauge formula
also.. dont test using slimes
Kourinn Nov 27, 2021 4:47 PM
This still doesn't account for the large error when refrozen many times. My best guess is something to do with "AttachAbilityStateResistance" or "WatcherSystemMixin" being delayed by calulation complexity or competing threads.

@srl should freeze hitlag extension be a separate ticket? Or do we want to try and figure that out here.
┌─── reply to message (914195731848515645)
srl Nov 27, 2021 4:48 PM
definitely separate... also the large error im not a fan of either but personally i'd be ok passing on it only b/c even in my own observations there's just too many minor inaccuracies
Kourinn Nov 27, 2021 4:48 PM
agreed
srl Nov 27, 2021 4:49 PM
like i mentioned the hydro not always refilling consistently. in addition the original freeze duration isn't totally consistent
i think a part of it too is b/c the game doesn't operate on a per frame basis. there's probably some sort of internal ticking system (maybe even on a per target basis) that doesn't line up perfectly with frame updates
it's just too many external factors that at this point i'm willing to settle on a "close enough", and only b/c that "close enough" appears to be backed by some sort of datamine
semantics but for me personally if we didnt have any datamine backing it up, i'd say the formula we found is a best case simplificatin/approximation.

since we do have datamine backing it up, i'm ok claiming the formula is the correct one, subject to in game frame inaccuracies
┌─── reply to message (914119435529367552)
Kourinn Nov 27, 2021 4:53 PM
did a few frame counts, and pinned formula lines up perfectly for first refreeze, but not 2nd/3rd and beyond. Cryo Flower deals 30 cryo, so it should always do 60 freeze on large hydro slime, but freeze is weird. https://docs.google.com/spreadsheets/d/182cL3y--jAOCg42z5EIC3Rttie6rIrIMvmT_trZk37Q/edit?usp=sharing
phaz flower freeze
Sheet1

https://youtu.be/M8zPhB0tzoY,assumed all freezes on large slime have 60 durability
m,s,f,t,status,t_frozen,t_unfrozen,t_decay,t_expected,error,w/ resist
0,11,23,11.38,frozen
0,15,20,15.33,unfrozen,3.95,0,4,-1.25%
0,15,47,15.78,frozen,0.45
0,18,37...
srl Nov 27, 2021 4:55 PM
seriously folks, stop using slimes 😂 it's like trying to solve a system of equation with 3 unknown and only 2 equations
phaZZi Nov 27, 2021 4:56 PM
ill do the coroola test on myself with zl shield to not die
happened to to find rain. nvm its gone <.< (edited)
┌─── reply to message (914195731848515645)
Carrier5by5 Nov 27, 2021 4:56 PM
for AttachAbilityStateResistance, some buffs use the durationRatio, such as Artifacts/Resonance(durationRatio=0.4), Herald with shield(durationRatio=0.8) (edited)
┌─── reply to message (914195731848515645)
srl Nov 27, 2021 4:57 PM
wait i just read the first part. if mhy's code were that slow i'd be seriously worried
Carrier5by5 Nov 27, 2021 4:58 PM
my teammate said maybe the durationRatio will adjust the gauge. if it is 0.8, the guage will become the 20% of the origin one
┌─── reply to message (914197951650349056)
phaZZi Nov 27, 2021 5:05 PM
ok nvm that test was fucking useless, no decay there (edited)
┌─── reply to message (914200326385590332)
Kourinn Nov 27, 2021 5:28 PM
yeah, unfrozen duration was more than half frozen duration, so t_decay was always 0 and freeze variance was likely due to hydro decay
Aluminum Nov 27, 2021 7:02 PM
I'm fine with closing this one. I've only pinned our final theories tho it'd be nice if someone could point me to all the in-game tests we want to use as the evidence
phaZZi Nov 27, 2021 7:34 PM
https://docs.google.com/spreadsheets/d/1BOiDXrVZ_yvh-xL8mI0UewjhfnhiysRAROqFc1wD6QE/edit?usp=sharing aloy vs ruin guard. unfrozen_coefficient=2 gives me ~10 frame mean error, largest single error being 37 frames; where as unfrozen_coefficient=1.9 gives me ~3 frames mean error, largest single error being 8 frames.
idk maybe some bullshit just delays the purge_rate calcs in game. but i dont like the error im getting with coeffcient=2 ...
(edited)
Kourinn Nov 27, 2021 11:32 PM
I think I'd prefer the more real-world accurate formula even if it's more-wrong compared to datamined values.

I would be fine with either:
* use 1.9 coefficient
* use 2 coefficient with disclaimer that 1.9 is more accurate in real-world tests compared to datamined formula.
(edited)
Aluminum Nov 27, 2021 11:58 PM
I'm wondering if there's a delay between enemy unfreezing and the decay beginning to decelerate
NZPIEFACE Nov 28, 2021 12:04 AM
btw
has anyone done any freeze tests while not connected to servers?
srl Nov 28, 2021 12:07 AM
Idk if 1.9 is more accurate… IMO there’s not enough data
┌─── reply to message (914304235519217744)
phaZZi Nov 28, 2021 12:42 AM
if i add/substract 1-2 frames delay to freeze duration or unfreeze duration its like a tiny little bit better but more delay than that makes it also just worse still less accurate than 1.9 (edited)
┌─── reply to message (914237799186706492)
srl Nov 28, 2021 12:51 AM
well first of all you're chain freezing with no elemental sight to use as a control point on when the actual freeze/unfreeze occurs (eyeballing it will easily introduce +/- 5 frame inaccuracies)
2nd, a bunch of your shots hit the eye which triggers decent amount of hitlag
it's simply not a very controlled test so it's not surprising that results have such huge variance
phaZZi Nov 28, 2021 12:51 AM
the unfreeze on the bar is actually pretty accurate, you can go test it with elemental vision if you want to
like really accurat
srl Nov 28, 2021 12:52 AM
🤷‍♂️ i have done my fair share of tests doing it without vision and +/- 5 is my expectation (edited)
phaZZi Nov 28, 2021 12:53 AM
for freeze?
srl Nov 28, 2021 12:53 AM
yep
even with vision freeze duration will vary up to 6 frames, usually within 3/4 frames
but anyways... those are the problem i see with your tests. if you think they're not problems then i cant really make any comments as to why your variance is so large
ultimately the editors can decide if they feel the formula is inaccurate or if they're in favour of leaving it as is
phaZZi Nov 28, 2021 12:55 AM
yea lemme check again. i think ive done some stupid bad tests against 1000 wind temple ruin gurad with elem vision
and thats how i came to the conclusion that i dont need elem vision for freeze
srl Nov 28, 2021 12:56 AM
also keep in mind that if u chain freeze like that instead of starting with a base case of 2 consecutive freeze, if every freeze has +/- a couple frames error, by chaining so many of them you're just compounding the error
that's why all of our previous test is just 2 freeze next to each other, not chained
finally, keep in mind there's the possibility that when you chain like that the water may not get filled to full
there's just too many externalities
it's not like you can see the combat log to confirm if you're actually getting full 50 durability freezes every time
phaZZi Nov 28, 2021 12:57 AM
the water is filled to full pretty much guaranteed from considering the flower test i did
where i was sitting on ice during freeze and still filled up
so id rule that one out at least
┌─── reply to message (914319098584895488)
srl Nov 28, 2021 12:58 AM
that's not my experience. u dont have the log. i seen otherwise
phaZZi Nov 28, 2021 12:58 AM
well more than 30 and aloy is just 25 (edited)
srl Nov 28, 2021 12:58 AM
but anyways.. ill let u keep going at it
good luck 😂
phaZZi Nov 28, 2021 1:03 AM
ye i get what you mean with compounding errors. the problem with only doing 2 freezes is that you dont get large t_decay to test it against so i wanted to make some longer tests as well (edited)
srl Nov 28, 2021 1:07 AM
that's true but if that was the intent i would suggest you start w 2 freeze. see if it matches, then do 3, see if it matches, then move on to 4. and for each one of those you'll want to collect at least 10 to 20 samples to average out the noise
instead of doing one long chain
phaZZi Nov 28, 2021 1:07 AM
well we have your data
srl Nov 28, 2021 1:07 AM
but anyways... i really gotta start writing some code if i wanna get this reaction stuff in before end of the year so good luck
┌─── reply to message (914321619562946601)
srl Nov 28, 2021 1:07 AM
well no.. i dont have enough data
that was my point
that was why i didnt want to close this ticket initially
i only had like maybe 15 points or so from isu's tests
phaZZi Nov 28, 2021 1:09 AM
annyways im doing amc 2u q tests rn ill give you an "accuracy evidence" video of my un/freeze frame trigger counting method in a minute xD
┌─── reply to message (914322122405445712)
srl Nov 28, 2021 1:10 AM
lol u dont need to convince me. i dont really have any time to look at this topic anymore tbh so do whatever to satisfy your uncertainties
i'm just pointing out things that i would have done differently
i gotta get v1 out if it kills me D:
Kourinn Nov 28, 2021 1:11 AM
yeah, I am going to say the 1.9 vs 2.0 issue only occurs for chain refreeze, but that is real-world use case in perma-freeze teams, so it makes sense imo to optimize for real world use cases.
Redoing Phaz's swirl test with single, refreeze, 2 is a better coefficient: https://imgur.com/a/ss5kIlE
expected w/ 2:        248
expected w/ 1.9:    239
actual:            251
(edited)
long unfreeze best matches 2, not 1.9 coefficient
but for multi freeze, 1.9 is better, I too tried subtracting a few frames, which worked for some cases, but threw off the reset point too far in other cases (edited)
srl Nov 28, 2021 1:13 AM
ill prob stick to use 2.0 myself. tbh even 30 frame error makes very little diff in practical game play/calculations
phaZZi Nov 28, 2021 1:28 AM
freeze text frame = frame cryo aura shows up in elemental vision, 1 frame before cryo is under boss bar. frame of freeze aura disappearing over enemy = frame of freeze aura disappearing under boss bar = frame of cryo aura disappearing in elemental vision. thats about what ive written about my frame counting method in the sheet as well
about the water not applying enough hydro aura, i dont think its the case but i also want be on the safe side and i have changed the time like 10 minutes straight fishing for rain and it didnt happen, mb ill do it later haha (edited)
still wanted to mention it cuz its important to know how accurate the tests even are (edited)
┌─── reply to message (914317482213392384)
phaZZi Nov 28, 2021 1:49 AM
yea stupid mistake i made there lol. ill fish for rain tomorrow again mb get another try against him. funnily enough the two freezes against weak spot hits are only 0.4 frames / 1.5 frames off from calculated with coeff=2 (edited)
┌─── reply to message (914318849548107796)
phaZZi Nov 28, 2021 2:28 AM
actually that error doesnt even compound because the calculated freeze duration is not based off of the previous calced freeze duration but on the measured f_frozen/unfrozen triggers and the measurings are independent of each other, so are the measuring errors.
purge_rate error of course is compounding in the way aluminum mentioned and cant be measured but added as a constant error term or error function to each un/frozen duration. but some simple error guesses did not do the trick for me https://discord.com/channels/763583452762734592/881008110699937792/914315236339769354
(edited)
srl Nov 28, 2021 2:39 AM
the freeze duration affects the decay
phaZZi Nov 28, 2021 2:42 AM
ure right. t_decay is proportional to the sum of each measured freeze duration, and the expected value of the errors sums up, thats basically the purge_rate error yea. idk what i event meant with the first thing, proof that its too late for me again. till tomorrow (edited)
srl Nov 28, 2021 5:10 PM
@Aluminum btw just had a thought. you know how yesterday we were looking at first differences and if we start at 10/60 as velocity the very first first difference is only half of what was expected?

i wonder if that accounts for some of the observed differences vs the formula? possibly that the game implements it the same way. i.e. start at 10/60 and just subtract the constant instead of starting at 10/60 - 2.5/3600
i.e. the whole discrete vs continous thing
┌─── reply to message (914563933409521765)
Aluminum Nov 28, 2021 7:31 PM
I was trying to say that to you earlier. Even so there's only about half a frame of difference between the two
In terms of formula it just replaces the t^2 component with t(t-1) or t(t+1) depending on whether you increment the decay before or after subtracting it from the gauge
ElliMiku Nov 29, 2021 3:18 PM
Oh amazing that we got datamine confirmation!
I am pretty much done with my code, I would like to adjust some minor things and include the data phaZ recorded w/ aloy, too. (https://discord.com/channels/763583452762734592/881008110699937792/914237799186706492)
Current overall plot:
https://cdn.discordapp.com/attachments/504955329205895168/914895850826776576/t_frozen_vs_t_decay.png
(Exp and lin are mostly just for comparison at this point)
Best current sqrt coefficients
a = -1.77  +/- 0.029
b = 4.04 +/- 0.018

with updated formula:
https://cdn.discordapp.com/attachments/398161961679847435/912822636717936710/latex.png

https://cdn.discordapp.com/attachments/398161961679847435/914897543593361429/latex.png
(edited)
phaZZi Nov 29, 2021 3:44 PM
the funny shit is honestly the frame variance for the 1st freeze (edited)
ElliMiku Nov 29, 2021 5:05 PM
oh I think that's due to
1) some are 1A with aura tax and some are 1A without aura tax (e.g. in the rain)
2) the condition for freeze decay to reset is dependent on the frame counts, which are not 100% accurate, so sometimes the calcs come out as it resetted, so now it's the first freeze again when it actually wasn't by a small margin
phaZZi Nov 29, 2021 5:19 PM
was actually wondering. how do you fit a single curve when its a function with frozen_durability as parameter? like in the swirl test, the frozen durability is higher and the points are clearly nowhere near the estimated function (edited)
phaZZi Nov 29, 2021 6:18 PM
alright, ive done 4 longer aloy vs ruin guard tests (with water and with rain)
im not done with frame counting even the first one but here is a diagram for now:
for the red dots, i took the data mined formula, but changed my f_trigger_frozen to be 2 frames earlier than what ive measured (or f_unfrozen 2 frames later). so that way the "observed" frozen_duration is increased by 2 frames every time and the unfrozen_duration decreased by 2 frames.
then its fairly close to the blue actual freeze duration
https://puu.sh/Ispka/e90c855251.png
(edited)
btw when shooting on aloy, elemental sight does indeed show f_trigger_frozen 1 frame later than the freeze text (which is the opposite of the adjustment that ive made looool). i guess thats hitlag related. i have still counted frames according to when the freeze text showed up, tho (edited)
ElliMiku Nov 29, 2021 6:25 PM
Nice! I will get back to the fitting thing in #theorycrafting (as not to max out messages in the ticket).
Imo we can close the ticket soon-ish (I'd really like to make some adjustments and add the new data from you, phaZ, once you're done logging)
On another note, I finally made a git repo here https://github.com/ellimiku/freeze_extension_analysis
My code is not super well documented (and at some places quite spagetthi due to reading it data from all kinds of different formats), so feel free to ask questions (dm or ping) or make suggestions.
┌─── reply to message (914943496387964949)
phaZZi Nov 29, 2021 8:34 PM
https://docs.google.com/spreadsheets/d/1-DNFany_-f2d5KW2qdjqoZ8HSDhmTOtnq8DpKwJEHcY/edit?usp=sharing here is the sheet. actually didnt add much more data, cuz i messed up the test afterwards. dont feel like frame counting the other 3 tests (edited)
phaZZi Nov 29, 2021 9:37 PM
either increasing frozen_duration by 2.5f / decreasing unfrozen_duration by 2.5f or unfrozen_coefficient=1.85 both give the good results for this test and also work for my swirl freeze test.
for the first aloy test i did, only unfrozen_coefficient=1.85 would go well but not the other, but that test wasnt done under ideal circumstances i guess
(edited)
CQLQRS Dec 2, 2021 8:41 AM
ElliMiku Dec 2, 2021 6:05 PM
Ok I'm pretty much done. More details later.
ElliMiku Dec 2, 2021 9:01 PM
Doc to write up (my data analysis only) (WIP) https://docs.google.com/document/d/1JJTGJzIUdIKUCEK-SxWECSyWcBmMK3tzLnjmkVimzys/edit#
Google drive folder with plots https://drive.google.com/drive/folders/1jdlJkdcr5OkizJVCBKa16UO_ZMkksz3Z?usp=sharing
Github project with everything I did
https://github.com/ellimiku/freeze_extension_analysis
Latest program output as a txt attached (as a temporary solution till I transcribe it into the doc)

My conclusion: With parameters
a = -1.86 ± 0.02 , b = 4.04 ± 0.02 (compare to datamined values: a = -2, b = 4) It is fair to say that the square root formula is correct. The deviation form the datamined values may be due to discretization effects. Which value to use in practice depends on the situation, but it probably doesn't matter that much.
Without background knowledge the exponential function and the square root function are equally good matches, but the linear is unsurprisingly worse than both.
Best params for exp function: a = -1.71 ± 0.04 , b = 0.113 ± 0.003
Best params for linear function: s1 = -0.34 ± 0.01 , s2 = 0.53 ± 0.02 (has largest relative std. error)
srl Dec 2, 2021 9:06 PM
nice. glad this thing is finally behind us.
attack speed next?
┌─── reply to message (916072806171697202)
ElliMiku Dec 2, 2021 9:15 PM
┌─── reply to message (916071726197112883)
elijam Dec 3, 2021 4:28 AM
are you done with this then?
or like
done enough for a write up
ElliMiku Dec 3, 2021 6:41 AM
done enough! I just wanna finish adding the results + some comments on them to the doc
┌─── reply to message (916217616748675072)
elijam Dec 4, 2021 4:46 AM
sure
ElliMiku Dec 4, 2021 5:25 PM
I am doneeeeeeee
NZPIEFACE Dec 4, 2021 5:28 PM
as in you've given up
or you're finished with the write up
ElliMiku Dec 4, 2021 6:02 PM
finished
Dooners Dec 4, 2021 7:36 PM
┌─── reply to message (916742005953007677)
srl Dec 4, 2021 7:49 PM
so a couple minor points. i think you should clearly state the units for both time and durability somewhere. i.e. is this using the 1/2/4 unit scale? or is it 25/50/100 unit scale? and is time in seconds? or frames
the formula themselves looks a bit unfamiliar to me i think b/c of the units (i kinda just never looked at the 1/2/4 version of the equation tbh, sorry 😦 )
imo, the advance egt will most like use time in seconds and durability in 25/50/100 scale so i wonder if it'd be best to have this in those units as well. that's however a question for the editors and not me
ElliMiku Dec 4, 2021 7:50 PM
you're right about the units
It's seconds and 25/50/100
srl Dec 4, 2021 7:50 PM
i mean.. it's not a guarantee advanced egt will not use 1/2/4 version. the parts im contributing i wrote in 25/50/100 but it's up to the editors to decide that one as well if they want to rescale the formulas
┌─── reply to message (916778586009141269)
srl Dec 4, 2021 7:51 PM
oh is it? hmm why does the equations look so unfamiliar 🤔 too many units 😂
ElliMiku Dec 4, 2021 7:52 PM
hmmm might be the divided by 5 part?
srl Dec 4, 2021 7:52 PM
i think this is t in frames.. maybe that's the problem
ignore the part where i wrote t is in seconds lol
┌─── reply to message (916778945511325756)
ElliMiku Dec 4, 2021 7:53 PM
bc that accounts for the difference between 1/2/4 and 25/50/100 inside the square root lol
srl Dec 4, 2021 7:58 PM
hmm ok let me revist this again when i have my brain on my head
also the fitting part i can't really comment on. too big brain for my hs lvl math (edited)
ElliMiku Dec 4, 2021 8:00 PM
yeah it's ok. I hope they'll find someone who understands this enough to verify
srl Dec 4, 2021 8:04 PM
dw there's plenty editors with higher than hs lvl education unlike me
┌─── reply to message (916780539040653423)
elijam Dec 11, 2021 1:03 PM
are you still planning on reviewing this before y’all close it?
Aluminum Dec 12, 2021 4:17 AM
I think the main ideas are done
elijam Dec 12, 2021 2:13 PM
yeah, just wondering what more y’all need to come to a consensus/conclusion and finish the ticket
I’m guessing the plan is for this to get rolled into the EGT page?
Aluminum Dec 12, 2021 8:35 PM
No this should go to the freeze section on the transformatives page
ElliMiku Dec 15, 2021 9:20 AM
oh rip srl left the server again
ok lemme do write up and get this over with
ElliMiku Dec 15, 2021 10:01 AM
Finding: The duration of repeated freezes can be described by the following formulae:
https://cdn.discordapp.com/attachments/398161961679847435/912822636717936710/latex.png
https://cdn.discordapp.com/attachments/398161961679847435/914897543593361429/latex.png
The variable t_decay is just needed for the calculations. If t_decay would be negative it “reset” to zero.
The freeze duration in seconds is equal to the second formula. The value d_frozen is in elemental durability and is equal to twice the minimum of the cryo or hydro gauge when freeze is triggered.
For the frozen durability in GU the formula is:
t_frozen = sqrt(GU_frozen + 31.25 (t_decay + b)²)
 / 7.8125


The parameters I found are a = -1.87 ± 0.01 and b = 4.09 ± 0.02, while the datamined values are a = - 2 and b = 4. Data analysis form various people are consistent with b = 4 and a being between 1.8 and 2.0

___

Evidence:
Data by Isu and Nass
Sheet: https://docs.google.com/spreadsheets/d/142GS3k_E7RCoRAgiJNTIsLSKKv8YiqCOmZcT1KHnk9c/edit#gid=2011891545
Videos:
https://youtu.be/2eUCYTDNJe8 https://youtu.be/9Fy0--GI3VE https://youtu.be/aKpKxfkp5EU https://youtu.be/oN5x8DBQAGI
https://youtu.be/ycD_kN8EoH8 https://youtu.be/N1Nwez1G340 https://youtu.be/SaaDdZmI4uo https://youtu.be/dmgjOyhWcWM
Data by Kourinn
Sheet: https://docs.google.com/spreadsheets/d/19KmLgVt9DCFBraQawRKc1NBkoHGqtOQPkvrIiME-Bak/edit#gid=0
(vids are linked there)
Data by phaZ
Swirl sheet: https://docs.google.com/spreadsheets/d/16PQxyXNw75Negso5VJORnZx9CR1ztYs43V7Fh3Ga9Fg/edit#gid=796464138
Aloy sheet: https://docs.google.com/spreadsheets/d/1-DNFany_-f2d5KW2qdjqoZ8HSDhmTOtnq8DpKwJEHcY/edit#gid=1824659614
(all vids are linked in the respective sheets)
(edited)
My data analysis [here be dragons]:
Data series (in addition to others): https://docs.google.com/spreadsheets/d/1oNXbx_LDZgHsO29yCQWMBkji2LF7-rdk2Yjz2TrF0SY/edit#gid=0

Github: https://github.com/ellimiku/freeze_extension_analysis
Write-up:
https://docs.google.com/document/d/1JJTGJzIUdIKUCEK-SxWECSyWcBmMK3tzLnjmkVimzys/edit#
___
Significance: Better understanding of freeze duration. More accurate dps calcs in permafreeze teams. Gcsim.
(edited)
@Aluminum @Isu @Kourinn @phaZZi @Nass008 lmk if this is good or if I should change/add sth
Nass008 Dec 15, 2021 10:53 AM
smoge
phaZZi Dec 15, 2021 1:00 PM
maybe mention that the pq formula is derived from
durability_frozen(t) = 
   durability_frozen0
 + (decay_velocity0 + decay_velocityBase) * t
 + 1/2 * decay_acceleration * t²


where

decay_velocity0 = 
   min(0, decay_acceleration * t_decay),

durability_frozen0 = 
   2 * min(durability_hydro, durability_cryo),

t_decay = 
   sum(
      max(0, t_frozen_i - a * t_unfrozen_i)
   ) over all previous frozen and unfrozen instances i


and we were looking for a in above formula
and b would be = decay_velocityBase / decay_acceleration
in a previous ticket decay_velocityBase has been determined to be -10
and decay_acceleration to be -2.5

idk if thats nessecary but maybe itd help to understand what has been done in the calcs
(edited)
┌─── reply to message (920616527919726612)
Kourinn Dec 15, 2021 1:05 PM
Where does "if unfrozen longer than 2s, tdecay is 0" come from? We also need to convert durability to gauge.
phaZZi Dec 15, 2021 1:15 PM
stupid formula suggestion for the t_frozen equation part with gauge units:
sqrt(
  20 d_frozen + 25 (t_decay + b)²
) / 5

=

sqrt(
  (20 d_frozen + 25 (t_decay + b)²) * 1.25
) / 5 / 1.25²

=

sqrt(
  25 d_frozen + 31.25 (t_decay + b)²
) / 7.8125

=

sqrt(GU_frozen + 31.25 (t_decay + b)²)
 / 7.8125

in the end itd be
sqrt(GU_frozen + 31.25 (t_decay + b)²) / 7.8125 - t_decay - b

idk if that looks nicer, obivously you could also just replace 20 d_frozen with 0.8 GU_frozen
(edited)
┌─── reply to message (920662850891030528)
phaZZi Dec 15, 2021 1:22 PM
also confused where that statement comes from
Kourinn Dec 15, 2021 1:39 PM
Myth busted: https://imgur.com/a/KNRdTI2
timestamp    Status    Cryo Durability
00:00:00:59    Frozen    50
00:00:04:15    Frozen    50
00:00:07:32    Frozen    50
00:00:10:45    Unfrozen
00:00:13:42    Frozen    25
00:00:15:58    Unfrozen

Unfrozen for 2.950s.
Next freeze duration: 2.267s.
Expected for 0 t_decay: 3.483s.
myth busted 2s tdecay reset
ElliMiku Dec 15, 2021 2:02 PM
I'm not sure where I had it from, but clearly I must have misunderstood something
┌─── reply to message (920629664853135420)
ElliMiku Dec 15, 2021 2:03 PM
Fixed lol
┌─── reply to message (920665473866145824)
phaZZi Dec 15, 2021 3:22 PM
do you think this is helpful or just leave it out?
ElliMiku Dec 15, 2021 3:53 PM
I'll look at it in detail later~
ElliMiku Dec 15, 2021 4:35 PM
Ok yep I need to look at my write-up doc and change some things (bc I assumed that freeze decay resets after 2 sec unfrozen, idr why)
I think formula in GU is helpful, will add it.
Also adding the "kinematic approach" part and mentioning the previous ticket.
ElliMiku Dec 15, 2021 5:00 PM
Finding: The duration of repeated freezes can be described by the following formulae:
t_decay = 
   sum(
      max(0, t_frozen_i - a * t_unfrozen_i)
   ) over all previous frozen and unfrozen instances i

t_frozen_(i+1) = 
    sqrt(20 * d_frozen + 25 * ( t_decay + b)²)
    / 5 - t_decay - b
 

The variable t_decay is just needed for the calculations. If t_decay would be negative it “reset” to zero.

The freeze duration in seconds is equal to the second formula. The value d_frozen is in elemental durability and is equal to twice the minimum of the cryo or hydro gauge when freeze is triggered.
This is derived form the "kinematic approach":
durability_frozen(t) = 
   durability_frozen0
 + (decay_velocity0 + decay_velocityBase) * t
 + 1/2 * decay_acceleration * t²

where

decay_velocity0 = 
   min(0, decay_acceleration * t_decay),

durability_frozen0 = 
   2 * min(durability_hydro, durability_cryo),

t_decay like before

And then solving for t (generic solution to quadratic equation). This was done in a previous ticket. https://tickettool.xyz/direct?url=https://cdn.discordapp.com/attachments/866091819946344458/901006429228498964/transcript-freeze-extension.html

For the frozen durability in GU the formula is:
t_frozen = sqrt(GU_frozen + 31.25 (t_decay + b)²)
 / 7.8125


The parameters I found are a = -1.87 ± 0.01 and b = 4.09 ± 0.02, while the datamined values are a = - 2 and b = 4. Data analysis form various people are consistent with b = 4 and a being between 1.8 and 2.0

___
(edited)
ElliMiku Dec 17, 2021 3:43 PM
so all good now
┌─── reply to message (921427297058312213)
Reens Dec 17, 2021 11:09 PM
Ready for this to be closed for review?
┌─── reply to message (921539754577788949)
ElliMiku Dec 18, 2021 5:59 AM
yep! I don't own the ticket, can u close it?
┌─── reply to message (921642763412451359)
Reens Dec 18, 2021 5:59 AM
Gotcha
Ticket Tool BOT Dec 18, 2021 6:00 AM
Ticket Closed by @147571130943799296
Support team ticket controls
┌─── reply to message (921642763412451359)
elijam Dec 18, 2021 6:38 PM
for future reference you can close tickets even if you don’t own them, no I don’t know why
ElliMiku Dec 18, 2021 7:14 PM
seems abuseable, but ty
elijam Dec 23, 2021 6:49 PM
if nobody does this by tmrw I'll bite the bullet
Aluminum Dec 23, 2021 11:42 PM
it's not that bad
just notation wise a bit verbose for my tastes.
elijam Dec 24, 2021 12:23 AM
wanna explain it to me then
┌─── reply to message (923732703264772198)
Aluminum Dec 24, 2021 1:53 AM
how much do you already know?
elijam Dec 24, 2021 1:53 AM
I used to understand the first ticket related to this but then I forgor it all so
┌─── reply to message (923755256251318284)
Aluminum Dec 24, 2021 2:19 AM
So the basic gist of it is that unlike normal gauges, which do a duration calculation to set the initial decay that stays the same, Freeze starts off at the same decay rate regardless of initial gauge.

Then it has some acceleration stuff that can be seen in the pin.

Solving for duration gets you the equation with the square root. And then we fiddle with the two unknowns, (a) which relates to the recovery acceleration in terms of the decay acceleration and (b) which relates to the starting decay, to come up with as best a formula for freeze duration as possible.

The full write up by EllliMiku is a good read with a broad approach https://docs.google.com/document/d/1JJTGJzIUdIKUCEK-SxWECSyWcBmMK3tzLnjmkVimzys/edit#
Freeze Extension Data Analysis
Freeze Extension Data Analysis By ElliMiku#5071 Purpose The goal of this document is to provide an explanation of what exactly I did in the freeze extension ticket, why I did it and what were the results. Overview A lot of people participated in the data collection for the freeze extension tic...
┌─── reply to message (923722437806411792)
srl Dec 24, 2021 2:23 AM
is there really a need for that giant formula… (edited)
┌─── reply to message (923762719960760330)
Aluminum Dec 24, 2021 2:29 AM
It's "solving an equation" so to say. The game itself probably only cares about the relatively simpler "kinematic" description.
Aluminum Jan 12, 2022 5:39 PM
I'll give this a Verify from me
srl Jan 12, 2022 5:52 PM
technically verified from me as well (if acceptable)
Longing Jan 13, 2022 6:30 AM
ahhh math
i'll skip this one
Kourinn Jan 16, 2022 2:39 PM
@Aluminum

Since this is in "Ready For Publishing," should it have evidence and general finding added to TCL? If so, I am up for doing that later today.

I don't see egt-rewrite channel anymore, is there progress on the advanced guide? I don't see it on TCL.
(edited)
NZPIEFACE Jan 16, 2022 5:20 PM
what happened to the channel
┌─── reply to message (932282858557554739)
Aluminum Jan 16, 2022 7:15 PM
Sorry, I haven't been so active since I'm still a bit sick. This should go in to the freeze section of transformative reactions.

It's already added to the advanced guide by srl, the advanced guide is not in the TCL though.
I'd say to include both the formula described as simply as possible as well as a "kinematic description" with words that I pinned. The TCL is using U instead of durability though so there's a bit of translation to be done.
Ticket Tool BOT Feb 6, 2022 4:17 PM
Transcript Saving