Table of contents
General notes
- Uses GBAHawk 2.1.3
- Documented Rerecord count - 13960
- Uses glitches and exploits to save time
- Takes intentional damage and deaths to save time.
- Note: the SHA1 does not match with the Rom. The movie file is made to sync with the US version of the game.
Introduction
"Kim Possible 2: Drakken's Demise" is the second Game Boy Advance game based on the Disney Channel show "Kim Possible" (which I have not watched). The game is a 2D platformer where you mainly control Kim with the game being split up into 4 separate chapters each with their own story. I really like this game, it's surprisingly pretty solid. I am the current RTA WR holder and I already made an Any% TAS for this game (https://tasvideos.org/9471S). I was able to beat the game in just 8 minutes by using an exploit which lets you carry over end level cutscenes into different levels and save files, allowing you to skip most of the game. However, this resulted in a very repetitive run, constantly doing the same exploit over and over again to skip to the end and avoiding a lot of what the game has to offer. Because of that, I wanted to make a TAS that actually plays through the game "normally" without skipping large chunks of the game. This is actually what my original Any% TAS was going to be until I found the cutscene storage glitch.
General game notes
- The goal of this category is to beat the game without using the cutscene storage exploit. This means that we progress through the game just like you would in a casual playthrough.
- I used the US version for this run. This is mainly because the US version has an exclusive exploit which I can best describe as "tutorial desyncs". If you pull up your gadgets menu on the same frame as hitting a tutorial, you can scroll through the gadgets menu while the timer for the tutorial plays out. This can be used to desync tutorials and it can save frames whenever it is used by cutting out lag frames. This does not work in other versions of the game which I find funny because this exploit only saves frames in the grand scheme of things while other, far bigger exploits were not fixed.
- At the start of the game, Kim is faster on the ground than in the air so I try and stay on the ground as much as I can as well as minimise air time whenever possible. In order to jump with minimum height, you weirdly have to perfectly mash the jump button a handful of times. There are times where it is faster to get a quick burst of speed with the grappling hook which is an instance where jumping is preferable.
- Starting from world 2 however, you gain access to the handspring. The handspring makes you move faster and you move significantly faster in the air, although the jump does have a bit of startup. This shakes up movement from world 2 onwards.
- On ledges, you can either climb up, fall down or jump off the side of the ledge. Climbing up ledges is slow so ideally, you want to avoid climbing in a majority of situations. You can occasionally jump off the ledge to get up although this often does not work. The other way to avoid ledge climbing is to use the grappling hook to grab onto a wall/ceiling above you which can be used sometimes. There are numerous situations where you have to ledge climb although the ledge climb is invincible and has a hitbox, so it can go through enemies, which is useful/needed in areas.
- The main ways to get past enemies is to either gum them up or to use the spring kick. The spring kick is gained in world 2 and it is performed by pressing attack while handspringing. The spring kick deals 3x the amount of damage compared to all of your other attacks so it not only takes bigger enemies out in 1 hit but it also drains boss life bars much faster so it is often your attack of choice. The height of the spring kick can also be adjusted with the jump button so you can mash jump for example to land right after landing a hit. The spring kick is quite slow however so it is not always used.
- Starting from world 3, you get the wall jump. Wall jumping is naturally needed to progress through the game but it is also very useful to climb up walls to skip sections.
- The game has a wall scale exploit. You normally cannot wall jump off the same wall more than once. However, if you start to wall jump away from a wall, turn back around to the wall and then use the grappling hook from the right distance, you can jump out of the grappling hook and then wall jump off the same wall again. This is naturally useful for various skips.
Upwarps
The way this game handles checkpoints is that when you die, the game respawns you where you last left off. However, there are numerous instances where the game does not update your checkpoints such as when you are in the air, standing on a ledge or while you have iframes from taking damage. This raises a question; what would happen if you die before the game could set a valid checkpoint? What ends up happening is that the game respawns you near the top left corner of the stage. This also sometimes results in you spawning above the level, Out of Bounds. Luckily for us, at the start of some levels, there is a 2 frame window where we can jump before the game can set a valid checkpoint. We can then jump again within a 2 frame window to once again avoid setting a checkpoint and from there, we can find a way to die and perform an upwarp. The exploit is only possible on certain levels and it is weirdly inconsistent (sometimes, your checkpoint will update anyway even with frame perfect jumping) but three levels it does work on are 2-2, 2-3 and 3-3 and in all of those levels, the upwarp is very useful. All three levels are designed in a way where you have to climb from the bottom to the top so upwarping is very valuable. Below, I have a crude image which roughly shows how upwarping affects the route in 2-2:

