Submission #5376: RingRush's N64 Donkey Kong 64 in 27:37.60

Nintendo 64
baseline
BizHawk 1.11.8
99456
60
68929
Unknown
Donkey Kong 64 (U) [!].n64
Submitted by RingRush on 1/28/2017 5:34:49 AM
Submission Comments
Technical details:
  • Emulator used: Bizhawk 1.11.8 (Glide64mk2 / HLE)
  • Heavy glitch abuse

Overview

Donkey Kong 64 chronicles the adventure of five simians to defeat the evil reptile King K. Rool. To get the final key to fight the King you must collect 100 Gold Bananas (think Super Mario 64 stars), thousands of loose bananas, two special coins hidden behind classic arcade games, 15 banana medallions, 4 battle crowns, dozens of banana coins, and more. The game has even made it into the Guinness Book of Records for “Most Collectable Items”.
We’re just going to skip all that.
There are two main goals in this run: spawn K. Rool, and kill K. Rool. The former requires the third and eighth key in this game - keys 1, 2, and 4-7 are supposed to be “required” to get key 8. The latter requires getting enough abilities for the Kongs that they can win the 10+ minute fight.
Central to this run is a trick called “Main Menu Mode” (MMM) that will be detailed below. Freeing all the Kongs and buying moves turns out to be a very time consuming process, but through MMM that can be skipped. Much of the start of the run is devoted to setting up and executing MMM. This includes unlocking seemingly useless features on the main menu, notably a Rambi minigame and the ability to re-watch cutscenes.
The final time of this run is slower than the best real time runners. This is for three reasons.
  • RTA timing is about 33 seconds shorter than TAS timing.
  • The Wii U Virtual Console version has minutes worth of less lag.
  • Unlike this TAS, real time runs start with main menu features already unlocked. As is standard, I avoid using dirty SRAM. This makes for a more entertaining run with less questionable validity. This choice costs on the order of 4.5 minutes.

Key Techniques

