Submission #6508: illayaya, Pixiuchu & EZGames69's GBA Donkey Kong Country 2: Diddy's Kong Quest in 50:11.76

Game Boy Advance
baseline
(Submitted: Donkey Kong Country 2 (USA, Australia).gba USA)
Bizhawk 2.3.1
179885
59.7275005696058
92118
Unknown
Submitted by Pixiuchu on 9/4/2019 9:46 PM
Submission Comments
IF YOU WANT TO RUN THIS TAS THROUGH BIZHAWK 2.4, DOWNLOAD THE .BK2 HERE: userfiles/info/60895844678913727
6:03 PM Colin (EZGames69): When we make the submission text, make a notice at the top saying “if anyone tries to trash the GBA version, EZGAMES69 will strike you down.”
Donkey Kong Country 2 is a game made by Rare, and is generally seen as one of the classics. In 2004, Rare released a Donkey Kong Country 2 remake, for the GBA. This version is generally hated because of the bright graphics, the music is very different due to GBA hardware, a lot of sounds are different (the crocs have a high pitched voice when they die, for example), the world map is completely different and zoomed in, etc. (A list of major gameplay changes will be put after the level by level commentary)
The story is simple: King K. Rool, mad at Donkey Kong, becomes a Kaptain (with a K!) and kidnaps Donkey! (Oh no!) In exchange for Donkey Kong, Kaptain K. Rool wants the banana hoard. Of course Donkey and Diddy worked so hard that they don't want to just give it back. Kaptain K. Rool, however, kidnapped the wrong kong, and left the fast kong alone. Diddy (and Dixie, I guess) goes off to Crocodile Isle to try and save Donkey Kong!
This TAS is ~3:31 faster than the previous TAS by Avanor, and ~8:42 faster than the RTA WR by Snodeca (one of the TASers!).
Note: while it looks like the BIOS is bugged as it lasts like 4 seconds longer than it normally would on console, it’s not a bug. Since this game is being played as if it was the first time ever being played, sram data needs to be created. If you were to start this game with sram data (even if no save slots were used) the 4 seconds wouldn’t be there. A similar thing was done in the TY 2 TAS.

