How Does Jump Fatigue Work in Fortnite?

How Does Jump Fatigue Work in Fortnite?

January 4, 2020 9 By Bertrand Dibbert


I was messing around in creative the other
day to get used to a new keybind, and I started practicing my 90s. I did the standard 3-story 90s with a ramp
out first, and then I started trying out some infinite 90s. First I did no-jump 90s to reset the jump
fatigue, but then I decided to try out infinite jumping 90s. I had seen these before in edit-course speed
runs, and I initially saw the technique used in a Reddit post by user “dyllancrazy”. As I was doing them, I started thinking a
bit about why this technique is able to reset jump fatigue in the first place. Now, obviously, the reason this works is that
on the jump where you normally would have jump fatigue, you wait just long enough for
it to reset. I was a little bit more curious on the details,
though, and so I did a quick Google search, but I wasn’t able to find any information
on how jump fatigue worked on a granular level. So, I decided to do a little bit of research
myself. First, I recorded a quick clip of myself doing
a single jump. Then, I went into my video editor and counted
the frames that I was in the air. For reference, I counted from the first frame
my environment shifted, to the first frame before my environment stopped shifting. I ended up with about 53 frames. Since my recording was done at 60 frames per
second, that meant that my jump was approximately 883ms long. To test this, I created a simple macro for
one of my mouse buttons that would trigger space once every 883ms. Then, I went into the game, and held down
the button to see if I would get frame-perfect-ish jumps immediately out of a full jump. Sure enough, the macro worked. I then used this footage to find the duration
of the first jump fatigue jump using a similar method as before, and got about 45 frames,
or approximately 750ms. I created another macro that would now jump
four times: first two full jumps, followed by the jump fatigue jump, followed by one
more jump. And once again, I tested this in game to make
sure that the last jump was tight enough to trigger jump fatigue, but late enough to actually
cause my character to jump. Now, it was time to figure out how long I
would have to wait before resetting jump fatigue. I updated the wait duration before my fourth
jump in my macro, and then performed some loose binary searching of values, and landed
on adding about 250ms of wait to reset jump fatigue. I did a final test in game, just to be sure,
and as expected, jump fatigue was reset after the third jump. I repeated this process for the second jump
fatigue jump, which is noticeably shorter than the first jump. The jump was about 38 frames long, or approximately
633ms. After updating my macro to now support 5 jumps
and testing to make sure that I triggered full jump fatigue like before, I tried adding
the same amount of wait as before, 250ms. Upon testing, however, my jumps were still
fatigued. I then repeated the binary searching process,
and landed on 350ms of wait. After a final test in game, I was able to
confirm that jump fatigue would reset. So at this point, we know that after the first
jump fatigue jump, you must wait 250ms to reset jump fatigue. After the second, you must wait 350ms. What’s interesting here, is that the amount
of time you have to wait seems to increase. However, when you factor in the duration of
each jump, you actually get a roughly similar time: 750ms + 250ms, and 633ms + 350ms, are
both roughly 1000ms, or, one second. Seems like a trend. I did one last test with the third jump fatigue
jump, and the trend continued. The jump was about 32 frames, or approximately
633ms, the reset wait time was about 450ms. In sum, the total reset time was again, about
a second. Conclusion: jump fatigue resets about 1 second
after you initially began jumping. Up until this point, I have tested jump fatigue
from a clean slate each test. To verify that my timing always holds true,
even after coming out of previous jumps, I updated my macro to repeat when held. If jump fatigue still reset in the same way,
even after going straight into a new set of jumps with no extra wait time, then it would
be reasonable to assume that resetting effectively gave you a clean slate each time and is all-or-nothing. I tested this in-game of course, and yep,
after each reset, the timings were independent of each other. Conclusion: you cannot partially reset jump
fatigue, if it resets, it fully resets. I know from seeing a post on Reddit by user
“Bumpaah” from a while ago, that jump fatigue seems to, or had least previously
been affected by frame rate. To double check this, I simply changed my
in-game frame rate from 144fps to 60fps, and tested my macro again. Interestingly enough, this actually had
a slight impact on the reset timing. Instead of fully resetting jump fatigue, at
60fps, the jump that was supposed to be a full jump, ended up being some sort of weird,
stuttery, half-jump mess. To try and correct this, I went out on a limb
and added 20ms, which is slightly more than the duration of 1 frame at 60fps. After testing the macro again, this small
correction seemed to do the trick. I decided not to test an uncapped framerate,
because I figured the way my fps would change while doing so would be too hard to keep track
of to find any reasonable patterns or trend. Conclusion: Jump fatigue is kind of affected by FPS My own theory is that because at lower frame
rates, time has to be processed in larger chunks. The possibility for a frame where jump fatigue
is simultaneously “done” and “not done” at the same time is more likely. So, that’s it, that’s – at least as well
as I can observe in about an hour of my time – how jump fatigue works. In summary:
Jump fatigue begins after jumping twice and starts at the beginning of your second jump.
Jump fatigue resets if you wait about 1 second after the start of your last jump.
Jump fatigue either resets in full, or doesn’t, you cannot partially reset jump fatigue.
And finally: FPS has minor effects on jump fatigue although how this works is not entirely known. Thanks for watching!