Orange Clip: DK64 is a laggy game, so the devs made you go faster in lag to compensate. By throwing orange grenades, you can cause lag spikes which quickly accelerate you and allow you to clip almost anything. These are used many times throughout the run because of how fast they are to set up. However, on average they save less than 4 seconds per clip - there are so many different ways to clip in this game that they are really only used for the bit of extra speed.
Moonkick: Cancelling an aerial attack (usually with the ground) and chaining it into a kick allows DK to elegantly gain height for a few seconds. Very useful and quick form of movement.
Skid Jump: Reversing direction and jumping right afterwards will allow a Kong to jump in a skidding animation, which they can then act out of in midair. This is useful for quick extra height.
Ledge Clip: Many ledges in this game are not well made and can be fallen through if you land on the edge correctly.
Tag Barrel Storage (TBS): There are many ways to do this trick, but the easiest one is to skid jump into a barrel, and leave crouching animation just before entering. This allows you to move around while in the tag barrel, along with a myriad of other side effects not featured here.
Telegrab: While in TBS induced invisibility (here activated by tagging a Kong outside of range of the barrel), climbing up a ledge can dramatically increase your height. The amount of height you gain is based on the distance between the ledge you grab and the Y=0 plane. I am very much simplifying here, so if you want to learn more about the intricacies of this trick or other TBS side-effects there is a ton of content.
Intro Story Glitch (ISG): Watch the Intro Story in the Mystery Menu, and cancel it ASAP after the scene starts loading. You’ll kick off an incredibly complicated glitch - so intricate that there had to be a 76 video YouTube channel dedicated to it ( https://www.youtube.com/user/IntroStoryGlitch ). See the section below.

Intro Story Glitch and Main Menu Mode, AKA “What am I watching???”

While ISG (see above) is active, a lot of weird things start happening (you may immediately notice oddities with music not playing or playing in the wrong areas). The best way to think about things is that the Intro Story, a 5 minute cutscene, is “playing in the background”. Whenever there is a fadeout in the intro, the game will try to “pull you in” to the intro the next time it sees you in a cutscene. Successfully navigating around with ISG requires avoiding cutscenes or canceling the “pull-ins” with properly timed loading zones (this will usually play a weird cutscene upon entering the next area). At the end of the intro, you gain control in DK’s house, at which point the effects of the glitch go away. The important thing to remember here is there is no way to speed up or slow down the intro story - all your actions must be based around a global timer.
If you are on the main menu when you get “pulled in”, you’ll be in “Main Menu Mode” after the intro story. This prevents you from pausing or losing health. It also keeps the state you were on in the main menu into the file. Notably, the Rambi Arena minigame gives you almost all of the moves in the game. By playing Rambi Arena and then entering MMM, you have all the moves you need to beat K. Rool without having to free the Kongs. This is such a huge benefit that it is worth getting the 6 banana fairies and Rambi crate needed to unlock the arena.

Route

After starting the game, we head to Cranky’s to spawn the training barrels and then complete two of them. This gives us the ability to throw oranges (speeds us up and is important for MMM), and also the ability to pick up barrels (needed for the K. Rool fight). There are several glitches to escape the rest of the training grounds, but an orange clip ends up being the fastest.
Next, we beeline to Banana Fairy Isle to get the camera. This lets us take pictures of fairies, which helps us unlock Rambi Arena for MMM. We immediately take a picture of a nearby fairy, activate a warp at the back of DK isles for later, and do a series of clips into Jungle Japes. There we get a fairy in a back cave (landing in the water after the photo gives us control), and transform into Rambi which is required for his arena. With two fairies in hand, we reset.
Back on the main menu, our 2 fairies allows us to activate ISG. We now have 4+ minutes to get as much done as we can while waiting for MMM (any fadeout sooner than the one used in this run wouldn’t save any time). A telegrab and a ledge clip lets us quickly get into factory before the first IS fadeout, and we enter Factory at the right time to cancel the fadeout with a new area load.
As mentioned, fadeout cancels tend to have strange effects upon reloading - here, we get kicked right back out to the lobby. After re-entering and watching an intro cutscene, we activate Chunky’s distress cutscene while kicking back into the exit portal to skip the cutscene and cancel another fadeout (which brings us right back to Factory).
While in Factory, we get another fairy, then pause exit to leave without watching its cutscene. We then demonstrate how the road to Helm is paved with good ascensions, and quickly snap another fairy in midair just before entering the lobby. Helm is demonstrated to have questionable solidity. This is not the fastest route through the area, but there are some seconds to kill and it gives a few more oranges for later. Critically, orange damage is used to skip the Key 8 dance cutscene, which prevents a fatal fadeout which would otherwise doom this route. After two more conveniently placed fairies makes 6, we are back to the main menu to finish off MMM.
Upon returning to the file, we again escape the training grounds and head back to Factory for Key 3. The Troff & Scoff portal by Chunky is chosen since it allows us to leave the quickest, since we cannot pause. Also since we cannot pause, there is no way to skip the Mad Jack intro cutscene.
Mad Jack is a deceptively difficult fight. For him to move at maximum speed you always need to be two squares ahead of him. Furthermore, his switch spawning algorithm means you need to be approaching a platform in a very specific way to get a very fast location. And of course, RNG and lag are always issues.
After Factory it’s a short trip to K Lumsy to turn in the two keys, and then on to K. Rool. This fight relies a lot on lag reduction, as well as proper timing of when to engage with him. For example, dropping lights at exactly the right frame on Diddy’s phase forces K Rool to immediately run to the next spot instead of bumbling around in pain first. After over 11 minutes we’re finally done.

Misc

DK64 emulation has been awful for a long time, but the latest revision of BizHawk is a major improvement. This run was created because this game is way overdue for a run. However, some issues remain, especially around inaccurate loading times and lag (since lag effects speed this is very important and even changes some movement strategies). I tried to avoid abusing emulation inaccuracies, such as not using artificial photo lag to clip after the second fairy.
I am open to making another run in the future if lag emulation significantly improves. As with most first-edition TASes, I know things at the end of the run that could have improved things earlier. Known movement optimization techniques and a small route tweak add up to around 4 seconds of improvement for the next iteration (ignoring the larger time loss from better lag emulation).
There are a lot of things I skimmed over in this description, even as long as it is. If you want to learn more, please get in contact with the DK64 community. If you want a sampling of what a 101% TAS would look like, I have a low-optimized demonstration here: https://www.youtube.com/watch?v=8nIfy8LO054 - check it out if you can handle bad video quality.
Mega thanks to Isotarge and Cronikeys for their work on emulation for this game. Hats off to Exchord for discovering so many things about ISG including MMM, as well as telegrab and moonkick. And thanks to everyone else who has helped or advised who I didn’t name.

Fog: Judging.
Fog: I'm currently unable to sync this TAS with either 1.11.8 or 1.11.8.2, as Donkey Kong fails a moonkick in the lava room and dies.
I'll need more information from RingRush to figure out what's going on here.
Fog: This has been sync checked by Spikestuff, so the judging can continue.
Fog: I've synced this personally now, using a pretty under-powered Windows tablet.
This has definitely been a long awaited TAS, with a lot of work put into it by not only RingRush, but also Isotarge, Cronikeys, and the BizHawk developers for making it possible for this game to be TASed in the first place.
The overall quality of the TAS is top notch, but there are a few things which should be addressed:
Normally in regular speedruns of DK64, runners would use dirty SRAM from the cart (as the cart can not be cleared of certain progress without external hardware). Because of this, this run decides to start with a completely clean slate, and unlock everything needed for ISG and MMM to work properly. I feel that this is actually more of a benefit for the TAS, as it provides greater entertainment value compared to just using dirty SRAM to be equivalent to console speedruns. Any future TASes that would want to obsolete this particular TAS would also need to start from a clean SRAM if it wants to be published here.
Secondly, in the course of waiting for this particular run to be judge, a new trick was discovered which can possibly make this particular TAS obsolete. Because this trick is in it's early stages of routing, attempting to find where it would be most applicable, I'm not going to delay this TAS to implement this new trick into the run for a small time save. A new submission with the new glitch can be submitted as per usual in order to obsolete this particular run.
With that being said, I'm accepting this run for Moons! Great Job!
feos: I'll be working with thecoreyburton again, to help him encode the crap out of this run, as usual. Don't expect this soon though, we'll be developing a resync workflow to use GlideN64.
Last Edited by adelikat on 10/20/2023 2:49 AM
Page History Latest diff List referrers