sobble_p completes the Flash version of A Koopa's Revenge as fast as possible in 09:26.800s. "For years the Mario Bros. & company have been stepping on koopas and goombas. Now it's time for one koopa to get revenge. Play through 16 intense levels to achieve your goal of rescuing your goomba friends and getting revenge on Mario."

Emulator and SWF Information

  • Emulator used: Ruffle nightly-2022_11_19-linux-x86_64 (through libTAS v1.4.4)
  • Emulator operating system: Ubuntu 22.04 LTS (libTAS ran through the terminal.)
  • Emulator configuration: libTAS > General options > Frames per second > set to 20 / 1. Runtime > Time Tracking > enable only clock_gettime() monotonic. Use this URL Spoof in the command-line to bypass site-lock: --spoof-url https://lambta.co/shareswfs/sharekoopa1.swf
  • SWF MD5 hash: 6fc67e06690d66fd98f49b61642cb28b
  • SWF Source: Download link to the game provided by the lambta.co webiste.

Game Objectives

  • Complete all 16 levels and make it to the end screen as fast as possible.

Comments

A Koopa's Revenge is a Flash game released in 2006 by Lambta.co to Newgrounds. You play as a Koopa in a mario-like platforming game. The game uses basic controls such as holding CTRL to run (or to shoot fire), pressing SPACE to jump (or hold with the feather power-up to fall slower), using ARROW KEYS to move, and UP to go through a door. The Koopa has no momentum in his movement, as soon as you stop moving, Koopa completely stops. The game also runs at a solid 20 FPS, which means frame-perfect inputs are easier to perform for humans. Generally, this is a pretty simple game to TAS with a few glitches and exploits that save a little time. They are provided in more detail in the stage by stage comments below. Significant details will be elaborated on.

Stage by stage comments

Bowser's Castle, Level 1

  • First thing you will notice is a jump at the beginning. This is because every level starts with a jump input automatically. You will see in the same room I break through a breakable block a little weirdly to make it through a door. This is not a glitch and is intended to reach that location, the TAS just performs it very fast.

Bowser's Castle, Level 2

  • I damage boost through a thwomp to recollect a fire-flower so I don't have to wait for the thwomp. I jump in the door entrance leading to the last room with the three thwomps to jump over the wall and over them. This saves a little time as you don't have to wait for the fall at the beginning.

Bowser's Castle, Level 3

  • Wario boss fight. I get in four hits on the first run cycle he does. Each boss takes five hits to defeat (not including the re-fights. Those takes three). After his fireball cycle I get in the last hit as fast as possible.

Mushroom Forest, Level 1

  • We get the feather powerup in this level. We wanna keep this for a very long time. The feather power-up makes you jump higher and fall slower (the slow falling amount can be controlled by how long you hold SPACE).

Mushroom Forest, Level 2

  • At the end for one frame, I die but still keep my power-up and life. This is because you can't lose your power-ups or lives after touching the flagpole at the end of a level, so I do it for entertainment.

Mushroom Forest, Level 3

  • Peach boss fight. First hit cycle, I get two hits on peach real quick. This fight is easier with the feather but its easy to lose it so we hit peach in certain ways to avoid getting hit. Second hit cycle, I get the first hit as early as possible to get three hits in, defeating her boss fight within two cycles.

Sky Mountain, Level 1

  • Nothing particularly significant to mention here. Pretty standard level besides skipping the bit wit the walls and moving platforms with the feather to save a few seconds.

Sky Mountain, Level 2

  • Very short level. That's it.

Sky Mountain, Level 3

  • I enter the first door by holding UP in front of it, allowing me to enter it without waiting for the moving platform. This saves a few seconds. Waluigi boss fight. I wait for an ice platform it to hit him. I bounce off him five times to chain hits. This can only be done with the feather power-up. At the end, I do a glitch where I jump over an invisible wall by getting the last jump off of Waluigi and using the height of the jump from him with the jump of the feather to make it over it, going out of bounds. You can see the sky mountain background if you fly long enough. Pretty funny. You don't die since the level ends automatically a little after the last hit.

Dry Desert, Level 1

  • Nothing significant to mention here. Standard gameplay with things I've previously mentioned.

Dry Desert, Level 2

  • In the room with the blue coin bridge that must be activated with a switch, I use a frame-perfect jump with the Feather to bypass the coin bridge. This saves I'd guess about 10 seconds.

