Movement is very important in A Link to the Past speedrunning. Learn how to move your elf~
A more advanced analysis on how the game updates Link's coordinate during movement can be found on Subpixels.
- 1 The Basics
- 2 Stair Mechanics
- 3 Pumping
- 4 Door Mechanics
- 5 Statue Mechanics
- 6 Ledge Mechanics
Generally Link's movement follows a different pattern or sequence according to where and how you move.
When moving in cardinal directions, Link moves at an average speed of 1.5 pixels per frame, where he alternates every frame between a 2 pixel speed and a 1 pixel speed (2px,1px,2px,1px,2px,etc. frame-by-frame). Link's patterns of cardinal walking always start on the 2 pixel speed when he's walking north or west, and on the 1 pixel speed when walking south or east, which is important to note in order to understand techniques used to optimize Link's walking speed. Additionally, this quirk of Link's movement patterns being mirrored N/W vs. S/E is constant throughout all of his walking patterns, as you'll see below.
Walking movement is slowed to 1.25 pixels per frame, with a pattern of 2px,1px,1px,1px N/W (1,1,1,2 S/E) when charging his sword, carrying an object, or walking through tall grass or shallow water. While carrying an object, Link's normal walking speed can be regained by touching the edge of a pit or hole in the floor, by touching a crystal switch, or by jumping a ledge.
When moving diagonally, Link moves 1 pixel along both the x- and y-axes. For example, if he is walking northwest, he is moving 1 pixel upward and 1 pixel to the left per frame. Diagonal movement is slowed to .8 pixels/frame when charging his sword, carrying an object, or walking through tall grass/shallow water (1-1-1-1-1-0 pattern).
When dashing cardinally, Link moves 4 pixels per frame. This is slowed to 3px per frame if dashing through shallow water or in tall grass. If dashing along a diagonally slope or wall, Link's movement can be quite random (at least for real time play), but it will average around 2.5px per frame along both axes.
It takes Link 30 frames to start a dash, which makes dashing slower than walking within a distance of around 4 and a half tiles cardinally. This rule can be complicated some by whether you need to move diagonal (walking becomes more efficient) or if there are enemies or bushes in your path (dashing becomes more efficient).
During the dash-charging animation, Link can change the directions he's facing. This is known as a Dash Turn, and is useful for Keydashes and certain precise tricks where you may want to change Link's direction without moving.
Dashes can be cancelled with any dpad input other than the cardinal direction that Link is facing in for the dash. If Link is dashing north (or ) will cancel but ( ) will not. An exception to this is made if Link dashes so that he brushes past a pit or hole in the ground. In these cases, even pressing the direction of the dash will cancel.
Ordinarily Link is able to use his sword and other items 1 frame after cancelling a dash. This window is extended to 4 frames if Link has dashed through an enemy.
If Link dashes or walks into the corner of a wall, or the very beginning of a slope, you will get what we call nudging. The game sees that Link is "close enough" to move on further, but wants to adjust Link's position to be completely cleared of the wall first. This is done by moving Link 1px/f until he has cleared the corner. So it's almost always better to walk until you have cleared the corner completely, than to move into the corner.
Non-Automatic Stairs and Ladders
These are stairs where the player is still in complete control of Link's movement while he's on them. These have an altered movement pattern compared to normal ground, (1,1,1,0 going North and 0,1,1,1 going South). On stairs where you're not sandwiched by walls and free to move diagonally, it is important to know that unlike normal ground movement, moving diagonally does not alter cardinal movement patterns (movingyou'd still get 1,1,1,0 movement along the Y-axis, the same as if you were just holding ). This makes diagonal movement on these stairs extremely efficient.
Dashing gives a slightly slower movement pattern, however, if a dash is started on stairs, the first frame of movement will be a 4px frame, followed by the usual pattern. Dashing is almost always slower going north because of having to wait for the dash charge timer for a similar movement speed, and also because the player is unable to use pumps (see below). Sometimes it can be faster going south though, especially if the dash also travels some normal ground and if the dash can be conveniently started on the stairs for the 4 px frame.
Unlike normal ground walking, holding a sword charge or carrying an object above Link's head will not slow his movement down from the default speed.
These stairs are important in the use of the Superspeed glitch.
These are stairs commonly found indoors. When Link enters them, the player has no control over his movement while he climbs or descends them. When entering them, it is important to snap in cardinally. If you nudge against them with a diagonal input, Link will be slowed down some.
These are also used for Stair Clip glitch.
This is a technique that optimizes Link's walking pattern. When walking cardinally to the west or north, Link's movement begins on the 2 pixel speed, and changes to the directional input will reset his movement speed back to the beginning of the sequence. Therefore, if walking north or west along a wall, you can mash diagonals into the wall to repeatedly reset Link's movement to the 2 pixel speed and avoid the slower 1 pixel speed in the sequence. Perfectly optimal wallpumping can get Link to move at a constant rate of 2 pixels per frame, which is quite the improvement over his usual 1.5 pixel per frame walking speed. However, humans cannot wallpump fast enough to accomplish that, so for real time play, this is more of a frame-saving technique.
Another technique to optimize Link's walking patterns. When walking diagonally to the north or west and at an angle of less than 45 degrees, you can mash diagonals into the air to boost pixels. Like wallpumping, this is a frame-saving technique in most instances, due to human limitations on mashing.
It is important to note that if you need to move at a perfect 45 degree angle, just holding diagonal is faster than airpumping. Remember to only use it if the angle between Link and your desired location is less than 45 degrees.
While walking on a staircase or ladder in which you still retain control of Link's movement, you can pump diagonals when walking north on them. The normal animation for climbing stairs/ladders contains a lot of 0 pixel per frame movement, so pumping these ladders to avoid such frames is very important. Even if you do no other pumping, you should incorporate stairpumping into your movement, since it saves more than just a handful of frames in the areas it's used in. For example, stairpumping saves around 3 seconds on the screen outside Eastern Palace while going to the dungeon.
When walking east or south, Link's movement begins on the 1 pixel per frame speed of his animation. This means you do not want to reset his walking speed by wallpumping, airpumping, or stairpumping. But this even has more implications than that: you always want to avoid altering your input while moving south or east, as any alteration can slow Link down by resetting the movement sequence. Generally speaking, if you're moving south or east, you want to minimize the number of inputs you use to do so.
Corner Nudging in Doorways
When walking through a door, you should try to enter it with perfect alignment. Entering a door off-center requires the game to auto-correct your movement into the door, and said auto-correction is very slow. It moves Link at 1 pixel per frame on the axis of the door, and 0 for the other axis. Example: If you are too far left entering a door upwards, the game will move you right for 1 pixel per frame until Link is aligned. This is especially noticeable while dashing, as the 0 pixel per frame movement of the game correcting you through the door contrasts strongly with the 4 pixels per frame movement you should be getting.
While in a doorway, you can wallpump against the walls inside. This works the exact same way as wallpumping, and note that you should only do it in doors that you walk through facing north or west. Also note that you can pump on both sides of a doorway, unless the door locks behind you, in which case you can only pump when entering.
An exception should be made for this when walking through west-facing locked doors. About a third of the pixels in the doorway will antipump you rather than boost pixels, so you might end up losing frames.
Diagonals and Doors
When moving alongside the walls just outside of a doorway, using diagonals will slow Link down from his usual 1.5 pixels per frame to 1 pixel per frame. This should always be avoided by using perpendicular inputs when entering doorways.
An exception is made for this rule with stair doors, where you are free to move diagonal against them without being slowed down.
Bastard Doors are east and west-facing doors that will slow Link down to 1 pixel per frame if a certain direction is held out of them. Bastard doors vary in what their bastard condition (input that gets the speed reduction) is, but the bastard condition can always be avoided, even if it sometimes requires seemingly counter-intuitive inputs. Every east/west facing door will give slowdown on the cardinal up and down directions, which is different from the way north and south doors work (you can hold left or right in them and be fine). Some of these doors will also give slowdown on diagonal directions. For more information, including a list of all these doors found in the NMG category, visit the Bastard Doors page.
These are doors that were closed (requiring some condition such as defeating all room's enemies or pressing a switch to open them) or blocked by a bombable crack in a wall. Unlike normal doorways, Link cannot control his movement while in them. They suck him through to the next room automatically.
When coming into a room out of a spiral staircase, Link's first movement needs to be to the right or the left. If it's down, then Link will do a stutter for about 7-8 frames, called stairlag, before gaining his full movement speed. This should always be avoided by holding directly left for at least 1 frame or directly right for at least 2 frames when exiting these types of doors. You can then transition to diagonal or straight down without any lag.
Note that this does not apply to straight staircases, such as the one coming into the throne room of Hyrule Castle, and it also does not apply if you want to dash south out of the stairwell, as the lag frames only apply to walking movement.
Statues have some weird mechanics to them.
First of all, you should know that pushing (cardinal px/frame pattern of 1,1,1,0) a statue is much, much faster than pulling it (pattern of 1,0,0,0), so obviously avoid that whenever you can. Also, you can (and should) push a statue with a diagonal input held to completely eliminate the 0px frames. A lot of players may assume this is pumping, but it works very differently. Spamming input isn't necessary to get the speed increase. All you have to do is hold diagonals while pushing and you'll get a constant 1px/frame speed along both axes.
Pushing a statue is even faster if you have a sword charge held, however, this has limited use since it doesn't gain enough frames to make it worth slashing and releasing a spin.
If Link approaches a ledge normally, it will take 20 frames of holding a direction against the ledge before Link will jump. It's important to know that changing the direction you're holding during this 20 frame countdown will completely reset the countdown, so be sure you stick with whatever direction you're holding until Link has jumped.
A Quick Hop skips the 20 frame countdown that normally occurs when Link tries to hop a ledge and can be performed after receiving the Pegasus Boots. You will automatically quick hop if you are dashing or if Link is in the Superspeed glitched state (whether he has superspeed or not). To do a quick hop while walking, press when Link is up against a ledge in which he can jump down.
There are a few caveats to quick hopping, it cannot be done off of a north facing ledge when Link is facing north. To do a quick hop here you can use a diagonal to get Link lined up on the north facing ledge while still facing east or west. Also there a few places where this same thing applies to a south facing ledge, such as the first area in Thieves' Town. The way to tell is if Link grabs the ledge instead of jumping off when pressing.