Perform Storage, and Camera Lock with the Wind Waker. Get into a body of water, and hold Up on the analog stick. Link will begin to spin around rapidly, gaining speed with each turn. However, by holding the analog stick at a precise angle (this angle changes from superswim to superswim, but will always lie within the upper 180 degrees of the stick's range) rather than directly Up, Link's motion will become strictly back-and-forth rather than circular, allowing better control of the superswim.
Note: It is a common misconception that allowing Link to turn constantly builds up less speed than turning strictly back-and-forth. This is not true, however, because Link will build up the same amount of speed no matter how much he turns while charging.
Though the angle varies between superswims, there are a number of ways to determine it. Perhaps the most common method is by using your mini-map and altering the angle of the analog stick until you see the yellow arrow move back-and-forth. This method is somewhat limited, however, because once you leave the quadrant that you started the superswim in the yellow arrow will disappear.
This is where the second method for determining the angle of the analog stick comes into play. This method involves looking at features of the landscape around you to determine whether or not you are moving back-and-forth. Here's how it works: when holding strictly Up on the analog stick you will notice that a feature such as an island will appear on the screen in intervals. However, when you are moving back-and-forth, the island will instead appear to stay in one spot (seemingly behind you), indicating that you have found the proper angle.
Once you're satisfied with your speed, release the analog stick with Link's back pointing where you want to go, and Link will rocket backwards with the speed you attained. You can better judge where you're aiming by opening up your map.
Pressing alternate directions on every other frame while swimming will also cause Link's speed to increase linearly. This can be pause buffered or done unbuffered, although unbuffered without blackwind isn't RTA-viable.
It is possible to emulate such an affect by resetting the neutral position of the analog stick using Black Wind. If the correct analog stick angle is acquired (ess right or left), you can then mash between up and down on the analog stick to build up speed. Because this makes you pass through ess instead of neutral, this avoids the speed loss from hitting neutral.
Storage will gives you this same effect due to the way the camera works while the glitch is active.
One of the advantages of a storage-less superswim is that you do not need to worry about getting double-storage to prevent your game from soft-locking when you enter a cutscene since the camera is not locked.
Although the general trend while charging is a major increase in speed over time, Link's speed while charging does not constantly increase. Link's swimming animation occurs in a cycle, and which frame he is at in the cycle will determine what speed he will get. As a result, Link's speed will drastically fluctuate depending on which frame in the swimming animation's cycle he is currently in.
There are several ways to make superswims speed and distance more consistent in a speedrun. After releasing a superswim, you will lose two units of speed every frame. If you release too early, you will not have enough speed and will not travel far enough. If you charge for too long, you will not have enough air and will drown too soon. With this in mind, the optimal time to release a superswim for maximum distance is about two-thirds of the total charging time. However, even if releasing at around two-thirds of the total charging time, you can still get bad speed and not travel far enough. Because of this, you should start to map buffer when you see the second red flash on the air meter and look at Link's head or arms (or any other indicators of his animation cycle) in order to ensure that you will release on a frame with good speed.
The following table illustrates common frames in Link's swimming animation and the relative speed attained if pausing on these frames when beginning to buffer at the second red flash:
Note: These frames only apply when buffering at around the second red flash on the air meter. If you accidentally miss a buffer or charge for too long, you should begin to look for opposite frames where Link's head is tilted down instead.
|Image of Frame|
The following graph illustrates the correlation of frames and overall velocity for one air gauge worth of time:
The only limit to the speed you can gain is your air meter, and the positioning of the land, including things you can climb up on out of water. You can continuously refresh your air meter if you happen to swim close to the shore of an island without going on land. If you Superswim up on land, your speed is retained, and Link will run backwards. If you go off an edge or back into the water while on land, your speed will reset back to 0. With enough speed, it is possible to reach an island before it loads. Using this allows to be loaded underneath an island, similar to a Wind Waker dive.
Superswimming can be used to cross vast amounts of overworld extremely quickly (much faster than sailing).
Holding L and ESS position during a superswim greatly increases speed retention, as the speed loss per frame rises the further out the stick is held from ESS. This method lessens the need of buffering for speed, as avoiding neutral removes the massive speed loss of doing so. This allows for eventually travelling longer distances over time, and increased maneuverability since the use of ESS turning no longer requires going in and out of neutral when wanting to make angle adjustments.
A possible confusion could arise in the following video. For simplicity, all variants were shown in the same no refill scenario. It shows that buffered neutral goes farther which seems to go against what was stated earlier. While this is true in this case, it is specifically due to the lack of air not allowing for the speed loss to take effect. Note that at the end the buffered one, speed is in the low -100’s while the ESS remains near -1000. Should they had both left at full air, ESS would travel longer over time eventually. Buffering just gives higher initial speed/distance potential.
These are the swimming animation and swimming speed equations:
When you hold a stick direction, animation affects speed (this is not the case when you hold neutral). Animation position can be float values between 0 and 23 (of course modulus is unnecessary because of the cosine's frequency). The animation starts at 0 when link is low and his arms are close. Then he bobs up at 23/2 and his arms go out. Then he bobs back down and his arms go back in at 23.
Here is link's swimming animation frames:
In the graph, the horizontal axis represents the animation position, and the vertical axis represents the value the speed would get scaled by due to animation.
(only applies when holding a stick direction)
The animation position can be determined by adding the animation increment to the animation position of the previous frame. At normal swimming speeds the animation increment is small (<2). However, this is no longer the case at high speeds. The animation increment equation can be represented as a plane in R3. Animation increment is the red axis. Speed is the green axis. Air is the blue axis.
Note: When Link changes from the stick direction swimming animation to the neutral swimming animation, since neutral animation does not scale speed, in order to have continuous speed values, the scaled speed from the directional animation becomes the new true speed value. TLDR you loose speed from hitting neutral Whenever you are in the water, Link's air meter also scales Link's speed. Air starts at 900 and decreases by 1 each frame until it reaches 0 (when you drown). The next graph is an approximation where the horizontal axis is the air, and the vertical axis is the value the speed would get scaled by due to air.
Finally, the speed loss mechanics: After you finish charging speed link lose will lose speed at various rates depending on the inputs on the analog stick.