General notes
- Uses GBAHawk 2.1.3
- Rerecord count - 4977
- Uses glitches and exploits to save time
- Performs a glitch to skip a major portion of the game
- 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 seen). 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. This is genuinely a pretty good game, licensed game or not. It's not perfect but the presentation is strong for a GBA game, the game mostly plays really well and the game as a whole is a fun, varied and solidly designed platformer, an easy recommendation for fans of the show or even just fans of GBA platformers in general. I am the current RTA WR holder and I started making this TAS with the full intention of playing through the whole game. In this run however, we're not here to see the whole game. We're just here to see how quickly Kim can cause Drakken's Demise.
General game notes
- 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". There are instances in the game where you have these blue question marks which give you tutorials. You hit these and then you have to watch a ghost perform whatever action the game is teaching you about. In the US version, if you pull up the gadget menu on the same frame as hitting a tutorial, the timer and inputs for playing a tutorial will play out but the game will be soft paused and you will be able to freely use the gadget menu. When we exit the menu, we desync the tutorial as the tutorial tries to play out but because you messed up the timing with the gadget menu, the tutorial won't play out correctly. You can even make the tutorial Kim use the wrong gadgets which can lead to some amusing results. We can use this to reduce lag frames and to pause cycles which is useful, even in this short run. This glitch does not work in the European/Japanese versions which I find funny because those versions were released way later than the US version (the European version came out a whole 18 months after the US version) and far bigger glitches and exploits (such as the main trick in this run) were not fixed.
- The European version has a language select screen after the company logos. Weirdly enough, this actually allows the European version to start faster as the game loads the intro faster after skipping the language select screen than it does after the last company logo in the other versions. This however does not make up for the removal of tutorial desyncs, making the European version slower overall.
- The Japanese version is the slowest as not only are tutorial desyncs patched but the Japanese version also has an extra company logo.
- The basic game plan of the run is to beat the first level so that we unlock the Global Justice Simulator (it's basically a level select) which will then allow us to warp to Drakken. I will explain this in more detail later on.
- 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. 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.
- Taking out enemies is fairly slow so I typically opt to gum them up to walk past them or to find another way to go through them without fighting.
Level 1
- The first thing which happens in this level is that I perform a tutorial desync. I pause the game for a very long time as I am setting up a platform cycle for later on in the level.
- The grappling hook is a fairly complex gadget. You generally want to aim it straight up as it will position you more favourably for the next jump. I use it early on to skip a ledgegrab and I try and use it as little as possible whenever I have to use it.
- I perform another tutorial desync choosing to desync the tutorial with gum. This saves frames compared to not doing a desync and it is amusing as the ghost Kim just jumps and chucks gum instead of grappling along the ceiling.
- Near the end of the level, you have this vertical moving platform. This platform moves on a consistent 6 second cycle. I used tutorial desyncs to set up the cycle favourably and the cycle I got is the equivalent of skipping one cycle in an RTA run.
- It is still possible to just barely make this without tutorial desyncs although the cycle is less favourable since as far as I could tell, you can only just barely ledge grab onto the platform which is less optimal than jumping on the platform.
Early Drakken
Here it is, the big skip in the run. Instead of playing through all 20 levels in this game, we can simply play level 1 and then warp all the way to the final fight with Drakken. How exactly does this work? It's surprisingly simple to do.
- After level 1, you unlock the game's Global Justice Simulator (which I will be calling the level select from now on) where you can revisit any level you have completed, even being able to use upgrades you unlock later on in the game in earlier levels. The level select works as you would expect but there was a major oversight on the developers' part.
- The game normally blocks you off from selecting any level you haven't finished, if you try scrolling in a direction with no levels, the game will stop you as you would expect.
- HOWEVER, for some reason, if you move down on the first frame you enter the level select and there is no level below the option you have chosen, the game does not actually stop you from scrolling down like it is supposed to. This instead puts you on an empty spot on the menu and where does this empty slot take you? Drakken, the final boss. It doesn't even take you to 4-5 as you skip Shego. You just go straight to the Drakken fight.
Why does this work? If I'm being honest, I'm not 100% sure but this is what I believe is happening. Internally, the Drakken boss fight is considered to be a separate level from 4-5 which internally is the Shego fight (normally, you fight Shego and then the game takes you to Drakken with no way of choosing just the Drakken fight without the glitch). When you scroll down on the level select screen when there are no further levels unlocked, the game likely puts you on an invalid level. My theory is that the game has a failsafe where whenever an invalid level is selected from the level select, it takes you to the Drakken fight which I'm assuming is either the lowest level ID or the highest.
However it works, this is basically what I am doing in this run: Play 1-1, immediately quit out of 1-2, go to the Global Justice Sim, move down the first frame the menu loads, select the level it moved me to which takes me to Drakken.
Drakken Fight
- The first thing to note is that because I skipped the whole game, I don't have any of the upgrades you get later on in the game so I have to take out Drakken with Kim's base moveset.
- In phase 1, I just spam jump kicks. I spam the jump button as quickly as possible in order to get as little jump height as possible in order to maximise how quickly I attack Drakken. Drakken attacks me and getting hit by hit is faster than avoiding the attack.
- In phase 2, I jump kick up to Drakken and I use the grappling hook to cancel my attack, allowing me to hit Drakken twice with each jump. I run under Drakken in order to prevent him from attacking me. **My YouTube upload shows Drakken going for an attack which is considerably slower as Drakken is largely invincible while attacking.
- In phase 3, I am constantly swinging on the ceiling and jumping off as quickly as I can in order to keep attacking Drakken. I carefully position myself so that Kim doesn't bump into Drakken while swinging as that cancels the swing. The grappling hook also has a bit of cooldown after each use so I have to work around that limitation.
- After taking out Drakken, the game takes me back to the level select. The game lets you access the credits from the options menu so I select the credits to end the run.
Conclusion
And there we have it. Kim managed to cause Drakken's Demise in less than 2 minutes. This is where I talk about the quirks of this game and this glitch. While I beat Drakken which is the final thing you do before the game ends, I technically didn't beat the game. The game doesn't save after the fight, it doesn't play the ending cutscene and it doesn't play the credits. All of that only happens when you beat Drakken in the story mode and this even happens when you beat 4-5 legitimately through the level select. As far as the game is concerned, I have still not progressed past 1-2. Because of this, this isn't a real any% run. This is just a short, glitch run where we use an exploit to beat the final boss early.
I am happy with how this TAS turned out and I just find it wild how a glitch like this made it into the final game and how it was never patched for later releases which literally came out years later. I think there could maybe be room to squeeze out more frames in 1-1 and Drakken but I don't think there are any more major time saves in this run. Unless a skip in 1-1 to make it to the elevator faster is found or if a way to enter the Global Justice Sim even earlier is found, I don't think there's much more time to squeeze out of this run. This is a very fun game and it is funny that a glitch like this exists but it is also a shame that you just skip through the rest of this underrated platformer. I would definitely like to TAS the full game at some point because the full game run is even crazier but for now, this TAS will give you a small taste of what this run is like.
Note to TASVideos staff: I am not sure how appropriate "Warp Glitch" is as a goal name. If there is a more appropriate name for the goal of this run then do feel free to change it.
DrD2k9: So I'm the one who suggested submitting this run
(even though we knew it wouldn't be Standard Class eligible), because I felt it would be a good Alt/Playground candidate. In the discussion for this submission,
I posted that I thought the run had a valid goal for Alt Class. However, after more thought and reading through the discussion. I think that Playground is really a better landing place for this run; primarily because it doesn't actually beat the game, which we would most likely want for an Alt class publication.
This is an interesting glitch, and it is a good situation to have documented for this game. Further, on the chance that someone else wanted to investigate more deeply into finding a way to make this glitch actually trigger the credits, I think that placing the run in Playground is more ideal than rejection for not beating the game.
Regarding branch name: Typically "warp" is used in terms of skipping a portion of a game to get to a later point in the game faster. As the glitch here isn't actually warping to another point in the game in regards to actual game progress, I think a better branch name would be "level select (Drakken fight) glitch" or something along those lines.
Updating the movie file to
a 20 frame improvement.
Setting submission to Playground.
Since this run won't be (currently) getting an official publication, I'm also changing the goal name from "warp glitch' to "level select (Drakken fight) glitch."