Dry Desert, Level 3

  • Luigi boss fight. Jump on him until he dies.

Mario's Castle, Level 1

  • Nothing significant to mention here besides waiting for lava or obstacles to move.

Mario's Castle, Level 2

  • Boss re-fights! Wario re-fight. I get all of my hits in the first cycle... even though his death animation plays in the first cycle, you still have to wait for his fireball attack. Damn. Peach re-fight. I get the two first hits on peach in the first cycle like last time. I finish her off in the second cycle. Waluigi re-fight. I bounce on his head until he dies... again. I go OOB again for the swag, the wall pushes you back in anyways. Luigi boss fight. Again, bounce on head 'til dead.

Mario's Castle, Level 3

  • Mario. The final boss. First phase. This is mostly waiting for his hand animations so that you can hit his hands. Each hand takes five hits. Second Phase. Hit robot Mario's monster stomach. I nearly was able to get a two-cycle second phase fight but couldn't get the last hit on him unfortunately.

Other comments

I enjoyed TASing this game over the (roughly) week I was working on it. I hope you all enjoy watching it too! I was also glad to get a sub-10 run. I feel kinda embarrassed that I may have missed a few seconds wait for Waluigi in his first fight. This is mentioned in the possible improvements below. Besides that, I think it's a solid TAS.

Possible Improvements

  • The only big oopsie I possibly made is at the Waluigi boss fight where you don't have to wait for the ice platform. I noticed you could reach the hitbox for Waluigi in the re-fight without the platform but I'm not sure if you can in the original fight. Unfortunately by the time I noticed, it was already too late. It saves a couple seconds.
  • Possibly getting a two-cycle second phase Mario boss fight.

Samsara: Claiming for judging. I've removed the "Current Patch" branch, as it isn't necessary with our game version system.
Samsara: Overall, the optimization looks good within the constraints of the game engine. The only thing that stood out to me was the final boss fight, which is slower than the RTA record by a number of seconds, primarily due to the RTA run only needing two cycles of hits on the second phase as opposed to the TAS's three. This seems odd, as the TAS noticeably gets more hits on the body, but the RTA run still finishes faster. I won't claim to understand how Flash and Ruffle work, but I'll make an educated guess as to why this is happening: Ruffle.
Out of curiosity, I also took a look at the fight in the old patch WR, which also uses the same strategy and functions identically to the other RTA record (albeit with significantly better RNG). Other runs on SRC in both categories are identical in terms of the total number of hits on the body: 8. Even the runs that need 3 cycles still add up to a total of 8 hits on the body. Weirdly, there are a total of 12 hits in the TAS (judging from the number of jump sounds), so something is amiss here. Ruffle is known to have differences in collision detection from base Flash, and in at least one case it makes RTA strategies in Flash impossible in Ruffle. Given that the main difference between the old and current patch seems to be the game's own collision detection being improved, this looks like the most likely case for the RTA WRs achieving a two cycle kill while the TAS can't. In that sense, I think this is acceptable. The """"worst case"""" scenario here is that this is proven wrong by an improvement, which is so far from actually being bad that it needs at least four sets of quotes around """"worst case"""" in order to accurately convey how """"bad"""" it is.
There's also the matter of the RNG. The old patch WR gets a perfect second phase, resulting in a fight nearly 50 seconds faster than the TAS. I asked sobble_p if it was possible to manipulate the RNG mid run in any way, and the response was a resounding and wonderfully explained "no", saying the only known way of changing the RNG is to change the system time prior to starting the run, meaning the entire game would need to be replayed over and over with different system time settings to check whether or not the RNG lines up for the final fight, clearly the place where it matters the most. To me, this is far too much to require of any TASer. While it could save a full minute on a long fight, there's no guarantee that any randomly chosen system time will even guarantee a better result to begin with, and there's no way of knowing that this is the only actual way of changing the RNG. Once again, an improvement could prove this wrong, and once again, there is absolutely nothing wrong with that.
With everything else in the run being as solid as it is, I see no reason to throw it to the wolves over the possible improvements. One may not even be possible on Ruffle, and the other looks unlikely to be realized without significantly more effort than we would ever require a TASer to go through. In my eyes, it's better to have this run than to not have it, so I think we're gonna have it. Accepting!

