Difference between revisions of "Fluttering"
Brooklyn9d5 (talk | contribs) (→Perfect Flutter) |
(→5-4 Skip File: 5-4skip4.png) |
||
(84 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
__FORCETOC__ | __FORCETOC__ | ||
− | |||
− | |||
− | |||
− | |||
==Perfect Flutter== | ==Perfect Flutter== | ||
− | [[File: Perfectflutter.gif|right|thumb|250px|Perfect Flutter]] | + | [[File: Perfectflutter.gif|right|thumb|250px|'''Perfect Flutter]] |
− | Normally, a flutter is done by simply pushing the jump button and holding it until a flutter begins, however, this method does not give you maximum height. What you want to do instead is, release B at the | + | Normally, a flutter is done by simply pushing the jump button and holding it until a flutter begins, however, this method does not give you maximum height. What you want to do instead is, release B at the peak of your jump and then, as quickly as possible, repress it to do a perfect flutter. Doing this will allow you to gain a few extra pixels of height. You have a 3 frame window to do a perfect flutter, assuming that when you release B, you repress it on the next frame. Some places are more lenient, like 2-4 for example, where you have 5 frames and some may be more strict. (more testing needs to be done) |
They can be used to access several areas that are otherwise too high to reach, such as: | They can be used to access several areas that are otherwise too high to reach, such as: | ||
− | *The area above the !switch in [[ | + | *The area above the !switch in [[2-4_Any%25|2-4]]. |
− | *The last room of the bottom-right room in [[ | + | *The last room of the bottom-right room in [[4-4_Any%25|4-4]]. [https://youtu.be/M8HQWV7Y3bI?t=1m52s] |
− | *Traveling over the stone column in [[ | + | *Traveling over the stone column in [[6-4_Any%25|6-4]]. [https://youtu.be/K1qSJ23mQ7k?t=1s] |
− | *After obtaining the key in [[ | + | *After obtaining the key in [[6-6_Any%25|6-6]]. [https://youtu.be/mMUuLs5EDo0?t=33s] |
The gif demonstrates how a normal flutter does not give you enough height to reach the ledge and then how a perfect flutter allows you to just barely make it with the extra height. | The gif demonstrates how a normal flutter does not give you enough height to reach the ledge and then how a perfect flutter allows you to just barely make it with the extra height. | ||
==Extended Flutter== | ==Extended Flutter== | ||
− | [[File: Extendedflutter.gif|right|thumb| | + | [[File: Extendedflutter.gif|right|thumb|250px|'''Extended Flutter]] |
An extended flutter is performed by bouncing on an enemy and then holding B. There are a couple ways to get the most height out of an extended flutter: | An extended flutter is performed by bouncing on an enemy and then holding B. There are a couple ways to get the most height out of an extended flutter: | ||
− | + | 1. Hold B just before bouncing on the enemy to get a big bounce. Not holding B results in a much smaller bounce. <br/> | |
− | + | 2. Release B and manually initiate the flutter around the peak of the bounce, rather than just waiting for an automatic flutter. This is sort of the same idea as the [[Fluttering#Perfect Flutter|perfect flutter.]] <br/> | |
− | + | 3. Follow the extended flutter up with a manual flutter to gain a bit more height. | |
− | Extended flutters are used in many levels to reach otherwise unreachable areas like in [[ | + | *Extended flutters are used in many levels to reach otherwise unreachable areas like in [[1-1_Any%25|1-1]] to [https://youtu.be/ICAg6VxRvs0?t=15s skip the beanstalk] or in [[6-4_Any%25|6-4]] to travel over the stone column, skipping the need for a key. |
+ | *Extended flutters can also be stored via a [[Movement#Perfect_Jumps|perfect jump]] [https://youtu.be/7H8h1W9dZAk?t=9] or by bouncing on a !switch to allow for extra height [https://youtu.be/HnOY2wMhhoI?t=4164] | ||
− | The gif demonstrates an extended flutter, followed by a manual flutter | + | The gif demonstrates an extended flutter, followed by a manual flutter as part of the Warpless route in 6-4. |
− | ==Sustained | + | ==Sustained Fluttering== |
− | {{#ev:youtube| | + | {{#ev:youtube|OiOUKrAizpA|250x170|right|'''6-4 Lava skip |frame}} |
− | {{#ev:youtube|KOiRNhk_l4U| | + | {{#ev:youtube|KOiRNhk_l4U|250x170|right|'''Optimized Lava Skip|frame}} |
− | Flutters can be chained together indefinitely so that Yoshi does not lose height. This is only used when needed such as the [https://youtu.be/MUYwwBLRSQg?t=34s water section] in [[ | + | Flutters can be chained together indefinitely so that Yoshi does not lose height. This is only used when needed such as the [https://youtu.be/MUYwwBLRSQg?t=34s water section] in [[3-4_Any%25|3-4]], the [https://youtu.be/LBjPnYz26m0?t=1m25s platform skip] in [[5-4_Any%25|5-4]] or the [https://youtu.be/4ZW8iCoN1qA?t=1m36s lava skip] in [[6-4_Any%25|6-4]]. Since fluttering is slower than running at full speed, you only want to flutter when it's necessary. You have a 9 frame window to maintain height but you also need to release and repress B within 1 frame to maintain height. |
− | ===Lava Skip=== | + | ===Lava Skip [[File: lavaskip4.png]]=== |
− | Lava skip saves about | + | Lava skip saves about 3 seconds over riding the log. For some people, it's too risky to do, especially with late game nerves and how little time it saves. If you skipped both mid-rings up to this point, dying means you'll have to replay the entire level resulting in multiple minutes lost. Even if you get the mid-ring just before this room you'll still lose 20-40s depending on where you fall in the lava. <br/> |
− | Doing multiple flutters over a long distance and maintaining height takes a lot of practice, but you know the saying, practice makes perfect! [[File:Flutter.gif]] | + | Doing multiple flutters over a long distance and maintaining height takes a lot of practice, but you know the saying, practice makes perfect! [[File:Flutter.gif]] |
+ | <br clear=all> | ||
+ | ===5-4 Skip [[File: 5-4skip4.png]]=== | ||
+ | {{#ev:youtube|YEImW1ndWdI|250x170|right|'''Full Skip without Shy Guy|frame}} | ||
+ | {{#ev:youtube|3CnmRBnr1gI|250x170|right|'''5-4 Any% Full Skip vs. Platform|frame}} | ||
+ | {{#ev:youtube|r3ELCOBGafU|250x170|right|'''5-4 Half Skip|frame}} | ||
+ | {{#ev:youtube|uXnmaSMWEMk|250x170|right|'''100% 5-4 Skip Tutorial|frame}} | ||
− | |||
− | The notorious 5-4 skip is by far the hardest trick in the entire game, way harder than lava skip in fact. It can take upwards of 1000 attempts to even land it once, but the time it saves is huge, making it totally worth learning. Failing the skip results in losing around | + | The notorious 5-4 skip is by far the hardest trick in the entire game, way harder than lava skip in fact. It can take upwards of 1000 attempts to even land it once, but the time it saves is huge, making it totally worth learning. Failing the skip results in losing around 25-70s depending on where you fall. The time lost is even greater in 100% due to collectibles (30-90s). <br/> |
There are 4 ways to do the skip, each one a little bit tougher than the last. (Half skip is a lot more manageable though). <br /> | There are 4 ways to do the skip, each one a little bit tougher than the last. (Half skip is a lot more manageable though). <br /> | ||
− | + | ====Any% Time Save:==== | |
- No skip (using platform): 2:27 <br /> | - No skip (using platform): 2:27 <br /> | ||
- Half skip (w/ shy guy): 1:31 (-56s) <br /> | - Half skip (w/ shy guy): 1:31 (-56s) <br /> | ||
− | - Half skip ( | + | - Half skip (w/o shy guy): 1:24 (-1:03s) <br /> |
− | - Full skip (w/ shy guy): 1:10 (- | + | - Full skip (w/ shy guy): 1:10 (-1:17s) <br /> |
− | - Full skip ( | + | - Full skip (w/o shy guy): 1:03 (-1:24s) <br /> |
Full skip saves over 1 minute in 100% and half skip saves about 40s. <br /> | Full skip saves over 1 minute in 100% and half skip saves about 40s. <br /> | ||
− | + | Some runners find using the shy guy (shown in the comparison video to the right) easier, but it loses about 7 seconds compared to just using the bats. Although it requires more total flutters, the hardest part of 5-4 skip for many people is the first long stretch of flutters, and going up to the shy guy platform allows you to end this stretch of flutters a bit earlier. | |
+ | |||
+ | Getting the bats to come down low enough for you to bounce on requires lining up your flutters in a particular way. Here is an [https://imgur.com/a/UdwUQ image gallery] that shows how to do it consistently. <br/> | ||
+ | Backup strat if the first bat does its circle early: [https://www.twitch.tv/videos/317799140] <br/> Note that this is actually 1-2 seconds faster than the standard strat but it is a bit risky. | ||
+ | Optimization for the start of the skip: [https://youtu.be/eb3NR9uY1aI] | ||
+ | <br clear=all> | ||
+ | |||
+ | ==Fluttering Frame Data== | ||
+ | |||
+ | andy_kuma, Brooklyn9d5 & Thurler investigated the frame data for fluttering. First we did some manual testing. The results can be found in this [https://docs.google.com/spreadsheets/d/1I4aXRm97Hz8FmVk4NMe1EWfWFM2wdbOoPcaVSHXCOcw speadsheet!] | ||
+ | |||
+ | Later we did automated/scripted testing via [[DLC|Lua and an emulator]]. The results are as follows: | ||
+ | |||
+ | ===Perfect Flutter From A Regular Jump=== | ||
+ | [[File: Perfectflutter_data.png|||1000px|Perfect Flutter]] | ||
+ | |||
+ | '''• Delta/frame''': the length of time that the button was not pressed. | ||
+ | '''• Green values''': an increase in height (in pixels). | ||
+ | '''• Dark green values''': enough height for the perfect flutter in '''2-4''' if you were against the wall (doing a left->right will improve your chances at getting it).''' | ||
+ | '''• Blue values''': no height lost or gained. | ||
+ | '''• Red values''': loss of height. | ||
− | + | ===Refluttering=== | |
+ | [[File: Reflutter_data.png|||1000px|Reflutter]] | ||
+ | * You need a 1 frame repress to not lose height during reflutters! | ||
+ | * There are 6 frames where you can gain height. | ||
+ | * And frames where you can keep your height. | ||
+ | * For the first and last 2 working frames, the height loss is greater if you miss the 1 frame repress. | ||
+ | * It's better to aim for the middle of the working frames because 2 frame repress reflutters wont lose as much height. | ||
+ | * DROP means that no reflutter will be initiated. | ||
− | + | ===Extended Flutter=== | |
+ | [[File: Extended_flutter_chart.png|||1000px|Extended Flutter]] |
Latest revision as of 04:08, 23 May 2024
Contents
Perfect Flutter
Normally, a flutter is done by simply pushing the jump button and holding it until a flutter begins, however, this method does not give you maximum height. What you want to do instead is, release B at the peak of your jump and then, as quickly as possible, repress it to do a perfect flutter. Doing this will allow you to gain a few extra pixels of height. You have a 3 frame window to do a perfect flutter, assuming that when you release B, you repress it on the next frame. Some places are more lenient, like 2-4 for example, where you have 5 frames and some may be more strict. (more testing needs to be done)
They can be used to access several areas that are otherwise too high to reach, such as:
- The area above the !switch in 2-4.
- The last room of the bottom-right room in 4-4. [1]
- Traveling over the stone column in 6-4. [2]
- After obtaining the key in 6-6. [3]
The gif demonstrates how a normal flutter does not give you enough height to reach the ledge and then how a perfect flutter allows you to just barely make it with the extra height.
Extended Flutter
An extended flutter is performed by bouncing on an enemy and then holding B. There are a couple ways to get the most height out of an extended flutter:
1. Hold B just before bouncing on the enemy to get a big bounce. Not holding B results in a much smaller bounce.
2. Release B and manually initiate the flutter around the peak of the bounce, rather than just waiting for an automatic flutter. This is sort of the same idea as the perfect flutter.
3. Follow the extended flutter up with a manual flutter to gain a bit more height.
- Extended flutters are used in many levels to reach otherwise unreachable areas like in 1-1 to skip the beanstalk or in 6-4 to travel over the stone column, skipping the need for a key.
- Extended flutters can also be stored via a perfect jump [4] or by bouncing on a !switch to allow for extra height [5]
The gif demonstrates an extended flutter, followed by a manual flutter as part of the Warpless route in 6-4.
Sustained Fluttering
Flutters can be chained together indefinitely so that Yoshi does not lose height. This is only used when needed such as the water section in 3-4, the platform skip in 5-4 or the lava skip in 6-4. Since fluttering is slower than running at full speed, you only want to flutter when it's necessary. You have a 9 frame window to maintain height but you also need to release and repress B within 1 frame to maintain height.
Lava Skip
Lava skip saves about 3 seconds over riding the log. For some people, it's too risky to do, especially with late game nerves and how little time it saves. If you skipped both mid-rings up to this point, dying means you'll have to replay the entire level resulting in multiple minutes lost. Even if you get the mid-ring just before this room you'll still lose 20-40s depending on where you fall in the lava.
Doing multiple flutters over a long distance and maintaining height takes a lot of practice, but you know the saying, practice makes perfect!
5-4 Skip
The notorious 5-4 skip is by far the hardest trick in the entire game, way harder than lava skip in fact. It can take upwards of 1000 attempts to even land it once, but the time it saves is huge, making it totally worth learning. Failing the skip results in losing around 25-70s depending on where you fall. The time lost is even greater in 100% due to collectibles (30-90s).
There are 4 ways to do the skip, each one a little bit tougher than the last. (Half skip is a lot more manageable though).
Any% Time Save:
- No skip (using platform): 2:27
- Half skip (w/ shy guy): 1:31 (-56s)
- Half skip (w/o shy guy): 1:24 (-1:03s)
- Full skip (w/ shy guy): 1:10 (-1:17s)
- Full skip (w/o shy guy): 1:03 (-1:24s)
Full skip saves over 1 minute in 100% and half skip saves about 40s.
Some runners find using the shy guy (shown in the comparison video to the right) easier, but it loses about 7 seconds compared to just using the bats. Although it requires more total flutters, the hardest part of 5-4 skip for many people is the first long stretch of flutters, and going up to the shy guy platform allows you to end this stretch of flutters a bit earlier.
Getting the bats to come down low enough for you to bounce on requires lining up your flutters in a particular way. Here is an image gallery that shows how to do it consistently.
Backup strat if the first bat does its circle early: [6]
Note that this is actually 1-2 seconds faster than the standard strat but it is a bit risky.
Optimization for the start of the skip: [7]
Fluttering Frame Data
andy_kuma, Brooklyn9d5 & Thurler investigated the frame data for fluttering. First we did some manual testing. The results can be found in this speadsheet!
Later we did automated/scripted testing via Lua and an emulator. The results are as follows:
Perfect Flutter From A Regular Jump
• Delta/frame: the length of time that the button was not pressed. • Green values: an increase in height (in pixels). • Dark green values: enough height for the perfect flutter in 2-4 if you were against the wall (doing a left->right will improve your chances at getting it). • Blue values: no height lost or gained. • Red values: loss of height.
Refluttering
- You need a 1 frame repress to not lose height during reflutters!
- There are 6 frames where you can gain height.
- And frames where you can keep your height.
- For the first and last 2 working frames, the height loss is greater if you miss the 1 frame repress.
- It's better to aim for the middle of the working frames because 2 frame repress reflutters wont lose as much height.
- DROP means that no reflutter will be initiated.