Post subject: Super Mario Flash
Joined: 3/22/2021
Posts: 5
I have finished a TAS of Super Mario Flash! The TAS will be revealed on my Twitch (https://www.twitch.tv/rayyaw) on Saturday, April 10th at 10 AM US Central time! I will post more details, as well as an input file, after the reveal! I'll probably post some notes to this thread as well. Update: reveal moved to the 17th due to IRL stuff
Joined: 3/22/2021
Posts: 5
Game: Super Mario Flash Platform: Flash Version: 3.0 (The 2.0 and other versions lack certain levels, 3.0 is the final version of the game ever released) Super Mario Flash is a flash game popular for its level editor. When it was released, Super Mario Maker did not yet exist, so this was the best way to create and share Mario levels. Within the speedrun community, the game is also famous for its brutally hard single-player built in levels. The ten levels test a player's skill and reaction time to the limit, and the simplicity of the physics has led to some extremely optimized records. Now, I have taken the optimization to a level above what humans are capable of replicating. !! Game objectives - Complete the game as fast as possible. This is defined as triggering Princess Peach's dialogue after Koopa Castle, the final level. !! Game rules - Forgoes the use of Permanent Invincibility Glitch. - Forgoes the use of [https://www.speedrun.com/super_mario_flash/guide/ey2aa | speed glitch]. - Forgoes the use of the cheats menu. While the game tells you how to access the cheats menu, the run becomes equivalent to good menuing followed by a Koopa Castle level speedrun. !! Notes - Takes damage to save time !! How this TAS was made This game is made using Flash, and so no external tools exist to TAS it, with the possible exception of [https://github.com/clementgallet/libTAS | libTAS]. However, I was unable to use libTAS with this game. Instead, I made my own TAS tool by decompiling the code of the practice hack made by ThePianoEnthusiast (available on the [https://discordapp.com/invite/b6nm2dj | SMF speedrun discord]). I added the capacity to play back a given set of inputs, but no tools such as savestates or slowdown were used in the making of this TAS. !! Changes made to the game I started with the practice tool rather than a fresh .swf of the game because of the limitations imposed by the JPEXS flash decompiler (certain expressions such as the [https://en.wikipedia.org/wiki/%3F: | ternary operator] could not compile, so they were replaced with equivalent if/else statements). Other changes made to the game include: - Adding an array of inputs that the game reads from every frame, instead of polling the keyboard. - The ability to automatically enter levels (This could not be done with the input array as Flash does not support global classes, so this fix was needed instead) - Removing collision with hammers from Hammer Bros. and Bowser (Since random number generation using Flash is not the same every time the same inputs are played, this workaround was needed to make the TAS play back with 100% consistency) - Similarly, some values that are normally random have been set to fixed quantities (for example, by giving Level 5 Bowser maximal delays, he doesn't appear at all) - Bowser in Koopa Castle was immobilized to allow the TAS to get past him consistently. !! How to run this TAS First, you should download the standalone flash player pinned in #general in the [https://discordapp.com/invite/b6nm2dj | SMF speedrun discord]. Next, open the TAS .swf with the standalone flash exe. Once you do so, you need to quickly click on "1 Player Game", then pick a character. I recommend Luigi since the timing to click on Mario is much harder. If you miss this timing, you can press control+R to try again. If Mario/Luigi walks down on the overworld and then stops moving, you timed the start fast enough. If he either doesn't move or moves down and then immediately left, you should try again. The TAS will now play itself, with no input needed, until the end of Level 5. After grabbing the axe, hold down the space bar until Mario opens the chest next to Toad. There are two more inputs required by a human to finish the TAS, both of them to enter Passage 1. (Yes, there are two levels called Passage 1, more on that below.) After finishing level 9, hold down the space bar until Mario enters the pipe. If you hear a "bonk" sound on the overworld, you did this wrong and you'll have to try again. (I know, this is quite painful, but I couldn't get Mario to enter pipes automatically without re-entering pipes immediately.) The same needs to be done for the second Passage 1. Note that you can't just buffer a space press after finishing the level/entering the pipe, as that will cause you to re-enter that same level. Personally, I use the overworld music as an audio cue to start pressing space. Once you've entered Koopa Castle (assuming you've done everything correctly), the TAS will run itself, and no further input is needed. !! Final time Using a video editor and frame counting, the final time was precisely determied to be 8:23.884 with TASvideos timing (8:21:43 using RTA timing). !! Rerecord count I did not have a way to keep track of the rerecord count since I was not using an emulator, but I would estimate that making the tools and TASing the game took about a month when put together. !! Comments The route used in this TAS was the same one used by the [https://www.speedrun.com/super_mario_flash/run/z57d54nm | speedrun world record]. Mario plays Levels 1 and 2 as small, and picks up a mushroom and fire flower in Level 3. Since we have to wait for a moving platform to be reachable, we can grab both powerups while waiting, therefore avoiding the need to slow down to do so. Fire is used until Level 9 to clear out enemies in Mario's path, saving a few seconds. In room 1 of the Koopa Castle, Mario damage-boosts past a fire bar and a koopa, saving about half a second over waiting of the fire bar to move out of the way. A mushroom is picked up in room 2, allowing us to damage-boost past another firebar in room 3, saving about 1.46 seconds. The rest of the level is played as small Mario. Both characters are identical, so picking Mario or Luigi has no impact on the final time RTA. However, Luigi is in a better spot, so he can be selected before Mario on the character select screen, saving a bit of time with reset timing. !! Stage by stage comments ! Level 1 The underground section of Level 1 was used to save a few seconds over taking the above-ground route. After leaving the underground section, Mario performs three frame-perfect jumps in a row to avoid hitting an enemy and to get a 7-block jump, saving about a second. ! Level 2 Level 2 is significantly more challenging than Level 1, since it requires Mario to slow down and corner boost. Since Mario runs at 6 pixels per frame and the first elevator platform has an early cycle with a 2-pixel window, Mario needs to slow down slightly before loading the elevator to make it onto the earliest platform, saving 0.3 seconds. If Mario jumps into the corner of a block from below, he gets pushed forward up to 7 pixels. This was used only on the block before the final pipe, since any other corner boosts would throw off Mario's pixel alignment, causing him to have to slow down more. After going through the pipe, Mario does a frame perfect koopa bounce to avoid slowing down, saving 0.3 seconds. ! Level 3 Level 3 is another challenging level, as it includes corner boosts, turnbacks to grab powerups, and platform movement. Near the start of the level, a slowdown is required to clear the pipe jump, and then a turnback is needed to obtain the mushroom. When on the platform, Mario needs to jump off from as far to the left as possible at full speed (since riding platforms is slightly slower than walking). For the fire flower grab, Mario walks over to the right side of the bricks each time, since going left would despawn the platform, costing some extra time. Mario also jumps on the flying koopas at the end of the level to skip using the platform. This was also attempted with the koopa on the first platform, however, he is too far from the platform for Mario to make the jump. At the end of the level, Mario performs a bullet jump instead of waiting for the bullet to pass, saving about 0.3 seconds. ! Level 4 Level 4 is not particularly challenging. As Fire Mario, we cannot do a corner boost under the cannon platform (our hitbox is taller, so the corner boost timing is different, causing Mario to fall into the gap after a successful corner boost). ! Level 5 Level 5 requires corner boosts, slowdowns, and platform optimization to get past. The pipe jump at the start of the level can be done faster as Big or Fire Mario, since you don't need to slow down to avoid the plants. A corner boost is used on the platform with the (?) block and again on a firebar and another (?) block before the moving platform. A final corner boost is done below the Hammer Brother. ! Level 6 Level 6 is quite challenging when done in real time, but less so when completed with TAS tools. It is possible to go under the blocks at the start (instead of the over route), however this causes Mario's pixel alignment to be incorrect, slowing down the ending stairs. A corner boost is used on the (?) block before the platform with a red koopa and a cannon. At the end of the level, a slowdown is required to get past the stairs. ! Level 7 Level 7 is another challenging level when done optimally. After the first few platforms, Mario reaches a platform with an (?) block in his path. By ducking for 2 frames, we can avoid bonking and only losing our speed. However, ducking requires Mario to only hold down (we can't hold right), so we do still lose some speed. In this level, fire is used on the three piranha plant jumps to save time, and corner boosts are used throughout to save frames. Mario once again slows down before the stairs underground, but a frame perfect koopa bounce avoids the need to slow down on the overworld stairs. ! Level 8 Level 8 is the second-most challenging level in the TAS. At the beginning of the level, a first frame jump is required to clear the koopa on the second platform. Mario has to slow down on the (?) block before the hammer brothers, and a corner boost is used after passing the koopas. Another koopa bounce is used to save 0.3 seconds compared to riding the elevator. A double koopa bounce here could save a significant amount of time, but it seems infeasible unless Mario slows down. Next, Mario spawns the horizontal and vertical moving platforms at the end of the level with a precise frame offset. By then jumping off of the vertical platform on the last frame and at full speed, and then moving right on the platform as it comes back to the left to gain a few pixels, we can jump to the final platform without needing to wait for the horizontal platform to come back, saving about 1 second. ! Level 9 Level 9 is a bit challenging, though not as much as Level 8. Mario has to turn around and climb blocks while Lakitu is throwing spinies at him. Corner boosts were used at the start of the level on the first (?) block, on the blocks after the buzzy beetles, and on the (?) block above the goombas at the end. Additional corner boosts were considered, however Mario would have to slow down to avoid dying, thus nullifying the time they would save. At the end, a slight slowdown is needed to avoid bonking on the stairs. ! Passage 1 While Passage 1 seems like a piece of cake, the first Passage 1 used requires Mario to do a 2-frame jump to get onto the brown blocks and enter the exit pipe without slowing down. ! Koopa Castle The final level, Koopa Castle, is by far the hardest level in the TAS. In the first room, Mario has to get up into the spinning block section while losing the minimum number of frames. A damage boost allows us to get past the firebar immediately, saving a few frames over waiting for the firebar to move and killing the koopa. In room 2, we encounter a moving platform with an additional challenge: We also need to grab a mushroom here to use in the next room. A frame perfect jump is used to clear the piranha pipe and red koopa. In room 3, we do a corner boost off of the blocks the hammer brothers are standing on, and a frame perfect jump was needed to clear the gap after the bullet bill without waiting for the blaster to shoot. We also take damage on the fire bar after the gap, skipping the need to slow down. A potential skip was considered here: If we can find a way over the gap to Mario's right after he enters the pipe (potentially using a bullet bounce), we would be able to skip room 4 and go straight to room 5, saving about 20 seconds. However, the gap seems too large to be crossed, even with a good bullet bill shot and optimal speed. In room 4, a slowdown is required on the red koopa platform to avoid falling off, and an extremely difficult jump on the block that the piranha plant is on avoids the need to fall into the gap and do an extra jump, saving a significant amount of time. A corner boost on the (?) block is then used to save some additional time. In room 6, we do another corner boost. Once we clear Bowser, we walk over to the princess, thus beating the game. !! Useful links Video of the TAS being played back (uncommentated version): [https://youtu.be/f-d1UCr-fAM] Video of the TAS being played back (with audio commentary from myself, rayyaw): [https://www.youtube.com/watch?v=5y9c3U2wcTY] How to run flash games: [https://www.youtube.com/watch?v=-Cr4_K53aSA] How to play back the TAS: [https://www.youtube.com/watch?v=BPBUEWY1GLw] How the TAS tool was made: [https://www.youtube.com/watch?v=YhzdfYgfTq0] My Twitch channel (has videos of the TAS development): [https://www.twitch.tv/rayyaw] The Super Mario Flash Speedrun Discord, with the links to the practice hack, original game, and standalone flash player: [https://discordapp.com/invite/b6nm2dj] My own discord, with a download for the .swf of this TAS: [https://discord.gg/9Ewpwyu] For more info on this TAS, you can DM me on Discord at rayyaw#9909. !! Other comments This TAS may be over, but I don't feel entirely satisfied with it. I did not achieve a time of 8:19 or better (RTA timing), which was my original goal when making this. While I've optimized every section of the TAS multiple times, it is possible that more timesave will be found. Currently, the most promising timesaves seem to be a double koopa bounce in Level 8 (this is infeasible by about 3-4 pixels and would save at least a second) and skipping room 4 in Koopa Castle through the use of a bullet bounce (I've tested this, and the gap seems to be too big, but it would save 20 seconds). Other than this and maybe a few frame optimizations on things like stairs in level 6 or more corner boosts, I don't see the time going much lower, even if new tricks are found. Since this is any% glitchless, it is highly likely that new tricks would be banned from this category, leading to a TAS that will (probably) never go below 8 minutes or even 8:20. I'd love to be proven wrong though! There's also another side to speedrunning this game, the any% category. Currently, the RTA world record is very unoptimized due to the difficulty of speed glitch, but this category seems well suited to TAS as Mario can gain hyperspeed and even clip through blocks if he goes fast enough, leading to a very entertaining showcase of the game. I do plan on making an any% TAS of this game in the future as well, but for now I'm taking a break from TASing this game. !! Credits Thanks to ThePianoEnthusiast for developing the practice hack Thanks to the makers of JPEXS decompiler for making the TAS possible Thanks to L2000, afnannen136, and ThePianoEnthusiast for contributing new strategies and inspiring me to run this game RTA (and later, to TAS it) Thanks to 1ted59 for inspiring me to start TASing Thanks to everyone who's supported me while I was making this TAS
Zinfidel
He/Him
Player (199)
Joined: 11/21/2019
Posts: 247
Location: Washington
I really enjoyed the commentated run! Managing this with your own TASing tools is impressive and was a fun watch. I'm hopeful that your success with TASing this flash game will lead others to try the same thing. There's a lot of good Flash content out there. A few notes for your post: The forums use bb code, so for links you need to surround them with [url] [/url] tags. You can also use the [video] [/video] tags to embed youtube videos if you want.
Joined: 3/22/2021
Posts: 5
Alright, I will definitely do that in the future! Thanks a lot for letting me know. I plan on making a TAS of this game with speed glitch eventually too!
Post subject: Any% TAS released
Joined: 3/22/2021
Posts: 5
Game: Super Mario Flash Platform: Flash Version: 3.0 (The 2.0 and other versions lack certain levels, 3.0 is the final version of the game ever released) Super Mario Flash is a flash game popular for its level editor. When it was released, Super Mario Maker did not yet exist, so this was the best way to create and share Mario levels. Within the speedrun community, the game is also famous for its brutally hard single-player built in levels. The ten levels test a player's skill and reaction time to the limit, and the simplicity of the physics has led to some extremely optimized records. Now, I have taken the optimization to a level above what humans are capable of replicating. !! Game objectives - Complete the game as fast as possible. This is defined as triggering Princess Peach's dialogue after Koopa Castle, the final level. !! Game rules - Forgoes the use of the cheats menu. While the game tells you how to access the cheats menu, the run becomes equivalent to good menuing followed by a Koopa Castle level speedrun. !! Notes - Takes damage to save time - Heavy glitch abuse. !! How this TAS was made This game is made using Flash, and so no external tools exist to TAS it, with the possible exception of libTAS. However, I was unable to use libTAS with this game. Instead, I made my own TAS tool by decompiling the code of the practice hack made by ThePianoEnthusiast (available on the [https://discordapp.com/invite/b6nm2dj | SMF speedrun discord]). I added the capacity to play back a given set of inputs, but no tools such as savestates or slowdown were used in the making of this TAS. !! Changes made to the game I started with the practice tool rather than a fresh .swf of the game because of the limitations imposed by the JPEXS flash decompiler (certain expressions such as the ternary operator could not compile, so they were replaced with equivalent if/else statements). Vexxter later upgraded this tool to display frame count, speed, and Mario's exact pixel. Other changes made to the game include: - Adding an array of inputs that the game reads from every frame, instead of polling the keyboard. - The ability to automatically enter levels (This could not be done with the input array as Flash does not support global classes, so this fix was needed instead) - Removing collision with hammers from Hammer Bros. and Bowser (Since random number generation using Flash is not the same every time the same inputs are played, this workaround was needed to make the TAS play back with 100% consistency) - Similarly, some values that are normally random have been set to fixed quantities (for example, by giving Level 5 Bowser maximal delays, he doesn't appear at all) - Bowser in Koopa Castle was immobilized to allow the TAS to get past him consistently. - Changed the visuals from score, coin count and life count to input display and frame count, pixel, and speed. !! How to run this TAS First, you should download the standalone flash player pinned in #general in the SMF speedrun discord (https://discordapp.com/invite/b6nm2dj). Next, open the TAS .swf with the standalone flash exe. Once you do so, you need to quickly click on "1 Player Game", then pick a character. I recommend Luigi since the timing to click on Mario is much harder. If you miss this timing, you can press control+R to try again. If Mario/Luigi walks down on the overworld and then stops moving, you timed the start fast enough. If he either doesn't move or moves down and then immediately left, you should try again. The TAS will now play itself, with no input needed, until the end of Level 5. After grabbing the axe, hold down the space bar until Mario opens the chest next to Toad. There are two more inputs required by a human to finish the TAS, both of them to enter Passage 1. (Yes, there are two levels called Passage 1, more on that below.) After finishing level 9, hold down the space bar until Mario enters the pipe. If you hear a "bonk" sound on the overworld, you did this wrong and you'll have to try again. (I know, this is quite painful, but I couldn't get Mario to enter pipes automatically without re-entering pipes immediately.) The same needs to be done for the second Passage 1. Note that you can't just buffer a space press after finishing the level/entering the pipe, as that will cause you to re-enter that same level. Personally, I use the overworld music as an audio cue to start pressing space. Once you've entered Koopa Castle (assuming you've done everything correctly), the TAS will run itself, and no further input is needed. !! Final time Using a video editor and frame counting, the final time was precisely determied to be 5:04.857. Note that this TAS was optimized for RTA timing, which starts on character select rather than game reset. !! Rerecord count I did not have a way to keep track of the rerecord count since I was not using an emulator, but I would estimate that making the tools and TASing the game took about two months when put together. !! Mario's HUD The top left of the screen has the name of the player who TASed that section. I (rayyaw) did Levels 5-10, and Vexxter did levels 1-4. Below that is an input display, which shows the buttons that are being pressed. The life count shows the number of frames since the game was reset. !! Glitch explanation There are three main glitches used in this TAS: - Speed glitch If Mario's hitbox is partially inside of a block (let's say he's in the right side), moving toward the center of the block (for example, by pressing left) ejects him out of the block at a high speed. Since Mario's top running speed is 6 and his top speed glitch speed is 20, this is a significant speed increase, and saves time in every level. There are two known ways of getting inside of a block: we can uncrouch at the peak of a jump, or Small Mario can grab a mushroom while directly beneath a block. Usually, we use the crouch jump method. If we need to grab a powerup, the hitbox growing method might be a better approach. There is also a third method that involves standing on a block at the top of the level, but this is never used. - Clips After getting perfect speed glitch (requires Mario to be on pixel 19 mod 20 as he performs the glitch), Mario has 20 speed. This is fast enough to clip through blocks as long as Mario remains on pixel 0 mod 20. - Zips This trick is currently not well understood, but under certain circumstances, Mario is able to teleport through blocks. This has the side effect of pushing him to the right of the screen, and with a large enough zip, Mario can go offscreen. Empirically, we have observed zips in the following two circumstances: 1. Mario is in the air, falling, and inside of one row of blocks (see explanation video). This type of zip seems to be doable multiple times in the level as long as Mario lands after each zip. 2. Mario is fully inside of blocks, on the ground, and presses up (see explanation video). Both types of zip moves Mario 1 pixel backward after the zip, resulting in us losing clip pixel. Therefore, once we do a zip in a level, we can't clip (or zip) anymore. We often use it at the stairs right before the flagpole, since it's a thick wall (zipping here saves around 0.5 seconds each time) and we don't need to zip again afterward. The one exception is if we jump into the corner of a block afterwards (corner boost), since this moves you forward 1 pixel again. !! Comments The route used in this TAS is centered around speed glitch. Since doing speed glitch as Small Mario severely restricts the number of spots we can perform it, we use the mushroom provided by the game before entering Level 1. We keep this powerup until Level 3, where doing speed glitch requires us to take damage. We pick up another mushroom in Level 4 and then take another hit to avoid slowing down. In Level 5, we pick up a mushroom and fire flower, which is kept until Level 7, which has another unavoidable damage boost when using speed glitch. In level 8, we pick up a mushroom for the final time and keep it until the end of the game. Both characters are identical, so picking Mario or Luigi has no impact on the final time RTA. However, Luigi is in a better spot, so he can be selected before Mario on the character select screen, saving a bit of time with reset timing. We weren't able to achieve a sub 5 minute time with this TAS, but I'm still very happy with the results. !! Stage by stage comments ! Level 1 In a glitchless run of this game, the underground section is faster. However, pipe transitions cancel Mario's speed, so it's faster to play the level without the shortcut. We use zips and clips throughout. ! Level 2 In Level 2, we once again speed glitch at the first possible opportunity. Since Mario's hitbox is smaller than Big Mario's hitbox as we hit the block, a mushroom spawns instead of a fire flower. After going through the pipe, we can't do speed glitch again, so we do a frame perfect koopa bounce to get to the flag instead. ! Level 3 We have to play a significant portion of Level 3 at normal speed, since the first block we can speed glitch off of is about 1/3 of the way into the level. Level 3 presents a unique challenge, as not taking damage is quite difficult. Moreover, the first leftward moving platform unavoidably reduces our speed to 19, which causes us to lose clip speed. Upon further testing, we found that it was worth continuing with 19 speed rather than redoing speed glitch, despite the timeloss from no end of level zip and needing to do the stairs slowly. This is because speed glitching again means that Mario will take damage. ! Level 4 In Level 4, we corner boost after zipping to regain the ability to zip. While the level 4 IL somehow avoids taking damage from the koopas (which would enable us to complete the level damageless, saving a few seconds), we were unable to reproduce this glitch, so we believe that it's caused by some kind of hardware error. ! Level 5 Level 5 is the first level where Mario performs speed glitch twice. To avoid taking damage from the fire bars in the middle of the level, we have to slow down. This is essential since delaying speed glitch in Level 6 and grabbing a powerup is slower than just slowing down. Since we come to a stop near a powerup (?) block, it is also convenient to grab fire here for use in Level 7. ! Level 7 In Level 7, we make use of the fire flower obtained in Level 5 to clear out the koopas at the start of the level, making it slightly faster to get to the (?) block for speed glitch. Unfortunately, a damage boost during speed glitch is unavoidable. We also tested speed glitch off the ceiling in an attempt to avoid this, but it lost too much time. ! Level 8 The speed glitch used in Level 8 uses a different method to all other levels. Instead of using the crouch jump described above, we jump and collect the mushroom in such a way that our hitbox is inside the (?) block on the perfect pixel for speed glitch. At the end of the level, the final gap is too big to cross by jumping, so we need to ride the platform across. We avoid waiting for the horizontal moving platform to move right, back left, and take it when it's going right again by doing an extremely precise platform spawn and 3 frame perfect jumps. This saves 1 second over waiting for the platform. ! Level 9 In Level 9, Mario can do zips in several different spots. However, the enemy placements mean that we have to take an extremely specific path through the level, thus limiting the number of damage boosts. Partway into the level, we go far enough offscreen that Mario is to the right of where enemies spawn, so we don't have to jump to avoid them anymore. It's interesting to note that if we make the window wider, the enemies spawn sooner and Mario will take damage. Therefore, this TAS only works on the default window size. ! Passage 1 While Passage 1 seems like a piece of cake, the first Passage 1 used requires Mario to do a 2-frame jump to get onto the brown blocks and enter the exit pipe without slowing down. In the second Passage 1, Mario performs suboptimal speed glitch rather than spend extra time setting up optimal speed glitch. ! Koopa Castle The Koopa Castle is quite a unique level. It is made out of 8 rooms connected via pipes, but with enough speed, it's possible to jump between sections, allowing us to skip rooms 3 and 5. In the first room, we speed glitch off the ceiling, zip through the yellow turn blocks, and unavoidably bonk on the pipe. Since we can't speed glitch off of the yellow blocks, it's faster to enter the pipe, speed glitch in room 2, and keep going from there. Speed glitch was also attempted for the Bowser fight but was found to be slower. !! Useful links Video of the TAS being played back (uncommentated version): https://youtu.be/1QgKkQG4XY8 Explanation video: Link to video How to run flash games: https://www.youtube.com/watch?v=-Cr4_K53aSA How to play back the TAS: https://www.youtube.com/watch?v=BPBUEWY1GLw How the TAS tool was made: https://www.youtube.com/watch?v=YhzdfYgfTq0 My Twitch channel (has videos of the TAS development): https://www.twitch.tv/rayyaw The Super Mario Flash Speedrun Discord, with the links to the practice hack, original game, and standalone flash player: [https://discordapp.com/invite/b6nm2dj] My own discord, with a download for the .swf of this TAS: https://discord.gg/9Ewpwyu For more info on this TAS, you join the Flash TASing Discord at https://discord.gg/FwjsX7P8cy. !! Credits Thanks to Vexxter for improving the TAS tool and TASing levels 1-4 Thanks to ThePianoEnthusiast for developing the practice hack Thanks to the makers of JPEXS decompiler for making the TAS possible Thanks to Vexxter, L2000, afnannen136, and ThePianoEnthusiast for contributing new strategies and inspiring me to run this game RTA (and later, to TAS it) Thanks to 1ted59 for inspiring me to start TASing Thanks to everyone who's supported me while I was making this TAS
Post subject: Explanation video
Sand
He/Him
Player (124)
Joined: 6/26/2018
Posts: 154
I watched the explanation video at https://www.youtube.com/watch?v=wzrKrAvyDZQ. Very interesting, particularly the detail about horizontal position mod 20. The technique of encoding TAS inputs into the code of the game is similar to what Typhon is doing with Nintendo Nightmare, another hard-to-emulate game.
Patashu
He/Him
Joined: 10/2/2005
Posts: 3999
Nice TAS, the hyperspeed glitch is hilarious.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Experienced player (670)
Joined: 11/23/2013
Posts: 2206
Location: Guatemala
Link to video A new TAS of this game was made not too long ago.
Here, my YouTube channel: http://www.youtube.com/user/dekutony
Joined: 3/22/2021
Posts: 5
dekutony wrote:
Link to video A new TAS of this game was made not too long ago.
Thanks for linking this, I forgot to make a post about it myself. Here's a list of the improvements to the run: - The new TAS was made on version 2.5 of the game instead of version 3.0. The levels are the same, except for the flagpoles in levels 2 and 7 being underground (as well as some other minor level layout modifications). This version was allowed for RTA runs. Since the flagpoles in levels 2 and 7 are underground, we skip 2 pipe entry cutscenes as well as 2 stair sections without speed glitch, saving 10 seconds. - In Level 8, we found that it was possible to catch the horizontal moving platform as it was coming back to the left. By slowing down to around ~12 speed (full hyperspeed is 20, running speed is 6 pixels per frame), we were fast enough to catch the vertical moving platform while also being slow enough to not overshoot the horizontal one. This skips waiting for a platform cycle, saving about 5 seconds. - In Level 10, we found that it was faster to do speed glitch again in the first room. Since there are 8 rooms, and the pipe transition in room 7 is required, the route changed from 1 -> 2 -> speed glitch to room 6 -> 7 -> 8 to 1 -> speed glitch again to room 7 -> 8. To perform this glitch, we must gain hyperspeed off of turn blocks. This is only doable if the turn block is at a height where jumping Mario can clip inside the block, but ducking Mario will not hit it (which causes it to become non-solid and start spinning). In practice, this requires the turn blocks to be at a specific height above Mario. Since the only column with a correctly placed turn block contains several blocks below it, it is necessary to hit several of the blocks before we perform speed glitch. This requires us to stand still for a few seconds, but skipping the pipe transitions still makes the level faster, saving about 6 seconds. (This also means that Level 10 is no longer the longest level, and it has been replaced by Level 5.) So, are there still ways to improve this run? I think there might be. While several theories for a faster speed glitch have been tested (and proven not to work), we can still optimize by not losing powerups and doing speed glitch earlier. If we could find an invincibility glitch that works with Big/Fire Mario, this would save significant time from earlier speed glitch. Permanent invincibility glitch is already known to work with small mario, and a clip of it with fire mario has been found ( https://clips.twitch.tv/DifferentRenownedOxFUNgineer-zK9HORlZSE_LsFFX , mario is invincible to the bottomless pit), it's still not understood. Alternatively, if a different speed glitch route can be found in level 4 that allows keeping fire (which isn't too unrealistic, the RTA IL WR does this, but we were unable to replicate it after several hours of trying), we can perform speed glitch much earlier in level 5, saving a few seconds. Also, we can save 10 seconds in the any% glitchless TAS simply by using the new version. I'm already working on this (it's not as simple as just porting the inputs over, there are some sections that can be slightly optimized, and the flagpole cutscene length seems to differ by a frame or two), but I don't know when it'll be finished yet. I'd expect a time around 8:11 or 8:12 for the new glitchless TAS. Since the podoboo hitboxes are lower in v2.5, going under the podoboo in Level 10 room 5 may be impossible damageless, requiring a powerup that costs ~1s, hence the 8:12. tl;dr: Time saved via new version that saves 10 seconds, faster ending in level 8, level 10 redone. Can still improve by keeping a powerup (via invincibility glitch or different routing). Faster speed glitch not possible.