despoa: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15629
Location: 127.0.0.1
This topic is for the purpose of discussing #7838: sobble_p's Flash A Koopa's Revenge in 09:26.80
MrTASer
He/Him
Player (232)
Joined: 7/3/2021
Posts: 147
Location: Udaipur, Rajasthan, India, God'sBeautifulWorld
At around 0:23 in the encode, isn't it possible to save time if jumping downwards in the pit instead of free falling? YES Vote
My TASing channel ; My MUSIC channel ; My SoundCloud ; My HomePage ; Music Composer ; Mr.TASer#5922 VCop 2 TAS completed, but in a completely different way ; And SMB - GAGOTO (WL) TAS COMPLETED TILL W-4 ; Some more...
sobble_p
He/Him
Active player (267)
Joined: 10/21/2022
Posts: 8
Location: New Hampshire
MrTASer wrote:
At around 0:23 in the encode, isn't it possible to save time if jumping downwards in the pit instead of free falling? YES Vote
i assume you are referring to the entrance door in the pit. if so, no. and thats because gravity in this game is linear so jumping into a fall does not make it faster than just running off of it. in this particular instance with the door and pit, jumping downwards in that spot would require you to stop for some frames to make a jump before moving again to fall downwards toward the door. its faster to just drop there. thanks for the question and thanks for your yes vote. im glad you enjoyed it!
Banned User
Joined: 4/1/2022
Posts: 122
I'll see if i can improve this...
WIP
Samsara
She/They
Senior Judge, Site Admin, Expert player (2241)
Joined: 11/13/2006
Posts: 2823
Location: Northern California
Execution looks good throughout most of the run, but after cross-referencing the RTA WRs for both old and current patches, I noticed both of them have faster Mario fights. I presume the old patch fight is significantly faster due to it being on the old patch with the jankier collision, but the comparable WR's fight is faster because it does end up getting a 2 cycle second phase. Given it's at the very end of the run, I'd suggest looking into that fight a little more. There's a possibility that Ruffle makes a 2 cycle impossible for the TAS as well, it'd be nice to have further confirmation if that's the case. Also, can Mario's pattern be manipulated mid-fight? Even if a 2 cycle is impossible, some heavy manipulation would save an immense amount of time on it, assuming it's possible.
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Post subject: System Time RNG and Quirks
sobble_p
He/Him
Active player (267)
Joined: 10/21/2022
Posts: 8
Location: New Hampshire
Samsara wrote:
Execution looks good throughout most of the run, but after cross-referencing the RTA WRs for both old and current patches, I noticed both of them have faster Mario fights. I presume the old patch fight is significantly faster due to it being on the old patch with the jankier collision, but the comparable WR's fight is faster because it does end up getting a 2 cycle second phase. Given it's at the very end of the run, I'd suggest looking into that fight a little more. There's a possibility that Ruffle makes a 2 cycle impossible for the TAS as well, it'd be nice to have further confirmation if that's the case. Also, can Mario's pattern be manipulated mid-fight? Even if a 2 cycle is impossible, some heavy manipulation would save an immense amount of time on it, assuming it's possible.
From what I have tested and have understood, RNG is determined at the startup of the game (more specifically the configured system time in libTAS. this TAS starts at the unix epoch as its the default setting). I have tested this by editing the TAS to wait several seconds outside the door to the Mario fight and the pattern seems to be the same. Starting up the TAS with a different system time in libTAS causes the peach fight to desync, suggesting that the peach fight does indeed have RNG with the flowers, which you can see if you compared the RTA WR with the TAS (the RNG is also randomized for the Mario fight). As for the second phase of the Mario boss fight... This is where it gets weird. I'm unsure how the boss hits count in the game but the TAS seems like it makes more hits on the fight but yet it doesn't defeat the boss as quickly. For example, if we were to say that every jump sound that the koopa makes on the mario's belly counts as a hit, then the stats look like this: RTA: 4 hits, 4 hits. TAS: 5 hits, 6 hits, 1 hit. But of course that assumes that's how the game counts a hit so this could be the incorrect way that the game counts boss hits. This *could* be a difference with ruffle vs. flash maybe...? or maybe I hit the boss too fast...? or maybe the boss's health is randomized...? I don't know. But for whatever reason, I couldn't get a two-cycle despite seemingly getting more hits. I'm sorry but I can't answer that question with certainty. Also, the unix epoch seed that I got for the first phase of the Mario boss fight seemed to be bad compared to the RTA WR, which is just unfortunate. I did not test RNG before I worked on the TAS, since I did not understand how it worked for this game yet. Also for mid-fight manipulation, it seems there is no manipulation that can be done. When I was reTASing this fight while working on it initially (re-recording certain parts of the fight), all the moves appeared to be the exact same, despite differences in input, amount of hits on boss, etc.. One last note with RNG seeds from my testing. In other flash game I have tested with different system times (Bomber Blastic), the RNG does appear to be determined by system time startup and nothing else. Hopefully this is some somewhat useful info to determine your judgement for this TAS Samsara. Thank you for commenting.
Samsara
She/They
Senior Judge, Site Admin, Expert player (2241)
Joined: 11/13/2006
Posts: 2823
Location: Northern California
Fantastic explanation, thank you so much!
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
sobble_p
He/Him
Active player (267)
Joined: 10/21/2022
Posts: 8
Location: New Hampshire
Samsara wrote:
Fantastic explanation, thank you so much!
You're welcome! Thank you for judging my TAS.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15629
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [5005] Flash A Koopa's Revenge by sobble_p in 09:26.80
p0008874
He/Him
Player (71)
Joined: 3/2/2022
Posts: 35
Location: Taiwan
sobble_p wrote:
Samsara wrote:
Execution looks good throughout most of the run, but after cross-referencing the RTA WRs for both old and current patches, I noticed both of them have faster Mario fights. I presume the old patch fight is significantly faster due to it being on the old patch with the jankier collision, but the comparable WR's fight is faster because it does end up getting a 2 cycle second phase. Given it's at the very end of the run, I'd suggest looking into that fight a little more. There's a possibility that Ruffle makes a 2 cycle impossible for the TAS as well, it'd be nice to have further confirmation if that's the case. Also, can Mario's pattern be manipulated mid-fight? Even if a 2 cycle is impossible, some heavy manipulation would save an immense amount of time on it, assuming it's possible.
From what I have tested and have understood, RNG is determined at the startup of the game (more specifically the configured system time in libTAS. this TAS starts at the unix epoch as its the default setting). I have tested this by editing the TAS to wait several seconds outside the door to the Mario fight and the pattern seems to be the same. Starting up the TAS with a different system time in libTAS causes the peach fight to desync, suggesting that the peach fight does indeed have RNG with the flowers, which you can see if you compared the RTA WR with the TAS (the RNG is also randomized for the Mario fight). As for the second phase of the Mario boss fight... This is where it gets weird. I'm unsure how the boss hits count in the game but the TAS seems like it makes more hits on the fight but yet it doesn't defeat the boss as quickly. For example, if we were to say that every jump sound that the koopa makes on the mario's belly counts as a hit, then the stats look like this: RTA: 4 hits, 4 hits. TAS: 5 hits, 6 hits, 1 hit. But of course that assumes that's how the game counts a hit so this could be the incorrect way that the game counts boss hits. This *could* be a difference with ruffle vs. flash maybe...? or maybe I hit the boss too fast...? or maybe the boss's health is randomized...? I don't know. But for whatever reason, I couldn't get a two-cycle despite seemingly getting more hits. I'm sorry but I can't answer that question with certainty. Also, the unix epoch seed that I got for the first phase of the Mario boss fight seemed to be bad compared to the RTA WR, which is just unfortunate. I did not test RNG before I worked on the TAS, since I did not understand how it worked for this game yet. Also for mid-fight manipulation, it seems there is no manipulation that can be done. When I was reTASing this fight while working on it initially (re-recording certain parts of the fight), all the moves appeared to be the exact same, despite differences in input, amount of hits on boss, etc.. One last note with RNG seeds from my testing. In other flash game I have tested with different system times (Bomber Blastic), the RNG does appear to be determined by system time startup and nothing else. Hopefully this is some somewhat useful info to determine your judgement for this TAS Samsara. Thank you for commenting.
This is my first experience I TASed Breakfast Brawl. PLS! MAKE THE GAME RESOURCE ABOUT RUFFLE EMULATOR FFS!
Spikestuff
They/Them
Editor, Publisher, Expert player (2656)
Joined: 10/12/2011
Posts: 6449
Location: The land down under.
p0008874 wrote:
PLS! MAKE THE GAME RESOURCE ABOUT RUFFLE EMULATOR FFS!
Already exists. Edit: Oh wait you're talking about the other thing. Here's a thing, don't ask about it as a demand, and ask civilly on the forums or Discord. Edit 2: Or alternatively since this is a complaint about System Time. Read the libTAS documentation, the actual thing you're using to create the TASes in the first place.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.