A Link to the Past
Buffering
Buffering is a technique used to either:
- Precisely control Link's movement
- Gain time to analyze or space a situation
Precise Movement Control
If a player is performing a precise trick, they may wish to move Link for only 1 frame. Players are likely to find tapping the d-pad for just 1 frame at 60fps is difficult to reliably execute. Buffering techniques allow players to more safely and consistently move Link in small increments.
Sword buffering
Sword buffering takes advantage of the way Link is immobile while slashing his sword in order to control Link's movement in subtle ways. Because of it's speed relative to most other forms of buffering, it's a valuable technique for ALttP speedrunning. There are two common ways it's used.
1 frame movements
The technique for moving one frame with sword buffering is to press the direction you want to move and then press one frame later. If properly executed, Link's slash animation will cut his movement off after a single frame of moving, giving the player ample time to release the d-pad before any extra walk frames come out.
It is important with sword buffering (and other forms of buffering) to be familiar with how Link's movement works. For example, if you're doing a trick, and you notice that you need to adjust Link's position 1 pixel north to have him in the correct spot, a single sword buffer using will never put Link 1 pixel north. This is because 1 frame of north movement will move Link by 2 pixels. In these situations, you either have to move up and then back down, of you can use diagonals to adjust Link's position. See the movement page for more information if this explanation is unclear.
This technique is useful for optimizing some of the precise tricks in an Any% NMG run (such as Hammerjump), but it's especially important for RMG and MG speedruns where precise control of Link's movement is necessary for many of the tricks.
Same frame diagonals
Another common use of sword buffering is to quickly and easily guarantee same frame diagonals. Since the d-pad isn't made up of tradition "buttons", pressing diagonals such that both directions occur at the exact same time can be challenging. Sword buffering offers a nice solution to this. Simply press to slash Link's sword and, while Link is in the slash animation, begin holding whatever diagonal direction is desired. Because Link won't move while he's slashing, the player is given 13 frames (length of the slash animation) to begin holding diagonal so that both directions are being pressed by the time he's moving again.
Examples of where this technique is useful include the bush setup for Hylia fake flippers and the final step in executing a teleport.
Dash buffering
Moving for 1 frame
Dash buffering is similar to sword buffering in this case, although the timing is different. The technique with dash buffering is to press the direction you want and on the same frame. This works because Link will not move while he's in the dash charge state.
Whether you use a dash buffer or a sword buffer can often be up to player preference, but it's recommended to be proficient with both because one may be superior to the other when factoring in context. Because is context sensitive, it can be unwise to use dash buffers in situations where a bomb is nearby (you risk picking it up) or Link is facing a wall ( will grab instead of dash). On the other hand, dash buffers can be a strong choice for certain bomb jumps due to coyote time.
Dash buffer clipping
In RMG and MG categories, dash buffer clipping is a valuable technique for clipping slopes on the overworld.
To execute these:
- Press and hold while Link is facing up or down.
- Press the d-pad direction cardinally towards the slope (so for a slope to Link's left, you'd use ) and at the same time
These are often done from specific coordinates to trigger a Teleport. On some thinner ledges, they can be used to clip fully through and access an out-of-bounds ledge hop.
Pause buffering
You can press to buffer one frame of movement or a same frame diagonal in the exact same manner as a sword buffer. This is commonly done when the player needs to equip an item anyway, which lets the player roll the equip time in with their need to buffer. If the player does not need to equip an item, opening the item menu wastes around 70 frames every time it happens.
One trap newer players may fall into with pause buffering is in treating it like Ocarina of Time or some other traditional "buffer" type mechanic. When trying to move for a single frame, you should not:
- Press to shut the item menu
- Begin holding a d-pad direction while the game is in its unpause animation
- Time pressing again such that 1 frame of the game plays out
Doing that requires being frame perfect in a 60fps game with no possibility of being early. If the player presses before player control is gained, nothing happens. Additionally the delay between shutting the item menu and being able to open it again is so long that it's difficult to connect the inputs in a rhythmic way. When pause buffering one frame movements, you'll want to do it with the same technique that sword buffering is done with. If you want more traditional buffered movements, you'll want to use select buffering.
Select buffering
Select buffering is a buffer technique that uses the save menu. Because opening the save menu wastes around 1 second every time it's done and has no other utility, this is usually one of the last options players resort to, but it has a few distinct advantages:
- It requires no other items or equipment. The only potential requirement is that the player advance past the opening game state in order to open the save menu indoors.
- If the player is early on pressing after shutting the save menu, the save menu will reopen without any logical gameplay frame. This enables a more "true" buffer like experience where the player can hold movement inputs they want, shut the menu, and then immediately reopen it. The inputs don't have to be perfect every time, and missing it frequently means just retrying.
- There's a tight spacing between shutting the save menu and being able to open it again. The rhythm of the inputs is easier to feel in comparison to trying a similar technique with pause buffering, where the delay between shutting the menu and being able to reopen it is very long.
- Because it allows buffering d-pad inputs by holding them, select buffers are convenient for executing strings of same-frame diagonal inputs.
Select buffering generally works under the following process:
- Press to open the save menu.
- Begin holding the d-pad in the direction you want to move Link.
- There's a small delay between opening the save menu and when the menu begins reading inputs. If you're moving with any of , , or , it's important to begin holding the direction before the save menu begins reading input. If you're not holding the direction in time, then any of those inputs will move the cursor to the "save-and-quit" option. If you then proceed to the next step, your button press will select the "save-and-quit" option, and you'll save and quit instead of buffering.
- Press a button that will select the "continue playing" option (the top option) of the save menu. This includes all of the face buttons and . Most players opt for or , but pick whatever is comfortable for you. After pressing this input, the save menu will close and gameplay will resume.
- Two frames after executing the above step, you want to press again to open the save menu.
- If you open the save menu one frame after closing it, Link won't move, and you can simply retry. If you open the save menu more than two frames after closing it, then Link will move multiple frames, which may or may not be costly depending on the situation.
If done successfully, Link will move a single frame in whatever direction you've used.
As a Spacing Technique
Buffering is also a term for when players use techniques to space or expand time for various reasons.
Leveraging pause time
The game's state comes to a halt whenever you open the item menu. This can be used strategically in many places, especially if the player already has an equip to use.
The player may place their item equips at specific places in the run where they can use the paused game state to understand something about a situation. This may be for analyzing Link's position, planning their next move or attack, reading enemy RNG patterns, etc.
Controlled hesitation
Many rooms in the game are on some form of cycle where it's possible for the player to move too quickly. In these situations, the player may need to hesitate to avoid overrunning the cycle. It's possible to just develop a feel in any instance this is required, but most players dislike this and prefer to look for automated setups.
For example, let's say a player will run into an enemy in a room unless they hesitate on their movement for at least 10 frames. The player may find it easier and more reliable to slash their sword and then continue with their movement. The sword slash animation will burn 13 frames, guaranteeing that the player has hesitated enough. These are also referred to as buffers.
