Submission Text Full Submission Page
This is an improvement of 18360 frames to the published glitched run and an improvement of 4494 frames to MUGG's unsubmitted, faster glitched run.
I started it immediately after I saw TASeditor's post in the Kirby's Adventure thread about a glitch he had recently found to clip through sloped hills. As soon as I watched his video demonstrating the glitch, I was motivated to spend the rest of my afternoon and night creating this improvement to the glitched run of my favorite game.

About the run

  • Emulator used: FCEUX 2.2.1 (Old PPU)
  • Aims for fastest time
  • Takes damage to save time
  • Abuses glitches
  • Genre: Platform

Room by room comments

Room 1

  • I tried and tried to improve the beginning of this level, and almost did by 1 frame, but I just couldn't manipulate those Waddle Doos to jump toward Kirby and also not use their laggy attack, so I just hand-copied the same (apparently perfect) input over.
  • I discovered a little trick to turn Kirby around right before he swallows the Mix, saving a few frames because he doesn't have to turn around after the transformation.
  • I had some trouble sliding off of the tall mesa and not taking damage from the Hot Head and losing my ability or killing it and bouncing very high (both scenarios would waste time). By sliding off the mesa at just the right frame, I bounce low enough to enter the door without wasting a whole bunch of time.

Room 2

  • Kirby moves slower on slopes, so I jump over all of them in this room and all but one in the next (you'll see why).
  • The way I puff up and spit at the Bronto Burt is the fastest I found to do it without accidentally manipulating the Sparky at the end of the room to use his very laggy attack.

Room 3

  • I jump once at the very beginning to manipulate the Hot Head to not use his laggy attack on screen (he uses it after I leave the screen, but the level doesn't lag).
  • By jumping very high over the Poppy Bros. Jr., I make the Waddle Doo jump too, preventing him from using his laggy attack and just getting in the way of the glitch.
  • You can't clip through the slope with just one jump. You need at least two 1-frame jumps, one right after the other. The first jump pushes you into the line of the slope (where the game can push you back out if it wants to), and the second one decisively puts you on the other side of the line.
  • Once Kirby is inside the slope, I turn to stone to slow his lateral movement to move him slowly into the water (so he doesn't skip right to a swimming animation) and then use the stone glitch to skip to the credits.

Suggested Screenshots

1232, 1801, 1858

Thanks to

  • TASeditor for finding, sharing, and demonstrating this clipping glitch
  • MUGG for his previous glitched runs

feos: Setting to delayed until the frame war ends and we finally have a new movie.
feos: The framewar is over, CoolKirby promised to cancel this submission in favor to the final one, I guess it won't harm is I do so while he is away.


GhostSonic
He/Him
Joined: 3/14/2013
Posts: 61
The only way to truly be sure if this works on console is to actually try and verify on console. I don't own the game so I can't go and do that. For posterity, though, here's a short list of what runs do and don't sync on the new PPU, all tested on PRG0: Orignal by CoolKirby - Syncs TASeditor 38.44 - Syncs MESHUGGAH 38.35 - Syncs MESHUGGAH 38.3 - Syncs was0x 37.39 - Syncs TASeditor 37.27 Personal note: wrong person - Syncs CoolKirby 37.26 Note: One FRAME - Crashes to a garbled screen MUGG 36.39 - Crashes to pink screen TASeditor 36.37 - Crashes to garbled screen.
MESHUGGAH
Other
Skilled player (1917)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
GhostSonic wrote:
The only way to truly be sure if this works on console is to actually try and verify on console. I don't own the game so I can't go and do that. For posterity, though, here's a short list of what runs do and don't sync on the new PPU, all tested on PRG0: Orignal by CoolKirby - Syncs TASeditor 38.44 - Syncs MESHUGGAH 38.35 - Syncs MESHUGGAH 38.3 - Syncs was0x 37.39 - Syncs TASeditor 37.27 Personal note: wrong person - Syncs CoolKirby 37.26 Note: One FRAME - Crashes to a garbled screen MUGG 36.39 - Crashes to pink screen TASeditor 36.37 - Crashes to garbled screen.
I could fix CoolKirby's run by pressing an extra L at the last frame (so it's BLR instead of BR). All I see that the game tries to execute $3C3F subroutine which is undefined and you can manipulate to load other values. In TASeditor's 36.37, the game doesn't wants to execute this address so he manipulated on the last manipulatable frame with various buttons which skips through various subroutines, so this can't be fixed the same way as CoolKirby's.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4036
That would explain it. The last two runs should have crashed if the authors hadn't have pressed Start, while the older ones were going to run to the credits anyway. I did some testing and it seems that the game will crash with a colored or garbled screen with values of 0-129 of that subroutine and jump to the credits with values of 130-255. I'm going to try and roll the credits without manipulating, but I don't know how to make sure this address rolls the credits.
MESHUGGAH
Other
Skilled player (1917)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
CoolKirby wrote:
I'm going to try and roll the credits without manipulating, but I don't know how to make sure this address rolls the credits.
You shouldn't rely on this address solely. The glitch is CPU clock* dependent (you can verify this by pressing input at 4th (1st non-lag) frame and see that the only thing changes is the cpu clock. It's possible (and I already done) to fix any runs on any PPU (for example TASEditor's 2186 frame tas on new ppu), so this isn't an issue. Don't ask me why it triggers the credit. *edit: or ppu cycle... I'm a noob
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Skilled player (1738)
Joined: 9/17/2009
Posts: 4980
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
GhostSonic wrote:
The only way to truly be sure if this works on console is to actually try and verify on console. I don't own the game so I can't go and do that. For posterity, though, here's a short list of what runs do and don't sync on the new PPU, all tested on PRG0: Orignal by CoolKirby - Syncs TASeditor 38.44 - Syncs MESHUGGAH 38.35 - Syncs MESHUGGAH 38.3 - Syncs was0x 37.39 - Syncs TASeditor 37.27 Personal note: wrong person - Syncs CoolKirby 37.26 Note: One FRAME - Crashes to a garbled screen MUGG 36.39 - Crashes to pink screen TASeditor 36.37 - Crashes to garbled screen.
Hey Ghost, in case you ever get to console verify this, it seems that the movie I tested synced well (until the crash) when I replaced the reset with a soft reset (by holding Start+Select+A+B).
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4036
MESHUGGAH wrote:
You shouldn't rely on this address solely. The glitch is CPU clock* dependent (you can verify this by pressing input at 4th (1st non-lag) frame and see that the only thing changes is the cpu clock.
Would that mean delaying the frame would change it? Or only a completely different sequence of input or events (the enemies using their attacks or jumping, for instance)?
Masterjun
He/Him
Site Developer, Skilled player (1987)
Joined: 10/12/2010
Posts: 1185
Location: Germany
CoolKirby wrote:
MESHUGGAH wrote:
You shouldn't rely on this address solely. The glitch is CPU clock* dependent (you can verify this by pressing input at 4th (1st non-lag) frame and see that the only thing changes is the cpu clock.
Would that mean delaying the frame would change it? Or only a completely different sequence of input or events (the enemies using their attacks or jumping, for instance)?
I debugged it as well and I agree that there are strange things going on. I not sure but the code basically jumps to $904A with the wrong bank loaded (?) and then executed a bunch UNDEFINED instructions and BRKs until it sometime executes a RTI and starts executing normal code (credits routine?). I decided to join this frame war so here is my 2183 frames run (3 frames faster than current). I optimized the jump through the slope which might can be optimized even more (AAAAH LAG)
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
I’m loving this frame war :) just hope the final result can be console-verified
GhostSonic
He/Him
Joined: 3/14/2013
Posts: 61
jlun2 wrote:
GhostSonic wrote:
The only way to truly be sure if this works on console is to actually try and verify on console. I don't own the game so I can't go and do that. For posterity, though, here's a short list of what runs do and don't sync on the new PPU, all tested on PRG0: Orignal by CoolKirby - Syncs TASeditor 38.44 - Syncs MESHUGGAH 38.35 - Syncs MESHUGGAH 38.3 - Syncs was0x 37.39 - Syncs TASeditor 37.27 Personal note: wrong person - Syncs CoolKirby 37.26 Note: One FRAME - Crashes to a garbled screen MUGG 36.39 - Crashes to pink screen TASeditor 36.37 - Crashes to garbled screen.
Hey Ghost, in case you ever get to console verify this, it seems that the movie I tested synced well (until the crash) when I replaced the reset with a soft reset (by holding Start+Select+A+B).
What do you mean by reset? Was there a reset in this movie? Sorry if I sound naive.
MESHUGGAH
Other
Skilled player (1917)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
GhostSonic wrote:
What do you mean by reset? Was there a reset in this movie? Sorry if I sound naive.
The TAS uses reset to skips the "how to draw a kirby" intro. I'm going to check some route change ideas and then look into MUGG's run.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
Should the reset then be replaced by a soft reset in the input file itself, to make the submission more 'pure' by using no resets?
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
Spikestuff
They/Them
Editor, Publisher, Expert player (2632)
Joined: 10/12/2011
Posts: 6437
Location: The land down under.
Masterjun wrote:
I decided to join this frame war so here is my 2183 frames run (3 frames faster than current). I optimized the jump through the slope which might can be optimized even more (AAAAH LAG)
36.383... three frames faster than:
Spikestuff wrote:
TASeditor 36.37
but slower time... someone care to explain.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Noxxa
They/Them
Moderator, Expert player (4110)
Joined: 8/14/2009
Posts: 4089
Location: The Netherlands
Spikestuff wrote:
Masterjun wrote:
I decided to join this frame war so here is my 2183 frames run (3 frames faster than current). I optimized the jump through the slope which might can be optimized even more (AAAAH LAG)
36.383... three frames faster than:
Spikestuff wrote:
TASeditor 36.37
but slower time... someone care to explain.
TASVideos uses a different framerate to calculate the time compared to what Microstorage uses.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
Patashu wrote:
Should the reset then be replaced by a soft reset in the input file itself, to make the submission more 'pure' by using no resets?
Another consideration: Runs using reset button can not be verified, but ones using soft reset button combination might be verifiable.
Mothrayas wrote:
TASVideos uses a different framerate to calculate the time compared to what Microstorage uses.
TASVideos uses 60.0988138974405fps (59561 cycles of NTSC colorburst). Microstorage seems to use 60fps exact.
Editor, Skilled player (1535)
Joined: 7/9/2010
Posts: 1319
Masterjun wrote:
I decided to join this frame war so here is my 2183 frames run (3 frames faster than current). I optimized the jump through the slope which might can be optimized even more (AAAAH LAG)
Very nice. did you just improve the slope jump part? or did you use MESHUGGA's first room improvement as well?
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Masterjun
He/Him
Site Developer, Skilled player (1987)
Joined: 10/12/2010
Posts: 1185
Location: Germany
TASeditor wrote:
Masterjun wrote:
I decided to join this frame war so here is my 2183 frames run (3 frames faster than current). I optimized the jump through the slope which might can be optimized even more (AAAAH LAG)
Very nice. did you just improve the slope jump part? or did you use MESHUGGA's first room improvement as well?
I used your movie but I guess there are more optimized WIPs somewhere in this thread
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Editor, Skilled player (1535)
Joined: 7/9/2010
Posts: 1319
Here's a one frame improvement until entering room 3.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Masterjun
He/Him
Site Developer, Skilled player (1987)
Joined: 10/12/2010
Posts: 1185
Location: Germany
TASeditor wrote:
Here's a one frame improvement until entering room 3.
I saved one frame in room 2 but I'm not sure if the 3rd room will work as fine because the last enemy doesn't like to jump... I might look into the physics of this game and understand how the slope jump works...
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Site Admin, Skilled player (1251)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Anyone knows what affects their behavior? Having a list of RAM addresses could help to figure out.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Editor, Skilled player (1535)
Joined: 7/9/2010
Posts: 1319
Spikestuff wrote:
TASeditor 2182 Frames One frame faster
I never finished this one -.-
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4036
I have to say, I'm really liking how tightly this run is being optimized. I never could've done all this debugging and such, so I'm glad that others who can utilize those methods to improve the run have done so. This is going to be one solid, hard-to-beat final run.
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
This is what makes TASVideos so great. We have a submission, others take it and improve it. I have been watching some Zelda Speedruns and those games are broke. I thought Nintendo knew how to make a game. Guess not. Mario has some broken mechanics, Zelda has bad clipping issues in their 3D games, and now Kirby, just sends you to the end of the game just because you went into some water.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Joined: 7/2/2007
Posts: 3960
I strongly suspect that no remotely-complicated game is free of game-breaking bugs. :) It's just that Mario, Zelda, et al get thousands of times more scrutiny than most other games, so their bugs are more likely to be brought to light.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Site Admin, Skilled player (1251)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Since this submission doesn't imply any judgment decision anymore (nothing to accept or reject), I'm thinking of setting it to delayed until you guys come up with something more or less final. Then as I said, there shall be a new submission crediting all the actual authors, and this one will then be canceled/rejected. What do you think?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Masterjun
He/Him
Site Developer, Skilled player (1987)
Joined: 10/12/2010
Posts: 1185
Location: Germany
TASeditor wrote:
The RNG can manipulated with jumping.
By testing I figured out that if you don't jump, the next enemy will always do the same. Then I searched RAM for a value that changes only after I jumped and I found $003E and $003F. A quick cheat test and I found out that these affect what the enemies do and thus they are the RNGs. Now how do they advance? Well, after going through a trace log I couldn't really find a simple formula for it but I wrote a lua script that calculates future RNGs. It does a lot of shifting and rotating with these two values... 11 times. And how do they determine what the enemy does? I could somewhat simplify that formula. It adds and subtracts a few values indexed by $003E and the result is a number between 0 and 3 so that there are 4 different things that the enemy can do. For example a Waddle Doo: 0 - jumping 1 - walk 2 and 3 - attack Why does jumping call the RNG? Because it is not jumping that changes the RNG, it is landing! The star that flies away from Kirby when he touches the ground can have 8 different directions. (It is determined by $003E % 8 where 0 is upwards and then it goes clockwise so that 7 is top left) The lua script can be found here. With that knowledge I went ahead and completely started a new movie but I didn't find any better routes for RNG. I could however reduce the lag for some places... only to get more lag on other places (sometimes even slowing down can remove lag frames). I ended up with a total of 2183 frames... which we already had... damn. btw, to make that movie work on the new PPU just replace the last frame by an input that presses every button except Select
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)