Movie Goals

  • Emulator used: Bizhawk v2.3.1
  • Beats the game as fast as possible
  • RTA Time: 48:41.07
  • Uses developer-intended warps
  • Abuses glitches to save time (only one, but it's GBA exclusive!)
  • Takes damage to save time
  • Gets Donkey Kong back
  • Lot's of rolling! (More than the SNES version!)

Speed list

Unit is subpixel/frame, listing two speed as "natural max speed (acceleration)" for each boxes

Kongs

WalkingRunningRollingLedge BoostHovering
Diddy400 (33)656 (45)896 (60)1132 (+236 from max rolling speed)
Dixie400 (33)656 (45)640 (50)876 (+236 from max rolling speed)560 (30)

Rolling

No EnemiesOneTwoThreeFourFiveNote
Diddy89610881152121613441404 for a frame then snaps to constant 896Acceleraton is always 60/frame until it reaches the number it wants to reach.
Dixe64083289696010881138 for a frame then snaps to a constant 640Acceleraton is always 50/frame.

Animals

Walking/no BDashing/RunningSuper Dashing
Rambi400 (30)608 (40)896 (goes to max on next frame after charge)
Enguarde384 (10)640 (goes to max ten frames after press B)1280 (goes to max on next frame after charge)
Squawks384 (30)576 (10)
Squitter384 (30)608 (40)
Rattly256 (70)512 (40)

Stage by Stage comments

LevelComments
World 1
1-1Right off the bat, we manipulate RNG for the first boss in this stage. Delaying the first roll here affects the RNG, and ~5 frames were sacrificed to manipulate the egg. I could not find any other viable method to manipulate RNG, so this was all we could do. What you will immediately notice, is that you can continuously roll without any loss of speed. This means that rolling patterns compared to the SNES version will be completely different in almost all the stages. When you jump, as well, you want to avoid holding the B button, because as soon as you hold the B button in the air, your speed snaps to 656, while if you delay holding the B button, your speed will gradually decrease to 400. You will want to hold the B button as soon as the speed reaches 676 or 656 (it won't make a difference). At the end of the stage, you want to hit the goal as far left as possible. Doing this gives you more speed when going back to the right because the game has to push you harder to bring you to the intended spot, which sometimes saves a frame. Sometimes it won't save any time.
1-2The ending abuses a duck while falling and then unducking in the middle of the air, which let's you hit the goal without triggering the long boombox event. Presumably this is because when you unduck your height might be "reset"(needs better wording) and the game will only consider how high you were starting from the moment you unduck, and since you unduck right before hitting the goal, it won't hit the event.
1-3Simple jumping and getting into the warp barrel. Nothing interesting.
1-4Immediately rolling lets you roll straight to the barrel without losing much height or speed. This is faster by a couple frames than waiting until you are on the ground to roll, however jumping into the Warp Barrel becomes a 2 frame jump, making the trick unrecommended for RTA speedruns.
1-5By dropping off the rope on the last frame possible, you can immediately hit the goal. It is frame perfect.
1-BThis boss was hard to TAS. For the first egg, you want to wait with hitting the egg and instead face left when you hit the egg, while avoiding getting hit by Krow. This first hit is very hard and saves around 30 frames over the first WIP of this boss. For the second egg, you want to get on top of the nest. This is possible by repeatedly getting knocked back by Krow while he is still rising, ultimately bringing you to his nest. Depending on where you are, he will drop the egg far sooner than if you were on the ground. Facing to the right to bring you closer to Krow again, and down goes the second hit. The third and fourth eggs are pure RNG. In this phase, Krow will send off either fake eggs or a real egg. (Note: on the GBA version, you can only get up to 3 fake eggs per hit.) The third egg was manipulated by delaying the first roll in the first level. The fourth egg is luckily very easily manipulatable by delaying hitting Krow. After the final blow, we manipulate the camera and position in such a way that Cranky walks the minimum required distance.
World 2
2-1Simple stage. Throwing late is better than early.
2-2It was originally thought that it was not possible to skip the TNT Barrel, however with very precise positioning and timing, it is possible to land next to the Kruncha and roll off of it. This is not RTA viable.
2-3This uses a difficult route which avoids teaming up, saving around 20 frames. [This is a risky route for RTA with ~10 seconds penalty if you mess it up.] This level also shows the introduction of ledge boosts. We don't exactly know why it works, but if you jump on the first frame your true Y Speed drops to 0 (your Y Speed is a constant 356(?), probably to keep the kong snapped to the grond), your speed goes from the usual 896 rolling speed to a 1280 speed. This saves several frames and is used whenever you have to jump after a ledge. It is often better to jump earlier but have this speed than to jump later to jump during a roll. Your X speed immediately gradually starts dropping to 400, so we hold the B button as soon as the X speed reaches 660. Ledge boosts seem to only work with max rolling speed as either Dixie or Diddy.
2-4It is faster to grab the barrel and kill the Kruncha. At the end, the same duck-and-unduck trick is used from 1-2. The big difference here, however, is that it is normally impossible to fall off a balloon. With very precise positioning, however, it is possible to jump, land and immediately fall again, letting you duck while falling and thus pull the trick off anyway, saving about 20 frames from the traditional method. Not RTA viable.
2-5Nothing special.
2-BRNG can determine where each cannonball lands, it’s usually better to have it spawn as close to Kleever as possible so throwing time doesn’t take as long. Of course if you can run to the boss while holding a cannon ball, that’s faster than throwing it. A difference between the snes version is once the 2nd phase starts, the hooks will spawn right away, rather than only spawning as soon as Kleever lunches at you. However we still make him lunge because he needs to do it at least 2 times for the first cannon ball can spawn, and each time after that a cannonball will spawn with each lunge. Since Cranky can only come from one side, we can easily roll to him after collecting the KremKoin, shortening the walking time for Cranky.
World 3
3-1We don't use Rambi in this stage because he’s slower in this version and his charge takes longer to set up. Also, not holding any directional button after a barrel fires you allows you to preserve the speed gained from that barrel blast.
3-2We had to redo this stage whenever we'd find improvements prior to here. Because saving time always changed rng and it affected to lag pattern. In fact, 3-2 is one of laggy stage and We had to try many swimming patterns.
3-3Precise movement, fun stage.
3-4This stage is very straightforward. Just hop your way to the end without every slowing down! [Not sure if more needs to be added]
3-5A lot of climbing in this stage. Notable is that we slow down right after the second bee. It is faster to slow down then roll into the mosquito than to just immediately roll off the ledge and not hit the mosquito.
3-6This stage is, for the most part, simple to TAS. Pressing the A button on the first frame possible in the barrels makes it a fast level.
3-BBelieve it or not, this boss actually has a level of RNG to him. every time we improved a previous stage, this boss would always cause desyncs because the location that he would fall would always be off by a few pixels or more, meaning it would have to be redone each time. Other than that, there's not much to explain, we simply hit him with the TNT barrel as soon as we can.
World 4
4-1First appearance of wall climbing stage, vertical speed with honey wall is much faster than rope climbing actually. I originally thought several seconds waiting for zinger after rolling into two spinies (16:18 in video). But delaying rolling brought cutting the waiting completely.
4-2This level is fairly straightforward, the only challenge is getting in the carts as quick as possible.
4-3This stage sees a lot of Squawks. As soon as we get on him, we go as far to the right as possible to then go left, this to have more speed when we get up. Tightly cutting corners allows us to save frames. It is faster to take the Squitter route over going the usual route by ~15 frames. The rest is simple maneuvering and cutting some more corners.
4-4Like SNES version, getting boost barrel is faster. Coaster is halted for a frame each time it lands on rail so each jumpings cost time (same as in 5-2). But coaster speed decays when it reaches any type of slopes, jumping them to maintain speed is very important.
4-5This level probably has a faster route than what we did. There are a lot of things you could consider doing with the birds before the midway barrel. A notable thing we found during this stage is that you can roll on top of a barrel or chest if you press B right before landing for one single frame, so they don't slow us down luckily. No lag reduction was needed despite the amount of birds on screen. Everything else is fairly straightforward.
4-6More fast honeyclimbing. It is faster to charge with Rambi than to not charge, even though his charging is so slow.
4-BThe main challenge here is to hit him as soon as possible while trying to keep it entertaining. Once the first phase is over, King Zing will spawn 4 yellow bees around him. However, if we kill the first bee before he spawns the second bee, the game will think all 4 bees was killed, thus skipping the second phase. The main challenge during the fourth phase is to make sure King Zing is out of bounds when you hit him a final time. If he is out of bounds, he will instantly despawn and thus we can collect the Kremkoin sooner.
World 5 (Entirely done by illayaya with input by others)
5-1Rolling, a lot of tight optimizations. At 24:35 in the Temp Encode, the game put our true Y Speed at 0 while going down, so we were able to get a ledge boost even though there was no ledge here.
5-2Unlike 4-4, you can't boost speed by inputs. Instead, we used slopes to gain speed. For uphill slope, it only decreases speed so we did multiple jumps not to lose speed as much as possible. For downhill slope, it also decreases speed if running on rail. But landing on near end of the slope can give speed if previous speed isn't maxed. (max speed is 848 here as far as we know)
5-3Jumping + tailwind is faster than rolling on ground. So Longer jumping becomes faster in some places. The wind doesn't affect at all if Kongs are on ground. In other words, rolling can benefit from wind in midair.
5-4This is the laggiest level of the game. We tried doing play-around, however we saved over an entire second from simply not doing play-around, thanks to lag. The general goal is to fall to the stage without getting hit.
5-5This stage is simple. Once you reach Squitter, nothing can really be done to speed up the level. Just hold B and Right the entire time. A notable strat at the end is we use the a Web platform to drop to the goal, saving a couple frames.
5-BWith a bit of manipulation in previous stages, we can get the barrels to spawn directly under Krow, which makes each hit happen immediately. There's a glitch where the hitbox of a Necky will be active but show no sprite, and the hitbox for whatever reason will appear in the middle of the stage, so we can bounce on that to make the barrel spawn faster. also for whatever reason if you move to the cannon barrel fast enough, you will actually hit Crow since his sprite hasn't reached the next level yet.
World 6
6-1Enguarde's both horizontal/vertical speed are fixed during piercing attack. delaying attack was needed to move up/down faster not to hit walls. Bonking walls set his speed to 0. You can see he sped up on ice. You can regain his super dash speed without dpad input after touching water surface.
6-2Auto-scroller with almost no lag. It is faster by about 300 frames NOT to take Rambi's bonus, and faster by about 270 frames to take Squawks' bonus. Playaround done by EZGames69.
6-3This level uses a trick that we call "Clapper Zip". This is the only glitch used in the run, and it is a GBA exclusive glitch. What we first do is we use a trick often used in DKC3 GBA: timestop. The way this is done is as soon as we reach a ledge and are about to fall, we want to team up. We team up and then we land into the water. Landing into the water interrupts the team up animation, and because time is frozen while teaming up and we never let the game finish the animation, time stays frozen. We have to do an animation that freezes and unfreezes time in order to unfreeze time, so we have to switch Kongs to do that as we can not team up. We hit the clapper, which freezes the water and snaps us to the surface. Water rises because we got into the barrel, and we then get snapped even further above to the midway barrel! We have to move carefully here, however, as it is possible to get warped back underwater. Doing this trick saves 50 frames compared to doing it normally. The rest is some more movement optimization.
6-4The best way to enter a flying zone is to jump as low as possible without dropping. This reduces the amount of downward speed you have, thus allowing you to enter upward speed much quicker. A couple of team ups to skip flights or a part of the level, jumping on enemies to leave the flight sooner... And at the end, we stay to the right to keep the camera unlocked: this allows us to get on the ground near the goal post sooner.
6-5This stage has a lot of climbing, obviously. Sometimes, if you climb the quickest way possible, you will get stuck at the end of the rope where the vertical rope meets a horizontal rope. So we must climb in such a way that we slightly lose height to optimally jump off a vertical rope and onto a horizontal rope without getting stuck.
6-6This stage is fairly straightforward. With Rattly, it is possible to instantly charge up a Super Jump. If you press the R button to start charging, release it then immediately press the A button, you will jump as if you charged it normally. Squawks is fairly straight forward, so is Squitter.
6-BThis boss is GBA exclusive, it replaces the scene where Diddy finds Donkey Kong but is taken away by K Rool to reveal more stages that need to be done. The first phase involves you hitting two Kleever swords, it doesn't seem to matter which one you hit first as they seem to take the same amount of time, so I chose to do the more entertaining way of killing them. Casually, this boss was hard because sometimes he'll breath fire right where a cannon ball lands, and you get hit right away. Luckily in a tas, if we hit the boss quick enough, we wont get hit by his fire breathing. The last hit in question we have to wait for the fire on the ground to go away before we can hit the boss again, as if we hit him too early, we would take damage on the ground
World 7
7-1Relatively straightforward level.
7-BK. Rool has some pretty long phases, they’re slightly longer on GBA for whatever reason. The only major instance of RNG comes from the 3rd hit of the 1st Phase, were it’s best to have the right most cannon ball retract its spikes, getting this manipulated was done by purposely losing 2 frames in 7-1. One major time save that was found was during the last hit of the 3rd phase, to purposely get hit by K Rool, getting hit is about 65 frames faster than his regular suction animation, meaning it’s faster to finish the game using Dixie after we haven't used her that much throughout the run.

Possible/Theoretical Improvements

  • World 1 may have better RNG manipulation. If we somehow shave more frames, we could also potentially save even more time with faster RNG Manipulation for 4th egg in 1-B.
  • World 3-5: it is theoretically possible to Wrong Warp in this stage. If you timestop the way it is done in Clapper's Cavern (6-3), anything currently on camera and underwater when timestop is activated retains its' hitbox. If a Warp or Bonus barrel retains its' hitbox, you can enter that barrel while timestop is activated. The game will never set its' Warp location, and you will visit the last visited warp barrel. You have 4 potential locations: the warp barrel, the first bonus, the second bonus and the third bonus. If you were to enter the second bonus game of a stage and then use Wrong Warp, it will put you in that particular bonus game, and when you end it by either winning or losing, you will then be put to the intended location of the second barrel of 3-5, which in this case is at the end of the level. Currently, it is only possible to wrong warp in 1-4 and it is utterly useless. The only missing requirement for this wrong warp to work is the fact that the bonus barrel is NOT in the camera while timestop is activated, so this remains a theoretical skip. It may also end up being slower. As a sidenote, if you were to do a Wrong Warp without ever entering a bonus or warp barrel beforehand, you softlock. Wrong warp is often used in DKC3 GBA speedruns.
  • World 4-B: it is possible to skip the Kremkoin by dying. It once happened to me (Snodeca), but I lost the video for it, and we were not able to replicate it. If this works, it may save a couple frames.
  • World 6-1: it may be possible to skip this stage, one way or another. This video demonstrates the strat we could use in 6-1. In the video, we softlock, but there are cases where you do not softlock doing this. It may be possible to go out of bounds in 6-1 without softlocking and somehow reach the end of the stage. The big take away however is that we skip Enguarde, so we already have to do a detour (you are too high if you take the shortcut and the team up animation ends before you reach the water), then try to find a spot to do all of this with rising water, go out of bounds somehow and skip the stage. This is slow and we weren't able to get this all to line up.
  • World 6-2: After entering the Bonus, you can hold left to die immediately. This saves 182 frames.
  • World 6-4: At the end of the level, our TAS had an unoptimal subpixel value here. It is very easy to save one extra frame and has already been confirmed to work.
  • World 6-B: we completely missed something that, with perfect RNG(?), could save over a second. However, we can not get this perfect RNG. If you get a third cannonball in the kleever phases, as shown in Avanor's TAS, you can hit Kerozene far sooner. It is possible to get this attack on the first kleever phase, and to completely skip an animation. However, we don't know how it works and what causes it to spawn. The potentially fastest route is to get a third cannonball in both Kleever phases, which could potentially save a lot of time. The other potential result is a softlock. We are not able to get this to work, however.
  • In general, potential better optimization. This run is not perfect, and it is always possible that there are a couple spots we can still save time, or strats we may have completely missed.

NOTABLE GAMEPLAY DIFFERENCES between GBA and SNES

  • The biggest one already explained is we can roll continuously. This is the first Donkey Kong game in which we can continuously roll, which will be passed off to DKC3GBA and eventually DKCR.
  • Dixie is much slower, almost useless. (I would like to make a Dixie-only TAS one day just for fun, though I would not submit this. I = Snodeca)
  • You do not have to wait a couple frames when shooting out of barrels, honeyclimbing or climbing up ropes. Because of the lack of delay, some levels are far more fast paced than in the SNES version (Slime Climb (3-5) and Chain Link Chamber (6-5) for climbing, Hornet Hole (4-1) and Rambi Rumble (4-6) for honeyclimbing, Bramble Blast (3-6) for barrel blasting.)
  • Animals are much slower: Rambi's charge is far slower, Squawks is very slow horizontally.
  • Squawks' vertical upwards speed is much faster compared to SNES.
  • In the SNES version, when you hit a wall with Squawks, you lose all your speed. In the GBA version, your speed is retained and you even gain speed while flying into the wall horizontally. It does not look smooth, but you save many frames by flying into the wall as you make your way up in Toxic Tower (6-6).
  • Rattly does not lose any speed and you do not have to repeatedly jump unlike in the SNES version.
  • Obviously, less glitches and different Wrong Warping (that is not used in Any%)
  • More stuff. The above are the more obvious differences.

Special Thanks

Mittenz: for adding speed values into ScriptHawk, which made using ram search easier to do. (in this game, the ram value for speed changes every time a new screen loads, so to get time, you would need to find the pointer for speed rather than an actual ram address)
V0oid: for getting me (EZGames69) interested in speedruns for the DKC series.
Avanor: for having the first full Any% TAS. The TAS may have been very unoptimized, it still serves as the first full-game TAS of this game.

Maru: Judging.
ThunderAxe31: File replaced with a 1 frame improvement.
Maru: Impressive work that the three of you have done. It is apparent to me that the GBA version of Donkey Kong Country 2 has enough significant differences compared to the SNES version in terms of gameplay. The audience also noticed those differences, so there are no concerns with having both an SNES and GBA version of DKC2 on this site.
Feedback was mostly positive, but there were some complaints about entertainment at the start of the level. Some people stated that the constant warping near the beginning of the TAS was repetitive, but the negatives seemed to have been outweighed by the positives.
In terms of the optimization, while there are some potential improvements, they are minor considering the length of this TAS. Those potential improvements, however, should be reserved for the next iteration of this branch if they can be incorporated.
As a result, accepting to Moons.
feos: Pub.
Last Edited by adelikat on 11/1/2023 3:52 PM
Page History Latest diff List referrers