Level comments
Here, I am going to make any significant notes I can think of about the run.
1-1 - 1-3
- These levels are the same as the Any% run. I explain these levels in my original Any% submission and while the levels are marginally faster here, the major points still apply (https://tasvideos.org/9471S).
1-4
- You play as Rufus in this level. Rufus can only jump or climb but this level does have a few tricks up its sleeve.
- At the beginning of the level, you are supposed to press a button to lower a rope in order to climb to the next area. You have to go out of your way a bit to press the button. However, by doing a very precise jump, we can just barely make it to the other side without the rope, skipping needing to press the button, saving 6-7 seconds iirc.
- The fans are annoying because touching them kills you and their hitboxes are way bigger than they look. The most optimal way to avoid them is to get as close as you can to them without getting hit, turn around for one frame and then turn back around to go through the fan.
- At one point just before the 4 minute mark, there is a section where you have a bunch of ropes to climb down. With well timed movement, I was able to avoid the ropes.
- Near the end of the level, there is a rope you are supposed to lower with a button. However, you can easily just jump over the gap, skipping the need for the rope.
- I tried to dodge the rope at the end of the level but it just was not possible.
- I wish this level could have stayed in the Any% run but unfortunately, end cutscene storage saved around 7 seconds compared to playing the level which was a shame. It was annoying too because I had already TASed this level. At least we get to see it in this run.
1-5
- Same as Any%. At least we only have to see this level once in this run.
2-1
- At this point, we now have the handspring which will become essential from this point onwards.
- Near the beginning of the level, there is a second tutorial in a cave. We can skip this tutorial by jumping to the left and performing a precise grappling hook shot to grab onto a ceiling.
- We grapple along the ceiling until we reach the left side where we then jump on top of a snowman. This needs extremely precise positioning in order to work, if you are even a tiny bit off, you will jump end up in front of the snowman.
- The grappling hook is used in certain areas in order to scale up the level faster than intended.
2-2
- We perform our first upwarp. I already explained the upwarp earlier so I won't go into detail here. There's a pit right at the beginning of the level and the upwarp skips about 90% of the level, saving 40-50 seconds roughly.
2-3
- Another upwarp. We fall into toxic waste, we wait for the toxic waste to kill us and then we upwarp. We upwarp Out of Bounds above the level so we have to traverse above the level. Luckily, the end level trigger extends Out of Bounds so we can finish the level without any issues. This upwarp saves around 20 seconds I think.
2-4
- This is an auto-scrolling shooter section. One of the only things to note is that I can backup and then zoom forwards to increase my rate of fire to take the ship out faster.
- At the end of the level, I pause and unpause within a 1 or 2 frame window. By doing this, I can advance to the next level and skip the game saving.
2-5
- I use spring kicks to quickly take the boss out. If you are facing away, he will immediately charge at you while if you face forwards, he will do a long, invincible attack before charging so we naturally wanna make him charge instantly.
3-1
- We now have access to the wall jump which will come in handy throughout the rest of the game.
- After the first wall jump, I grapple onto the wall behind me and wall jump in order to skip the second tutorial.
- The helicopter at the end of the level is on a timer so my movement overall didn't affect how quickly it took off.
3-2
- After climbing along the bar early on, I do a wall jump to skip a chunk of the level. I then climb up a ledge underneath a wall to skip even more of the level.
- There is a laser blocking you off from the end of the level, normally you have to take a platform up to a higher area, destroy a generator and then you can go back to reach the end of the level. However, we can skip deactivating the laser by dying in the laser in order to respawn into it and reach the end of the level.
- I go out of my way to take an extra hit before reaching the laser because I have to wait for a platform cycle anyway. As a result, this saves time because it wastes no extra time to take the hit and I don't have to wait to take that hit at the final laser.
3-3
- Another upwarp. Luckily, we can easily go Out of Bounds at the beginning of the level to quickly die and when you respawn, you end up above the level. Dying would otherwise take a lot longer as there are no in bounds pits, we would have to travel way further to find obstacles to drain our health and we'd have to slowly wait to lose all of our health.
- Before respawning, I pause. This is because if you don't pause, you die again for some reason which is slower.
- At the end of the level, I have to scale a wall to reach the end. I need to wall jump off the same wall twice.
- I skip a cutscene at the end of the level. As simple as it sounds, you actually only have a two frame window to skip the cutscene. If you don't get this weirdly tight cutscene skip, the cutscene will load which loses around 1 second. This is the only cutscene like this, it's really odd.
- The upwarp skips at least 95% of the level and it saves a ton of time, well over a minute. This is normally the second longest level in the game but the upwarp turns it into the shortest level.
3-4
- In this swimming level, you have a dash. You can dash for as short as 15 frames or as long as 29 frames. I found that the long dash was overall better so I mostly perform max distance dashes. As you could imagine, I dash throughout the entire level, only stopping to turn around when required.
- I take a hit from a jellyfish after the first corner. There was no fast way to dodge this jellyfish so I tanked the hit. I was able to efficiently dodge all of the jellyfish/sharks however.
- Much like 2-4, I end the level with a 2 frame pause in order to skip the game saving.
3-5
- I mostly use spring kicks to take out the boss. I occasionally have to dodge attacks and delay my attacks so that they connect so that is naturally done throughout the level.
4-1
- I immediately perform a wall jump to skip a tutorial. The trigger is huge and I barely avoid it.
- I perform a wall scale on the right side wall at the beginning to skip a bunch.
- After the first Drakken poster, you are supposed to drop down to the bottom of the level to progress. However, I use wall scaling to go above the level, which ended up saving around 2-3 seconds.
- This also skips needing to use your newly gained throw ability to throw an enemy through a wall, making this ability completely useless.
- At the end of the level, you have to use your newly gained reflector to take out the golden robot. Normally, the robot turns around by the time you get to him and you have to wait a long time for him to shoot his laser at you. By getting to the robot super quickly however, it will shoot the laser instantly, saving a chunk of time.
- You can take the robot out without the reflector but it has 10HP, which makes it take way too long to take out without he reflector.
4-2
- I use numerous wall scales to get through the level as quickly as I can.
- At the end of the level, there is a platform on a cycle which comes every roughly 9.5 seconds. In this TAS, I was able to catch the platform one cycle earlier than what is possible RTA.
4-3
- This is an auto-scroller where you can move at three speeds. Normal, slow by holding back or fast by holding forward. Naturally, I spend the entire level holding forward.
- The level has three sections where you can go either high or low. If you pick the right path, there will be a boost pad which is naturally useful. The route for each section is high, low, high.
4-4
- Throughout the first 3rd or so of the level, I am constantly doing what I can to avoid ledgegrabs and pole vaults, taking intentional damage when needed.
- Around 40% through the level, there is a section where you are supposed to go down. However, it is possible to make your way over a ledge and take the high path which is significantly faster.
- When I get on the first set of rotating platforms after the high road, I pick up health. Picking up the health didn't waste any extra time from what I could tell and the health is needed to zoom through the rest of the level.
- I take a bunch of damage boosts after the last set of rotating platforms to get to the bottom as quickly as possible.
4-5: Shego and Drakken
- Shego functions differently to Any% as you can move a whole bunch before the cutscene kicks in (this does not happen in Any%). Because of this, Shego's pattern is different and I unfortunately could not take her out as quickly as in Any%. Fortunately, resyncing the inputs was not too much of a hassle and the fight overall isn't too much slower.
- Luckily, Drakken's RNG was the same as in Any% so the Drakken fight is exactly the same. It was such a relief to say the least because reoptimizing this fight is an absolute pain and I was able to dodge that bullet.
Conclusion
And there we have it. Kim Possible 2: Drakken's Demise in 16:54 (16:21 RTA) without skipping any major portions of the game.
I am very happy to have finally finished this TAS. I originally started the TAS back in the end of August although I put it on hold when the Any% route ended up changing. I finished world 2 in October, finished 3-1 in March and it wasn't until this week when I finally finished the rest of this TAS. Getting a sub 17 time with this TAS is something I am really satisfied with and I am overall satisfied with how the TAS turned out. There might be places to save frames and there are certain levels like 2-1 which could potentially have different routes. 1-3 and 2-1 do have useful upwarps but those upwarps are only possible in a New Game + setting. Overall however, I am happy with how this run turned out and I am stoked that it is finally finished.
As a final note for the TASVideos team, All Levels is simply the category description I came up with. If there is a different category name which would be more fitting then do feel free to change it.
InputEvelution: Replacing with the correct movie file.