| + A /| | | d5 | | | | / | / | | | d4 | | d | | / | / | | | d3 | | | | / + B / /| | / | d2 | / | | / | / / | / / | | / | d1 | / | |/ | L---------+ x L = Link's starting position (bottom left) A = Where we hit the wall when air pumping (you can see 5 pumps in this example) B = Where we hit the wall with wall pumping method (just holding diag) d = The distance between those two points. x = The distance we move horizontally. It's also the same as B since the speed of walking diagonally is [1, 1]. d1, d2, d3, d4, d5 = Distance traveled moving straight upwards per air pump. Glossary a pump = Going from ^> to ^, and then back to ^>. You could mark ^ as the start of the pump too, but the point is that we count a pump as the full cycle. pumping hz = The rate of pumping, or average # of pumps per 60 frames. 10hz = 10 pumps per 60 frames, or 1 pump every 6 frames. pixel boost = The wrong term, but idk what term to use. In the context of pumping, this means that we somehow ended up one pixel higher than if pumping did not exist. The reason why we get them is different for wall pumping and air pumping, hence the vague definition.. We are trying to figure out how many frames it would take to air pump vs wall pump on average, and whether one method would be faster than the other. 1. We don't have to think about what happens after moving beyond A, since both methods will be wall pumping at the same speed from that point onwards. 2. When wall pumping, we start out holding diagonal for x frames (diagonal movement is 1px/f) before we hit the wall (B), at which point we start pumping over the distance d. When air pumping, we end up holding diagonal for the same amount of frames, but it's distributed throughout the room. (Same amount of /'s in the diagram.) The rest of the time is spent walking straight upwards, which is also distributed throughout the room. 3. d = (d1 + d2 + d3 + d4 + d5 + ..). When air pumping, the time spent walking straight upwards will shift A upwards the same amount. So while we spend more frames getting to the wall overall, we already covered the distance d when we reach the wall. 3. Putting this into simple equations, we spend the following amount of frames from getting from L to A. Air pumping method: f = x + d/airpumpspeed Wall pumping method: f = x + d/wallpumpspeed The first term is only looking at the frames where Link is moving completely diagonally. The second is Link moving straight upwards. Since the diagonal part is the same, and the distance traveled straight upwards is the same, the only potential difference would be if pumping into a wall was somehow faster or slower on average than pumping into air. It's easy to see that if we remove the concept of pumping, then it doesn't matter if you "air pump" or "wall pump". Both equations would become x + d/walkingspeed (or x + d/1.5). 4. To figure out the difference in speed when pumping the wall or pumping into air, if any, we need to analyze only the frames when moving straight upwards for both pumping methods. The easiest way to measure the speeds would be to find the rate of which a pixel boost can happen. We already know it's 1.5px/f without pixel boosts, so the rate of pixel boosts will tell us how much faster than that pumping would be. =============================== Air pumping speed ---------------- After holding diagonal, you get the following movement pattern when walking straight up: 2-1-2-1-.. If you go back to diagonal after an even number of frames (2-1, or 2-1-2-1, or 2-1-2-1-2-1 etc.) the average will always be 1.5px/f or walking speed. If you go back to diagonal after an odd number of frames (2, or 2-1-2, or 2-1-2-1-2 etc.) you get the following: (Formula is: (1.5 * (n-1) + 2) / n) 1 frame: 2.00 px/f 3 frames: 1.67 px/f 5 frames: 1.60 px/f 7 frames: 1.57 px/f 9 frames: 1.55 px/f .. Since there's no way to control whether you walk for an even or an odd number of frames in an RTA setting (we're just mashing as fast as we can), we can say that each time we walk straight upwards when air pumping (walking the distance of d1 for example), we have a 50% chance of getting a pixel boost. Since we only walk upwards half of the time when air pumping (the other half is spent walking diagonally, which we already accounted for in our equations), the rate of pixel boosts is 50% per half pump cycle. This is where it gets interesting though. Because different people probably have different tendencies when it comes to "how long do I walk upwards in comparison to diagonally, when air pumping?". Let's call this concept pump distribution. If it's evenly distributed, it would mean that at a pumping hz of 10 (6 frames between pumps), you would move upwards for 3f, then diagonal for 3f (repeating until you hit the wall). Since we're moving upwards for only 3f, we get in total a 50% pixel boost chance per 3f of movement, which is the same as 50% per half pump cycle, as noted above. But if you have a pump distribution which walks straight upwards MORE than you walk diagonally (i.e. it takes a longer time to repress the dpad than it takes to release it when you're pumping), then the rate of 50% chances would be lower. Example: If you pump at 10hz, but generally move upwards for 5f and diagonally for 1f, then the rate would be 50% chance per 5f, or in general terms, 50% per 83% of a pump cycle. This is a slower rate, and your average speed will be lower due to getting more spread out pixel boosts. You could probably find out your own pump distribution by recording yourself pumping with an input display, then rewatch the vod with frame advance. Wall pumping speed ------------------ You have a chance of getting a pixel boost both when you release from ^> to ^, and a chance to get it when you repress ^> again. The same frame you do these two actions, Link's subpixels will reset, and you will always get a 2px movement. Since Link moves in a 2-1-2-1-.. pattern, a pixel boost would happen if you could convert a 1px movement frame into a 2px movement frame. And we have little to no control of the exact frames we change our dpad inputs when pumping, so overall we get two 50% chances of pixel boosts during a full pumping cycle. In this case, your pump distribution does not matter as much, since we average over the full pump cycle, which includes both releasing and repressing the dpad. =============================== Result: - For air pumping: You have a 50% chance of getting a pixel boost with each half pump. - For wall pumping: You have two 50% chances of getting a pixel boost with each pump. Which is the same as 50% chance per half pump on average. So, it would seem like there's no benefit IN THEORY for either versions. The rate of getting one pixel boost is the same either way, which means that the average speed traversing d is the same as well. However, pump distribution might change the equation in favor or against either methods, as talked about in the air pumping section. =============================== RTA comments: - Since we often compare air pumping vs wall pumping in screens where you start the pumping out of a transition (like Sewer Passage), air pumping has the advantage of already mashing at "max speed" when Link starts moving, while wall pumping will need to transition into pumping at max speed in an instant to compete with that. - Even if you prefer wall pumping over air pumping, you can think about including just a few air pumps _if you're good at releasing the dpad for a short amount of time_. For example if you could employ the hover tech, which basically guarantees 1f releases, you would just add free pixel boosts as long as you transition into wall pumping without being handicapped from using a different grip initially. - Air pumping can make it easier to align with whatever comes after the pumping (like a door) sometimes. - If you get a pixel boost from a pump, you didn't really gain a pixel. And it's definitely wrong to say you saved a frame. Consider this normal walking pattern: 2-1-2-1-2. Add in a pixel boost: 2-1-2-2-1. Add them up and you'll see that they traveled the same distance over the same amount of frames. But if we wait one more frame, it will suddenly have traveled 1 pixel further (2-1-2-1-2-1 vs 2-1-2-2-1-2). In reality you need to get in two successful pixel boosts to gain a clean 1px. But gaining a clean 1px does also not mean you saved a frame. Consider the transition is 11 pixels from Link and we have the following patterns: 2-1-2-1-2-1 and 2-2-1-2-2-1. The latter gets a clean 1px ahead by getting in two pumps, but they both fall short 2px and 1px from actually entering the transition. The next frame is a 2px movement for either versions, and you ended up transitioning on the same frame. Though perhaps you will save frames during the transition or in the next screen sometimes (idk). =============================== A different perspective freq = frequency of pumps on average (10hz gives freq=6) u = pump distribution upwards (if 50/50, and freq=6, then u=3) d = pump distribution diagonal (basically freq-u) x = horizontal distance Pa = number of pixel boosts you can get when air pumping, before hitting wall at point A Pw = number of pixel boosts you can get when wall pumping to the same point A f = number of frames spent moving upwards Formulas: --------- - Pa = x/d You have to travel the distance x, which you go towards only when holding diagonal. So if x=10 and your pumping distribution has 2 diagonals per pump, you get 10/2 = 5 pumps before reaching the wall. Which gives 5 chances of pixel boosts. - f = u * Pa Every time we air pump, we walk upwards for u frames. So we just multiply them to get total frames spent walking upwards when air pumping. This is the same amount of frames the wall pumper has to pump on, before reaching point A. - Pw = (f/freq) * 2 The wall pumper starts lower on the wall, and will have f frames to wall pump before hitting point A. In that time, you can get f/freq pumps, which is (f/freq) * 2 pixel boosts due to subpixels resetting twice during the pump cycle. When Pw < Pa, air pumping is better When Pw = Pa, they are equal When Pw > Pa, wall pumping is better Examples (10hz, x=48): ---------------------- - u=1, d=5: Pa = 9.6, f = 9.6, Pw = 3.2 | The air pumper is moving quickly towards the wall, and only barely walks upwards. The wall pumper therefore gets very little time to pump (only 9.6f to get in 9.6 pixel boosts) - u=2, d=4: Pa = 12, f = 24, Pw = 8 | - u=3, d=3: Pa = 16, f = 48, Pw = 16 | It's a tie! - u=4, d=2: Pa = 24, f = 96, Pw = 32 | - u=5, d=1: Pa = 48, f = 240, Pw = 80 | The air pumper is barely moving towards the wall, and walks a lot upwards. The wall pumper therefore has a lot of time to catch up, and is able to "outpixelboost" the air pumper.