Donkey Kong Country 2 - Diddy's Kong Quest 102% TAS - by NxCy & Comicalflop
: “As this is my first run, I might improve it later, but after the intense two months that it took to make this, I'm going to take a break.”
The break is finally over after two and a half years! We humbly present to you, the new and improved, Donkey Kong Country 2 102%.
This is our combined effort to obsolete the old 102% TAS. While that run may be good for its time, it contains a lot of mistakes, a lack of precision, and does not utilize the current standard of tricks/glitches. These three combined added up to a lot of time to save, and we set about doing just that.
Overall, we saved 18,789 frames or 5 minutes, 12.63 seconds. (pretty close to what the any% TAS saved, no?) The new length is 299453 frames, 1:23:11, and the in-game timer of the game is now 1 hour 7 minutes.
I've always been meaning to improve my first run. I had made some attempts, then left it alone for the longest time. Then NxCy came along, and started making more significant improvements. By the time he got near the end of world 2, I decided to officially join him, and it became a joint project. Having two authors for this game is immensely useful; there’s so many different ways to play through, we constantly checked each other’s work, split up to test different routes, and challenged each other to no end.
Even more new tactics/glitches were discovered prior to and during the making of this run. In fact, many of the tricks that we discovered are applicable to the any% TAS, making an improvement to that movie possible. (Next project? We shall see…..)
Even though we tried to create a very high level of technical precision (in some areas even being faster than the any% counterpart) we willingly allowed some time/entertainment tradeoffs. Most specifically, we kept the previous run’s attitude towards killing as many enemies as possible. We know for a fact that shooting eggs, spitting webs, etc. causes a decrease in speed. But, we felt that killing as many enemies as possible still remains a good goal for the 102% run, especially since it’s twice as long, and needs to center on doing more impressive things to entertain the audience. Also, the decrease in speed is not noticeable to the naked eye at all. For instance, when Squawks is going at max speed, killing 4 enemies resulted in a loss of 1 frame.
Stereo sound was once again selected for superior sound quality. And this time, a few frames were saved by choosing the bottom file.
- Emulator used Snes9x 1.43+ improvement9 (Snes9x 1.43+ v12 Beta also works)
- Movie length: 299453 frames (1:23:11)
- Use WIP1 Timing (Yes)
- Allow Left+Right/Up+Down (Yes)
- Volume Envelope Height Reading (No)
- Fake Mute desync workaround (No)
- Sync samples with sound CPU (No)
(Same settings as last movie)
- Aims for fastest time
- Contains Speed/Entertainment Tradeoffs
- Manipulates luck
- Uses Warps
- Takes damage to save time
- Abuses programming errors in the game
- 102% completion
- Uses a game restart sequence
There is a huge amount of new stuff in this movie. If you want to be surprised, read no further!!!
New Tricks and Glitches
This time around, we incorporated tricks found in Arne’s any% TAS, and we also found a large number of new tricks on our own.
Low rolling is a unique property of DKC2’s rolls. The term refers to the fact that when you use the trick, by the time the Kong is rolling off a ledge, their Y speed is at a higher negative value than normal. The way this is performed is by releasing Y as soon as possible that would initiate a roll. This has two uses: when rolling off edges and needing to move down quickly, or in getting a few extra frames of X speed when jumping down short gaps. Normally, a roll off a ledge would result in a higher jump up to the next ledge you need to get to; low rolling can enable either a few extra frames of rolling speed, or make your jump touch the ledge sooner. It’s used throughout the entire run in various places. Arne used it occasionally, but we used it to greater effect.
If you are not rolling, if you press B, then hold down (or wait one frame, then hold down), you will start to jump, but then start crouching. This is used to create spastic jumping movement during waiting periods for entertainment. Until a way to cancel a jump while rolling is found, it doesn't save time.
We used some of the same techniques Arne used for setting up better team throws, by throwing at an enemy first. We used team throws in some new locations to save time, but also made much better use of the move, as well as corner clipping, to save more time specifically in the Castle Crush level. In that stage, it was very beneficial to use the corner clip to jump up to the next platform, thus removing the need to throw and team up again. There aren’t really any new tricks, just more places where it saves time, and better use of it.
The Bonus Coin
The Bonus Coin has some very, very interesting properties.
After you touch the coin, there is a 1 frame window where you can perform some actions, just after the game unfreezes. Inside this window, one of the buttons you can press (if you have both kongs) is A, to team up. This causes the game’s animations to freeze, and it saves a few frames. Sometimes it is beneficial to do the A trick, sometimes not.
If you jump before you touch the coin, with the right timing, you’ll bounce right up at max height once the game unfreezes. You can even still perform the A trick when doing this, and it looks very funny. In ice and windy levels, jumping before the coin is very beneficial since your speed is not decreased from being on top of the ice (when you start accelerating again) and the wind carries you further to the exit.
There is a 1 frame opportunity to collect the coin, and press Start, then Select, while still collecting the bonus/DK coin. This is used to save time with some new routes, due to the bonus complete fanfare being skipped; this occurs more often in the earlier stages.
There is also the 1 frame opportunity to press X to dismount off animal buddies, as well as use an animal’s special attack.
Grab Barrels Optimally
When trying to grab a barrel to carry with you, it is optimal to roll through, and on the last frame possible, turn left and grab it. This ensures the maximum amount of time spent rolling.
Let Go of Object in Midair
When holding an object, press B, wait 4 frames, then hold down (without holding Y) in order to jump and place the object down at the same time. This is used for entertainment.
Glitch: If you do this in the K. Rool Duel, the cannonball will float in mid air, and won’t go inside his cannon.
Let Go of Direction When Rolling Into Doors
Arne informed us of this trick a little late; we didn’t get to start implementing the trick until the bonuses of Hornet Hole. When rolling into a door, you’ll get caught and your speed will become 384, as you enter the door. The left and right buttons are what activates this animation; by not holding either left or right, you can move into the doorway, and enter it faster. This is done when rolling, as the animals, etc.
Arne used this trick occasionally to roll through the cat-o-nine-tails. We used it a few more times, and we also found that the trick can be done as the animals too; pressing the opposite direction, and freezing them to stay facing that way while moving the intended direction prevents the scrolling of screen.
Jungle Jinxes Freaky Camera
For some reason, in Jungle Jinxes, if you shoot out of a barrel and land on one of the tires, the camera will scroll to the right very fast.
Bonuses Get Confused
In bonuses where you ride an animal, and you need to kill enemies, making the animal pop at the sign counts as one of the enemies you need to kill. Despite the game freeze from an animal popping at the sign, the skipped enemy sometimes makes it worth it.
(Note: usually this means you need to collect the spawned banana bunch to make the bonus coin appear.)
Palettes Get Screwed Up
We found even more ways to get some of the colors of objects to turn out wrong. See how many you can spot!
Controlling the Karts
The Karts move slow when going up hill; by starting to jump at the base of the hill, and keep jumping as soon as you land, you can make it up the hill faster. Unfortunately, not implemented in the movie until Haunted Hall (which is shame, it can save some time in Rickety Rage).
Jump before each ghost gate in Haunted Hall to save 3 frames. This unfortunately caused the glitch in Arne’s movie to not occur (where the last ghost failed to appear.)
We found that in a few stages, it saves a few frames to touch the far left side of the target, and scroll the camera facing left. This doesn’t always apply though.
Fun with the Animals:
When we started this TAS, we didn’t think that there’d be any new tricks with the animal buddies. However, we were soon proven wrong. Almost every animal has some new trick.
Pressing Y to make him do his lunge changes his hitbox slightly. We used this to help Rambi turn corners better in Rambi Rumble.
If you hover onto Rambi as Dixie, it’s possible to make Rambi hover as well. Using this, you can hover underneath the Rambi sign. We didn’t use this trick, but it may be possible to use in Red Hot Ride to save time.
We didn’t find any new tricks with Enguarde, sadly. We abused his charge and lunge properties in one bonus, but that’s about it.
Squawks has a lot of various little tricks, most involved with his strange hitbox.
When you shoot an egg, your hitbox changes. His arms flap backwards, making his back end wider, and the top of his hitbox extends from his head. The back of his wings can be used to collect items quicker, and the top of his head can be used to reach barrels that are above you 3 frames faster. You can also recoil back his head to reach areas 1 frame later; this helps in a few small places.
In Bramble Scramble (and to a small degree Screech’s Sprint) it is possible to vertically zip up the bramble vines slightly. The vines must be at a diagonal, and it’s not worth it if you are already trying to gain max speed for going horizontal. It only has 2 places used in Bramble Scramble, and one tiny spot in Screech’s Sprint. Further research needed, it may be possible to do elsewhere.
Squitter’s new tricks involve his webs.
Pressing L or R makes him shoot a web, in addition to s and A. However, pressing L and R on the same frame makes a web platform spawn instantly, thus saving a few frames per platform.
If you press L and R and A together, and keep pressing LR every 8 frames, you can spam a lot of webs without them becoming platforms. You can then make them all become a platform at the same time.
By pressing LR to make a platform when on the ground, your speed gets instantly set to 0; this allows you to turn around and gain speed in the opposite direction very quickly.
Rattly used to be the slowest, least favorite animal buddy. Now, he is a ninja!
Of all the animals, it is arguable that he saved the most amount of time.
Rattly has a short hop, a normal jump, and a charged jump. The charged jump takes forever to get ready though.
When you are about to land on the ground, if you hold A, he’ll start to charge his super jump as soon as he lands. Around 18 or so (depends on the jump) frames before he lands, if you start holding B along with A, he’ll jump in the air, while charging at the same time. This jump doesn’t gain as much height as a normal jump, however, letting go of A cancels the charge, and Rattly will do his ‘short hop’. From this short hop, you can then do a full normal jump. These three combined create a triple jump, allowing you to gain way more height than even a fully charged super jump does. This speeds up vertical ascent a great deal, and allows many new shortcuts.
The way this works is that you can press B, then on the next frame, hold A, and Rattly will jump in the air, charging. If you keep holding B however, his jump will not start charging. You can hold B for 5-7 frames. By doing the method first mentioned, you can hold B for the entirety. It is a shame that Rambi does not share this property. If you jump, and press A to charge 6 frames later as Rambi, he’ll jump in the air, but the jump will get cancelled, and he’ll fall to the ground without charging.
It's important to note that this does not make Rattly faster horizontally, despite the potential for 3 jumps that do not lose any speed. When you land and set up for triple jumps, your X speed becomes 0 for 1 frame.
There are various other tricks that are used, but these are the major ones.
Level by Level
We're going to fill in the time saved for these later.
Smoothed things up overall. Biggest change really was in the bonus with Rambi; by altering when you start to charge, you can run through more enemies at max speed.
Improved the climbing of ropes, improved the shortcuts, and cleaned things up here and there.
When entering the last bonus, it's faster to bump off of the Krushas.
The ducking trick was improved, to the point where more jumping out of water is possible for more speed (also abused in Lava Lagoon.) Rounding corners better as Enguarde saved time.
There's one potential time saving route that we forgot to test. Take the warp first (like in the any%), grab the DK coin, then hit the goal target, re-enter the stage, get Enguarde, enter the bonus, and start+select when the bonus coin is collected; it may be faster.
First time start+select is used.
Not much to say, other than waiting for the eggs to drop (with perfect luck manipulation) rather than jumping on top of them from the nest is faster.
First time to use Squitter. Various improvements here and there.
Going left after collecting the DK coin, start+select
Various improvements, but the biggest (and coolest) one comes from the camera zooming glitch. If you blast out of a barrel and bounce on a tire, the camera will zoom fast as you move.
Many various improvements. The lava level raises if you jump near Clapper, not on. Also, the water takes a very long time to revert back to lava just before the bonus. Inside the bonus, an animal poofing from the sign counts as one enemy being killed, which saved a few frames.
Various improvements, and the strategy for collecting the DK coin was vastly improved.
It was at the beginning of this stage that I finally became an active participant in the TAS. The first thing I did was to think of any possible route changes. I made some calculations, and thought that utilizing the start+select trick would be just a tad bit slower. After fulling TASing the stage with the normal route, I TASed the entire stage again using the new route, and overall it saved 68 frames to use the warp than to not use it.
Inside the fight itself, we think we saved roughly 38 frames vs. Arne's run. Biggest difference is that the first hit, rather than grab the cannonball and let it naturally hit Kleaver, by jumping and throwing backwards, the cannonball instantly is able to harm Kleaver.
We followed Arne's route with Rambi, but made a few changes. We spent a lot of time in spawning the neeks to make the very last one be in the exact place for the chest to explode immediately when we grabbed it, letting us grab the cannonball instantly to take to the bonus. This was also the first stage where the "jump before touching coin" glitch was discovered. The reason for this is that Diddy's roll didn't optimally land close enough to the coin; I jumped to make rolling as soon as possible reach the coin, and the placement was just perfect for Diddy to jump up to the ceiling. We found the trick to be so funny (and useful at times) that we repeated the trick throughout the run.
Rounding corners saves lots of time, as does changing the route to avoid backtracking. In the first bonus, I made a very obvious error in my old run regarding the route; I was able to easily save 3 seconds. Of interesting note is the popping behavior of the pufferfish. I was able to make the pufferfish at the end shoot his spikes diagonal, rather than horizontal, and this means I didn't have to slow down when swimming up to the barrel. It may even be possible to have them not explode at all, thereby potentially reducing lag.
Low rolling proved to be very beneficial here.
Route change, tackling bonus #1 last with start+select. Unfortunately, despite the discovery of triple jumping, it is not beneficial to use for horizontal movement. The use of the trick sets your X speed to 0 for one frame. However, the trick is used for getting into and during bonus #2.
Black Ice battle:
Low rolling is incredibly helpful here, allowing for much quicker vertical descent. The chest wasn't opened until the first bee, which saved some time.
Team throwing saved a lot of time. After bonus #1, throwing to the platform above saved 2 frames. The invincibility barrel at the end was skipped; I do not want to discuss how much time I spent making the Jaws fish NOT bite monkey ass.
Change of Kong management allowed a faster first bonus, the barrel skip halfway through, and in setting up the through-ceiling trick shown in Arne's (which we improved upon; also since it's more necessary for us not to lose a Kong here.)
I tried to make Dixie move around like crazy to make this long fight be more entertaining than before, and show off as many 'drop-barrel' tricks as possible.
Utilized the same tricks as Arne, and improved use of Squitter. The old route was already faster than getting bonus #1 and 2 first, but start+select saved even more time.
Nothing much new besides greatly improving the bonus, especially by skipping the enemy in the far upper left corner.
There is a large number of new tricks and minor glitches, so keep your eyes open!
-Skipped the invincibility barrel
-Vastly improved the bonus by 4 seconds. The route is pretty solid, since at the end we only need to move down.
-After getting the Squawks crate, got faster acceleration moving to the left.
-made a yellow bee not spawn
-Skipped Squitter. When you fly up into the vines, you can make the no animal sign be off screen to not register. This prevents becoming Squitter, and you can fly up as Squawks to get the con faster than Squitter can jump. Is this trick faster for the any%? Depends, but you can't fly above horizontal ropes as Squawks, so you'd have to follow to 102% route without the DK coin.
-When hitting the crate, bumped into the vines to land on Squawks earlier.
-Zipped up some diagonal vines. Due to the changed physics of carrying the Kongs, the trick is more defined than when used in Screech's Sprint.
-Improved the part when skipping underneath the circle of bees.
-Jumping down to the goal target is faster than rolling down there, even with a low roll.
Too bad I didn't know about the 'jump up hills' trick... oh well.
Used Arne's route, and also inserted more 'scroll camera left' tricks.
Did the first section as Diddy rather than Dixie, which saved time. But the biggest time saver came from abusing the invincibility period after hitting spikes. We came so very close to doing the first one sooner, and hovering over the last bee, but we were always pixels away from landing on the nearest ledge. We also spruced up the barrel blasting some more, which was a high point of the old run. The bonus was also improved, as was shooting to the goal target.
Followed Arne's route, collected the DK coin as Rambi rather than as the kongs, improved the 'fall into pit' trick. Charging up here rather than in front of the big bee saved 1 frame. Also improved the bonus by being able to lunge at an enemy and jump at the same time. In the old run, charging caused the camera to not let me go forward, which wasted time.
King Zing Sting:
Used Arne's trick. But added the funny bit of copying king zing as he twirled into the ground.
various little things, nothing major. Except, doing the team throw to get to the bonus rather than wait for the ropes saves time, and looks kickass. Sproing!
Here is where I found jumping up hills is faster; this was tested in bonus #1, up that very steep hill. I also found jumping before gates saves 3 frames, and various other minor optimizations. No, I could not replicate the disappearing ghost glitch from Arne's run.
Various improvements. The jump trick in the windy bonus moved us to the right a little while in the air, hehe. At the end, a low roll underneath the barrels let us only need to use one barrel, rather than two.
Parrot Chute Panic:
Various things improved, also utilized Arne's routes and tricks. In performing Arne's trick to avoid taking damage, we ducked, and jumped over one bee, and rolled past; this was roughly half a second faster. (Interestingly enough, this was done almost as a direct result of being unable to perform Arne's trick the way he did it.)
-Played the first part as Diddy. Arne did a backwards switch through the ground; we saved the switch for just before the goal target. This helped because the items on the target still scroll while the game is paused, thus removing wasting time. Improved things here and there, and showing off some neat glitches and tricks. In the old run, I aimed for 100% kills, but missed two enemies. Here, we kill every enemy except for one: the kroc that shoots the fast cannonball. By shooting a web platform on the ground, you can turn around and gain speed faster. There was no way to shoot this kroc without wasting time. Besides that, we didn't miss any enemies; not even the yellow bee that we got hit by!
Saved time here and there, used more camera scrolling to roll through more cat-o-9-tails, used the blast barrels better. Inside the bonus, NxCy kept the bees offscrene more, which prevented the need to slowdown.
We almost found a huge time saver, but unfortunately Krow starts the next phase when he gets there, meaning how fast you hit him determines how fast the fight will be. We could not, even with 60ish frames of delay, replicate the perfect luck of Arne, but we came close enough. We also chose not to use the fake death glitch, because like the disappearing ghost glitch, it was already shown in Arne's run, and thus loses its novelty.
Jumping gives you better acceleration on ice. Enguarde was used better, and we followed Arne's route when applicable.
During this stage, I attempted to find and test every single team-throw shortcut possiblity. I succeeded in finding and testing all of them; only one of them, the one at the beginning, saved time. It also saved time because I used the camera scrolling to make the kutlass be offscreen enough so that we could land on the left side of him, rather than the right and have to jump over. In some areas, team throwing would have saved time, but the wind prevented ascension. The one shortcut I really wish would have worked was with boomerang krocs, just before the DK coin. I was able to team throw off screen, avoid the wind, and land on the platforms that the krocs occupied, without getting hit by them. I then jumped up to the top (while still offscreen), moved left a little to make the screen catch up, then rolled off to get the DK coin; sadly, this was a full 2 seconds slower.
I also improved in getting to the 1st and 2nd bonus.
Big time saved here. Unfortunately, we couldn't use the golden rambi glitch; he couldn't open bonus #1, and Arne tested that taking golden rambi, getting Squawks, getting the DK coin, entering bonus #2, finishing the stage, re-entering, and doing start+select inside bonus #1 was 1,000 frames slower than what we had. (At least this time we made sure to check.)
At the start, we tested that, even by using more optimal jumping as Rambi to reach higher ledges just before bonus #1, that taking the DK barrel was faster. If you get inside the bonus, but not as Rambi, you'll still be riding Rambi inside the bonus, which allows for time saved by dismounting.
once out of the bonus, we use way smoother team throwing to get to squawks. Throughout the stage, our team throwing routes/tricks were more optimal than Arne's, allowing for improvement in the any%. After bonus #2, we team throw our way to the end.
Saved time here and there, and followed Arne's route. However, after landing on the Krusha, we rolled through Clapper rather than make him create ice; because the distance to the next barrel was shorter, this saved time. After the bonus, we grabbed the invincibility barrel like Arne, but we threw Dixie and picked her up later, which saved time (and caused the next krusha to be a golden color. The palettes get so confused in this game.) We then rolled through the bees like Arne did.
Chain Link Chamber:
Utilized Arne's route and improvements, and made our own as well. Team throwing in bonus #1 was faster. When getting to the first wall zip, we tested 3 routes:
-Killing the kutlass, like we did
-Not killing the kutlass
-Getting the invincibility barrel beforehand
Each of these three came really close, but the normal method we used won in the end. Not killing the kutlass IS possible (with a very small margin), but during the switch, he charges, which causes massive lag. The invinciblity barrel came close, but the detour to get it just didn't make up for the ability to roll through the kutlass and jump through bees.
After the bonus, I found a way to backwards switch without needing to piggy back, which saved some time.
Rattly is a ninja.
That said, with all the new shortcuts we were able to take, even with grabbing the DK coin, we were 6 seconds faster than Arne's any% when reaching the Squawks barrel. We thought of two other places to sacrifice a kong, but we calculated for them to be slower. (The DK coin sacrifice was fast because it was the most direct, removing the need to go left, up and around the thin pillars.)
As Squawks we followed Arne's route, but saved 3 frames when entering the Squitter barrel. (Yay for hitbox extending!) As squitter, we saved one platform, and spruced up the bonus.
Followed Arne's route, used low rolling in the bonus. Screech's skip was easier than I thought it would be. There was only one chance to use the vine zip thing, but we also smoothed out Squawks' movements. Also, we fixed the really embarrassing mistakes I made in the old movie where after launching from the vertical barrel, I flapped as early as possible.
K. Rool Duel:
Like the Kudgel fight, I tried to make the fight be even more entertaining than before. If you do the 'jump and let go' trick with a cannonball, it'll hover in mid air, and not go inside the cannon, which is no fun at all. Also mimicked K Rool's actions more, and didn't make the obvious mistake of doing any piggyback/team throwing actions, which pauses the game.
Reset: first possible frame to reset with game file saved. Unfortunately, the intro couldn't be skipped. Interesting factoid: we were exactly 5 minutes 0.45 seconds faster than the old run at the moment of resetting. Neat, huh? Halfway through the run we had made 5 minutes saved as our goal, so it felt cool to exactly reach that mark at the end of the K Rool fight.
Each section had improvement. Rambi and Enguarde had minor stuff. Squitter, a little bit of improvement from the route, and more killing of bees (plus, 3 specific krocs killed prevented lag. Woohoo!)
As Squawks, NxCy abused the wind sections better, so that during the long stretch at the end, he had max speed wind the whole way through. (I guess constantly speedrunning that part of the stage pays off, eh?)
As Rattly, we finished without ever having to do a super charge in the entire run. Hurrah for triple jump! Also, at the end, you normally have to wait for the red bees to move out of the way; a triple jump before let us hover over the red bees as Dixie.
Used Dixie instead, and finished the fight with a 'super throw' to enable ending of input sooner.
We hope that all of the new stuff we have given to this game is thoroughly entertaining. It feels like such a relief to finally obsolete this 2.5 year old movie. It was very strange at times to be beating my old movie by such huge amounts, while at the same time I made some intuitive choices back then that showed an aptitude for the basics of TASing. As my first run ever, the 102% has always had a special place in my heart, and it gives me great pride to visit it once again and obsolete it in the grandest way possible.
NxCy was an immensely fun partner to work with. Right off the bat he became one of the best TASers I have ever seen, and we think and act the same and bounce off each other’s ideas. He understands a game through and through, manages to find incredibly clever solutions to problems, optimizes everything, and most importantly, make everything look entertaining. His Yoshi Island videos are beyond words, and are a testament to his skill. I hope that the site sees more submissions from him, and I will eagerly jump on any opportunity to work with him again.
(Will be added later)
Many great thanks to:
- Arne_the_great, for his any% TAS and for all the tricks he discovered.
- Tompala, Halamantariel for WIP watching.
- All the patient viewers
With all the new stuff found, we may do a new any%, along with Arne_the_great.