Zipping

From SpeedSouls

A Zip is a glitch in Elden Ring that allows players to traverse distance through very high velocity/acceleration, effectively teleporting a player to new locations very quickly. It is achieved by aligning certain animations through very precise inputs at specific points in the animations. Reaching a different spot happens almost instantaneously after a zip, within the next few frames.

Zips can, under several different conditions, also be vastly different in distance. We usually differentiate zips ranges between long zips that can zip a player across an entire area and small zips that only teleports players a few feet. Keep in mind that within those two “types” of zips, there can also be a lot of variation. For example the distance of the long zips appears to be based on the time passed between starting to block and the zip itself.

You should also note that you can collide with and bounce off of objects during a zip, which can be as harmless as being stopped or pushed around a wall, or as extreme as being launched high up in the sky. Something worth mentioning is that fall damage appears to be based on the height you started at, not the time you spend in the air, so such extreme bounces usually don’t kill you as long as you land somewhere not far below your starting point.

How is a Zip exactly performed?

Zips can be created by aligning some part of the walking animation with blocking.

The idle Block animation loops and during this happening, a zip can occur when some part of the walking animation is aligned with the moment the idle Block animation loops. Basically, it happens when pressing ‘Walk’ at the correct moment after holding Block.

The blocking animation loops even when you are not moving, but at a different speed. While moving, it takes about 80 frames to loop and while standing still it takes about 120 frames. All of that assuming slow walking and holding block.

To get the best possible outcome (a long zip), requires a player to have stable 16.6ms frame times (60 FPS). A player then needs to hold ‘Block’ for 133 - 136 frames and then press ‘Walk’ for 3 - 6 frames (this is believed to be at least frame-perfect, maybe even less) and input ‘Walk’ roughly when the blocking animation loops.

Timings (60fps) - Long zips

fps block walk adj block adj walk
60 136 3 136 3

Timings (30fps) - Shorter zips / less success rate

fps block walk adj block adj walk
30 65 4

Are Zips based on system performance?

Take any of these theories as total speculation, because we really don't know what's happening with the game code. But it seems like you need to hit certain animation frames at the start and end of pressing Walk for the zip to occur. If performance is variable, it would follow that hitting these frames (assuming the frame would even occur) would become more random and harder to reproduce. As per hard data points during somewhat limited testing, we have reproduced zips at 30fps (locked via RTSS), but not 28, 29, 31, or 32 FPS.

We were also able to hit zips at 60fps locked, but not 59. We suspect zipping is possible on these frame rates but they appear to be different than exactly 60fps in terms of zip timing.

Looking forward usually results in worse performance. Looking down at the ground is usually enough to reach 60fps and make zips work.