Donkey Kong

a.k.a. Donkey Kong '94
This version of Donkey Kong follows the same premise as the original game from the 1980s, in that Mario is tasked with rescuing Pauline from the eponymous Donkey Kong. Besides adding over 90 additional stages to the original 4 stages, this release also introduces many new game-play mechanics which both help and hinder Mario from reaching his goal. Some of these new elements are patterned off concepts from other Mario games including Donkey Kong Jr., SMB, SMB 2 (USA), and SMB 3.

Game Notes

Where the 1981 Original (and most of its ports) only allowed Mario to complete his quest by running, jumping, climbing ladders, and smashing stuff with hammers. He was hindered by broken ladders, enemies, conveyors, barrels, and holes in the floor. This version adds numerous mechanics which both help and hinder Mario in his quest to save Pauline.
  • Worlds & Stages - First and foremost, the original game only had 4 different stages that repeated (some ports only have 2 stages). This game has 10 themed worlds each with anywhere from 4 to 16 unique stages. None of the stages are repeated through the game.
  • Falling - Falling has been modified. In most ports of the original game, falling even a short distance on a stage (anything greater than jump height) resulted in Mario's death. In this version, typically Mario can fall from one platform to another immediately below it without dying. Specifically if Mario falls too far, he will land on his face and be stunned for a second; if he falls even further, he lands on top of his head and dies. The increased freedom gained from the new fall mechanics are seen throughout the run.
  • Flip Jump - Holding down while jumping allows Mario to jump onto his hands. In this position, Mario can block some projectiles with his feet (which is necessary to obtain barrels to use on DK fights). He can also move horizontally, albeit at a slower pace than normal running.
  • Handspring Jump - Jumping quickly out of the handstand position allows for slightly higher jump and slightly faster horizontal motion than a standard jump.
  • Triple Jump - This jump allows for an even higher elevation jump. To perform, a flip jump is immediately followed by a handspring jump, then when Mario lands he ducks for a moment. During this ducking phase, a third jump can be performed which is the highest intended jump in the game.
  • Back Flip - A higher jump than standard, but not as high as a triple jump. Performed by pressing the opposite direction of movement and immediately pressing the jump button. This mechanic is utilized a lot (and somewhat abused in this run).
  • Hammer Throwing/Catching - While the original game required Mario to wait out the duration of the hammer power-up, this game allows Mario to toss a set of hammers straight up into the air to either discard them or transfer them to a higher position in the stage (assuming he can also get himself up there to catch them before they fall too far down). If Mario initially obtains or catches a hammer with upward momentum, this momentum is preserved.
  • Vine Climbing - Mario is able to climb vines much as DK Jr. does in his own game.
  • Swimming - Mario can swim similar to how he does in SMB1.
  • Temporary Stuff - Throughout the game, there are places where temporary items are utilized. These disappear after a set time.
    • Ladders
    • Platforms
    • Springboards
    • Blocks
  • Tightropes - In some stages there are wires stretched between to locations. Mario can either shimmy his way along these or swing his body around them like a gymnast then fling himself off in a dismount that can project him across the stage or to heights that jumping could not equal.
  • Keys - While there are some stages that mimic the original game in that the goal is to simply reach Pauline, most stages instead require Mario to obtain a key to unlock a locked door as he chases DK and Pauline.
    • Jump to Door - When finishing a stage with a door, Mario triggers the end of the stage when his feet hit the floor along a range of X-positions from one side of the door to the other. When this stage-end is triggered, Mario walks to the door, unlocks, it and runs through. If Mario hits this end trigger at the furthest point possible, it can take longer to walk to the door than if Mario simply jumps over the trigger and lands perfectly at the door.
  • Switches - Switches have various effects and are can be triggered by DK, DK Jr., or Mario himself.
    • Retractable floors
    • Retractable walls
    • Conveyor direction
    • Elevator motion/direction
  • Dangers
    • Spikes/Lava - If Mario is empty handed, these cause instant death. Otherwise, they cause him to drop the item he's carrying and be stunned briefly.
    • Enemies/Projectiles - Various enemies wander around the stages. Many are deadly to contact; some can be stood on top of and even picked up. Some shoot projectiles that kill Mario or cause him to drop things.
    • Thwomps - While faceless in this game, they are effectively the same as those in SMB3. One exception is that Mario can stand atop them.
    • Mushrooms - Mushrooms in this game actually cause Mario to shrink instead of grow (only seen in a cut scene in World 4)
  • Mini-Boss stages - At various checkpoints through the game (typically 1/2, 1/3, or 1/4 of the way through a given world) Mario will have a stage that mimics the classic 'reach Pauline' concept; these don't require obtaining a key.
  • Boss Battles - At the end of each world, Mario must battle it out with DK. In addition to any other hazards present in the stage, DK will hurl barrels at Mario. Mario typically must use a handstand to block these barrels and stop them so they can be picked up and thrown back at DK. Three hits on DK and the stage ends.
    • Occasionally, DK will throw little walking creatures instead of barrels. Mario uses these instead of barrels to defeat DK.
  • The Final Battle - The final stage of the game is a battle between Mario and a GIANT DK (ala King Kong). In this battle, DK must be hit by 6 barrels total. After each two, DK will leave the screen then return; thus at least 3 cycles are necessary to defeat him.
  • Bonus Stages - Thought not seen in this run, bonus stages can occur in all worlds from 1 onward and allow Mario to earn extra lives. They happen after each stage when all three bonus items (Pauline's parasol, purse, and hat) are collected within the stage itself. As this would obviously add unnecessary time, they are avoided. If someone were daring enough to do an All Items branch of this game, these bonus stages would be incorporated.

TAS Notes

  • Emulator used: Ultimately this run was completed on BizHawk 2.4.2, but it has been an ongoing project since probably before v 2.0
  • Game Version Used: USA/JPN v1.0 - This version's glitches are slightly different than v1.1 and movement can be started slightly earlier in some stages.
  • Mode: GBC in GBA mode was used as that's what would be needed to console verify this run (at least to my understanding). Unfortunately we've learned that uninitialized RAM won't allow for console verification...at this time.
  • Objective: Beat the game as fast as possible from starting a blank file to final input to defeat DK
  • Rerecord Count: As this TAS was created using multiple emulator releases over the past few years, The inputs were copied and pasted multiple times across multiple files. Due to this, I don't know the exact rerecord count. As best I can estimate from looking at a few of the files' headers, it would be approximately around 180,000 rerecords. If anything, the actual number is higher.
    • Given that the actual value is unknown, I've set the header in the submitted file to zero.
  • Soft Resets - Soft resets are used at the end of each world (after saving) as it's a faster method to get to the next world's first stage than waiting for the animation that would normally play between worlds.
  • Cut Scenes - Sadly these cannot be skipped.

Glitches Utilized

  • Air Jump - If Mario slides off a platform while crouched going into the 3rd jump of a triple jump, there are a few frames in which he can effectively jump from mid-air. This often breaks the path that developers intended Mario to take through a level.
  • Wall Jump - As with many Mario games, it's possible (though unintended) to wall jump. If Mario's trajectory positions his sub-pixel position correctly where two wall blocks meet, he "lands" and can jump off the wall.
  • Wall Walking - On occasion, there are walls with platforms on top of them. If jumps are performed correctly, it's possible to land on top of the wall, but not on top of the platform. This can sometimes break the developer's intended path through a stage.
  • Key Glitches
    • Throw & Catch - If Mario throws the key upward then jumps (typically back flips) up to the key, he can re-grab the key at the higher elevation. This can sometimes allow Mario to reach platforms higher than he could otherwise jump to if he catches the key at the right time.
    • Back Flip Key Grab - If Mario picks up the key during a back flip various glitches can result. As a side note, this is often the fastest way to pick up the key as well. The following result after back flip key grabs:
      • Double Tumble - When jumping off a ledge then falling far enough to tumble after, the key will stick in its vertical position for a few frames and Mario will be invulnerable. Unfortunately he is unable to climb ladders (as if he is still carrying the key). If a second fall and tumble occurs, the key will freeze in its position and Mario will now be able to move as if he's not carrying the key. Reaching the door in this state will still allow Mario to complete the stage.
        • Tumble Cancel - If Mario throws the key at the right moment just before a tumble after a back flip grab, his tumble animation will be canceled and he'll automatically retrieve the key.
      • BASE Jumping - Normally, if Mario falls too far while holding the key he will drop it. The back flip grab prevents this from happening, and Mario can fall much farther without dropping the key. If Mario lands on the end trigger, he can finish a stage after one of these long falls that would otherwise kill him.
    • Key Riding - If the key is falling and Mario can manage to land on top of the key as it falls, Mario can travel any vertical distance without taking damage. In this state, Mario can pass vertically down through elevator platforms unhindered.
  • Ejection Abuse/Clipping - When an object (including Mario or the Key ) becomes clipped into a solid object, the game ejects the first object vertically. This is used to rapidly transport the key upwards in a stage. It's also used to clip Mario vertically upward and break the developer's intended stage path. When Mario is being ejected, he can still actively move right and left.
    • Sir Shove-a-Lot clipping - One of the enemies will push Mario around. If Mario is one block lower than this enemy and standing on a floor that can normally be jumped upward through, jumping just as the enemy reaches Mario allows Mario to be pushed through the floor breaking developer intended path.
  • Extended Handspring - When a flip jump is performed correctly on a springboard, it allows Mario to jump even higher than he'd normally be able to with a normal jump off the springboard.
  • Walk Through Spikes - Details on this glitch will be explained in the stage they are part of.
  • Out-of-Bounds Boss Stage End (OOB Stage End) - On a couple Boss stages, it's possible to be ejected out of bounds by clipping up through Pauline. This is currently only known to work on 2 stages and requires at least 2 factors:
    • 1) The total time of the three previous stages must fall within in a certain range.
    • 2) The game must have been reset after the previous Mini-boss stage.

Stage-By-Stage Comments (Primarily glitches used, but some other pertinent info as well.)

  • Construction Yard (World 0) - This world is all 'reach Pauline' style stages: remakes of the original 1981 game's 4 stages.
    • 0-1 - Normal movement via back flips
    • 0-2 - Normal movements. The jump to the platform with the hammer is shortened by Mario hitting his head on the burning barrel.
    • 0-3 - Mario catches the edge of the elevator platform after a handspring jump to execute an air jump up to Pauline
    • 0-4 - Normal movements but abuses the newly introduced falling freedom to trigger rivet hit boxes while falling through the air.
  • Big-City (World 1)
    • 1-1 - Wall jump is used to reach the key faster.
    • 1-2 - Wall Jumps.
    • 1-3 - Everything here is normal motion. An interesting hammer duplication glitch occurs (I'm not sure why), but it affects lag. Interestingly, I couldn't beat the level faster NOT duplicating the hammer.
    • 1-4 - Wall jumps break developer's intended path.
    • 1-5 - Normal Movement. This is the first instance of Jumping into the Door, but it's not very obvious.
    • 1-6 - Wall Jumps & Wall Walking
    • 1-7 - Wall Jumps, Wall Walking, Throw & Catch. This is the first obvious instance of Jumping into the Door.
    • 1-8 - Normal movement (and some goofing off)
  • Forest (World 2)
    • 2-1 - Air-Jump and Double Tumble. (minor delay to get a 190 instead of a 191)
    • 2-2 - Ejection Abuse. Air Jump.
    • 2-3 - Abuses poor stage design to break developer's intended path. The temporary ladder is placed under the retractable wall to prevent it from coming down fully and allows Mario to walk through where the developers intended a wall to block him.
    • 2-4 - Extended Handspring. This also demonstrates how Mario won't grab vines during a triple jump. He will normally grab vines during a regular jump or back flip jump.
    • 2-5 - Normal movement.
    • 2-6 - Normal movement. A jump into the end-trigger does not land perfectly at the door. This is done to yield a 140 on the timer instead of 139.
    • 2-7 - Wall Jumps
    • 2-8 - There are two glitches here that involve the spring that DK throws (I don't really understand how either work).
      • 1) Initiating a flip jump at the right moment against the left wall just as DK picks up the spring results in a higher than normal flip into the handstand and places Mario on the upper platform.
      • 2) The spring is somehow involved with the clip through the floor and into the non-climbable ladder which then ejects Mario upward to reach Pauline much faster than intended.
    • 2-9 - BASE Jump to skip intended path.
    • 2-10 - Wall Jumps
    • 2-11 - Normal Movement
    • 2-12 - It is not possible to stop both the 1st and 2nd barrel, thus the second is allowed to leave the stage. The rest is normal movement/battle.
  • Ship (World 3)
    • 3-1 - Normal movement.
    • 3-2 - Wall Jump. Tumble Cancel. Throw & Catch.
    • 3-3 - Sir Shove-a-Lot clip.
    • 3-4 - Air Jump. This stage uses a clip similar to that in 2-8 but this time using a thwomp to clip Mario through a platform instead of the spring. This stage also uses standard clipping and ejection abuse to get up by DK, jump over him, then jump off screen and climb down the ladder to reach Pauline, completely breaking the developer's intended path.
    • 3-5 - Single tumble (only the first of the double tumble glitch).
    • 3-6 - Wall Jump using temporary platform,
    • 3-7 - Wall Jump.
    • 3-8 - Normal movement/battle.
  • Jungle (World 4)
    • 4-1 - BASE Jump
    • 4-2 - Thwomp clip.
    • 4-3 - Wall Jump
    • 4-4 - Wall Jump
    • 4-5 - BASE Jump
    • 4-6 - Throw & Catch
    • 4-7 - Wall Jump
    • 4-8 - Wall Jump. Killing the enemy with the coconut is unavoidable without losing time.
    • 4-9 - Normal (albeit fancy) movement
    • 4-10 - Normal Movement (frogs are used to move vertically as needed)
    • 4-11 - Wall Jumps completely break developer path intent
    • 4-12 - Normal Movement/Battle. Interestingly, I achieve a double kill here; I hit DK for the 3rd hit and fall far enough to die at the same time. However, as the stage end has already been triggered, Mario doesn't die (even though the SFX for him landing on his head plays); and progress to the next stage occurs.
  • Desert (World 5)
    • 5-1 - Normal movement. This stage introduces the Mega-Hammer which is necessary to break some blocks which otherwise hinder progress.
    • 5-2 - Getting the bone throwing skull to cooperate was a pain.
    • 5-3 - Wall Jump.
    • 5-4 - Wall Jump. There is an intentional delay at the end of this stage to set up RNG for better enemy movement in stage 5-6.
    • 5-5 - Walk Through Spikes. In this stage, there is a wall that has a conveyor sitting on top of it with spikes directly on top of them. It's intended for Mario to throw the key onto the conveyor so it goes over to the door while he travels around the long way. However using a back flip into a wall walk followed by holding both down and right, it's possible to glitch the game into thinking Mario is crouching while still allowing him to run side to side. As the game think's Mario is crouching, he's not 'tall' enough to hit the spikes thus he walks right through them. It's unknown exactly why this glitch happens, but it is believed to be connected to both the wall walking position and the conveyor being on top of the wall.
    • 5-6 - This is all normal movement. However, it required the RNG setup from stage 5-4 as well as some frame perfect timing on retrieving the key just before unlocking the door.
    • 5-7 - Double Tumble
    • 5-8 - Normal Movement
    • 5-9 - Wall Jump
    • 5-10 - Ejection Abuse, Wall Jump
    • 5-11 - Normal Movement. A temporary block is used to block a retractable wall.
    • 5-12 - The pharaoh heads are used to hit DK. After DK throws them and they land, they sit still for a moment then begin moving. Their hitbox does not populate until they begin crawling around. Thus, if Mario picks them up before they move, they will be ineffective in hitting DK as they have no hitbox; they instead just pass right through him. Thus apparent delays in picking up the heads is for this reason.
  • Airplane (World 6)
    • 6-1 - Wall Jump. BASE Jump.
    • 6-2 - BASE Jump.
    • 6-3 - BASE Jump.
    • 6-4 - Wall Jump.
    • 6-5 - Wall Jump.
    • 6-6 - Wall Jump. Tumble Cancel
    • 6-7 - Wall Jump. Double Tumble
    • 6-8 - Normal Movement.
  • Iceberg (World 7)
  • As with other video games with ice levels, this world introduces ice physics for running and stopping/sliding.
    • 7-1 - Wall Jump. There is an unfortunate wait at the beginning of this level waiting for the Fireball to melt the impassable ice so Mario can progress through. I just goof off during this time.
    • 7-2 - Wall Jump. Tumble Cancel
    • 7-3 - Normal Movements. This is the first stage with a hidden doorway.
    • 7-4 - Ejection/Clipping Abuse. This stages uses the Thwomp to lift Mario and a precisely timed jump clips him up through the floor to the end.
    • 7-5 - BASE Jump.
    • 7-6 - Ejection/Clipping Abuse. Wall Jump.
    • 7-7 - Pseudo Double tumble; falling into the water after the first tumble acts as a second tumble and gives Mario free movement. This conveniently stops the key right near the door. Then placing a temporary ladder under the door tricks the game into thinking there's a platform under it and allows the end stage trigger to be triggered even though Mario continues to fall through the screen.
    • 7-8 - Wall Jump
    • A soft reset is performed after 7-8 in order to enable the OOB End Stage glitch for 7-12
    • 7-9 - Normal Movement
    • 7-10 - This stage uses a weird movement glitch that's a combination of a Triple Jump and a Wall Jump by 'landing' on the spike's platform to crouch into the 3rd jump. There is a few second long delay at the end of this stage so that the timer value is appropriate to execute the OOB End Stage glitch in 7-12. I probably should have goofed off a bit, but didn't. It may be possible to add something in without affecting future stages, but I'm not sure. RNG may be affected if Mario's movement triggers a random event.
    • 7-11 - Wall Jump. Tumble Cancel.
    • 7-12 - This is our first OOB End Stage glitch. To trigger the glitch, the two requirements must be met, then Mario must manage to clip out of bounds through Pauline and finally move while off screen to certain coordinate location. This then somehow triggers the end of the stage even without attacking DK. This is MUCH faster than battling him. The time saved is enough that the delays necessary to set up this glitch don't negate the benefit. SIDE NOTE: I do have a version of the run that does not use these OOB glitches. However, RNG is different for stages from 7-9 onward in that run.
  • Rocky-Valley (World 8)
  • This is the only World with 16 stages.
    • 8-1 - Normal Movement
    • 8-2 - Throw & Catch.
    • 8-3 - Throw & Catch.
    • 8-4 - Wall Jump
    • 8-5 - Wall Jump. Double Tumble. Wall Walk. Pseudo Double Tumble - Similar to how the water yields the same effect as a 2nd tumble in 7-7, This stage uses the hammer to replace the 2nd tumble and get Mario into a free movement state that can still unlock the door.
    • 8-6 - Ejection/Clipping Abuse. Key Riding.
    • 8-7 - Key Riding. Throw & Catch.
    • 8-8 - The fastest way to the middle platform is jumping from a rolling boulder. Thus there is a goof-off wait at the beginning of the stage while waiting for the boulder to arrive.
    • 8-9 - Ejection/Clipping abuse.
    • 8-10 - Key riding.
    • 8-11 - Wall Jump
    • 8-12 - Normal movement.
    • A soft reset is performed after 8-12 in order to enable the OOB End Stage glitch for 8-16
    • 8-13 - Throw & Catch
    • 8-14 - Air Jumps. Wall Jumps. Ejection/Clipping Abuse.
    • 8-15 - Air Jumps. Wall Jumps. Ejection/Clipping Abuse. There is a very minor but intentional delay so that the timer value is appropriate to execute the OOB End Stage glitch in 8-16.
    • 8-16 - This is the 2nd OOB End Stage glitch.
  • Tower (World 9)
  • With the exceptions of 9-4 and 9-8, every other stage in this world is a classic 'get to Pauline' style stage.
    • 9-1 - Normal Movement
    • 9-2 - Normal Movement
    • 9-3 - Wall Jumps
    • 9-4 - This stage is a remake of the classic key stage from the original Donkey Kong Jr. There is a delay after inserting the final key before Mario is transported to the top of the screen. It's possible to die during this time, so I chose to dive for the ground and catch the rope near the bottom. This fall does not delay the transfer up.
    • 9-5 - This looks like normal motion, but some of the jumps are done from the bottom of a block not the top...meaning they're effectively wall jumps.
    • 9-6 - Normal Movement
    • 9-7 - Normal Movement
    • 9-8 - Normal Battle - Slight delay to yield better RNG for the Final Battle.
  • Final Battle - There is a lot of down time here, so I tried to goof off a bit. I'm sure I could have done more fancy stuff...but I'm not the best at goofing off during down time. The final barrel is thrown as early as possible.

Comparison to Humans

The current RTA world record for this game is 1:00:01.466 or approximately 215,107 frames by PTO. However, RTA runs are timed is a bit different than TAS timing. RTA runs start timing on file selection and stop time at the last hit on GIANT DK. Using the RTA timing method, this submission's time would be 0:54:16.624 or 194,510 frames -- a difference of about 5:45
A five and a three-quarter minute difference over the course of a 1 hour run is a significant difference, but the difference becomes even more meaningful when one considers the number of frames in which inputs by the player have no affect on the game time: (we'll call these Worthless Frames for shorthand)
Counting (from file selection to the final throw at Giant DK) all the Worthless Frames yields 123,393 frames. These Worthless Frames are comprised of cut scenes, lag between stages, etc. This value should be relatively equal between both a human and a TAS with a few frames of leeway.
Subtracting the Worthless Frames from the total frames yields the number of frames that the player is actually impacting the run's time (We'll call these Game-play Frames).
  • Side note: I actually counted lag within the stages toward Game-Play Frames not toward Worthless Frames as that lag is affected by input and what's happening within the stage and thus the number of these may likely be different than what they would be for a human.
If we consider only Game-Play Frames, this TAS has 71,118 frames; or a time of 19:50.708
This time is the effective amount of time that the TAS "plays" game elements.
Looking at only Game-Play Frames for human RTA yields 91,714 frames or a time of 25:35.541.
Breaking down this comparison:
When only comparing the total time, this TAS beats the game in about 90.42% the total time it takes a human.
But if the Worthless Frames are discounted from both the TAS time and human RTA time and only the Game-Play Frames are considered; the TAS actually beats the game in about 77.54% of the time it takes a human speedrunner to accomplish the same feat.

Potential Improvements

  • OOB End Stage Glitches: The two OOB glitches used are the only two currently known to work.
    • It's been theorized that other DK battle stages may also have this glitch, but none are known at this time. It's not completely understood why this glitch works the way it does nor how the timer and reset are involved; it's only known that they're necessary. If someone were able to decipher WHY these happen (specifically with regards to the timer value), then investigation into whether or not other battle stages may be beaten this way could be accomplished more easily. Brute force trial-and-error may prove the glitch to work in other battle stages, but the time it would require to perform all the necessary permutations via brute force would be insane.
  • General RNG Info: The sequence of RNG values is only advanced when a random event occurs. The calculation to determine the next value has been deciphered from the game code and is somewhat complicated. Putting the calculation here in the submission notes would be mostly pointless, as even knowing what the next value will be tells the player/TASer nothing about what effect the value itself will have. Thus RNG doesn't currently affect TASing beyond watching when it changes and seeing how waiting for a new value affects future stages.
    • It is absolutely possible that differences in RNG will impact enemy movements and stage events in ways that could shorten the overall time of this run. In fact, some of the stages I TASed before introducing the OOB glitches are shorter than the equivalent stages in this TAS due to changes in RNG. Unfortunately, any change made in the game that affects RNG will force a near complete reTAS of all subsequent material through the end of the game.
    • RNG Manipulation: A lot of elements of this game are determined by RNG. While the RNG value itself (and its RAM address) are known. There are very few opportunities to actively manipulate this value. Known ways include:
      • Hard Reset (Power Cycle) - This will effectively reset RNG value to 15 (in BizHawk) at game initialization. (On real hardware it may not always be 15, the reason is not pertinent to this submission but essentially has to do with uninitialized RAM).
      • Soft Reset - This will perform a bitwise AND with 15 on the previous RNG value to yield one of 16 possible values.
      • Waiting - waiting for a random event to occur will advance RNG one value in its natural sequence.
      • Enemy Manipulation - Some enemies call the RNG value for animation purposes and/or for direction of movement. There are a few (but very few) enemies who's animation/movements are determined by Mario's relational position to the enemy. IF one of these enemies also calls RNG for an animation or movement after Mario initiates an interaction, only then the value will be advanced one in the sequence. This is the only known way (besides just waiting) to actively force or restrict an RNG change through game-play actions; forcing the sequence to advance by initiating the interaction or restricting the sequence advance by avoiding the interaction.
I fully expect that with enough study into the RNG and how to control the ideal sequence of values, that this run could be beaten. However, the effort that it would require to do so would be very involved and take quite some time.

Acknowledgements

A huge "Thank you!" goes out to the RTA runners of this game. While I'm the sole author of this TAS, I worked closely with many of them in the DK'94 discord server regarding strategies and theories that would improve the run. The back and forth between myself and them had a major impact on the resulting submission as presented. Specifically, members of that community include PTO, Civel, LudwigVonKoopa, Nardiko, and NullSprite. I'm sure there were others, but I'm blanking on names at the moment (please forgive my awful memory).

Suggested Screenshots

Frame 194887

Memory: ok so like my favorite GameBoy game yeah I'm claiming this.
fsvgm777: Replaced movie file with one that has the correct cycle count.
Memory: Soooooooooooo this movie was absolutely incredible. The key glitches, clips, and wall jumps were all incredible. The boss skips in particular were a huge surprise to me. I made so many noises while watching this TAS that I had never made while watching a TAS before (SHUT UP SAMSARA). The audience loved it too.
Accepting to Moons but I wouldn't be surprised to see this reach Stars.
fsvgm777: Processing (after Heroes of the Lance).
Memory: Replacing file with a 663 frame improvement.
DrD2k9: In light of updated bk2 file: Updated the values in "Comparison to Humans", Updated Suggested Screenshot frame number and image.
fsvgm777: Processing (for real this time).


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15580
Location: 127.0.0.1
This topic is for the purpose of discussing #6825: DrD2k9's GB Donkey Kong in 54:15.44
nymx
He/Him
Editor, Judge, Expert player (2234)
Joined: 11/14/2014
Posts: 932
Location: South Pole, True Land Down Under
It has been a pleasure to see this run in development over the past 6 months or so. Having TASed this myself on a limited basis, I can certainly appreciate the work on areas that I wasn't able to get (mainly in the first few worlds). One of the big points I see is that the wall-jump (a humanly possible technique, yet very difficult and run killing if done in a risky situation) has certainly made a difference. Being 5 1/2 minutes faster is quite a feat...espeically since the human run is also done so well. Having played this game myself, when it first came out, I thoroughly impressed at your work. Great job and glad to see this released.
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Cyorter
He/Him
Editor, Player (249)
Joined: 2/8/2017
Posts: 138
Location: Venezuela
You don't get tired of Donkey Kong, right? Heh... I'll watch it when I finish my things to do.
TiKevin83
He/Him
Ambassador, Moderator, Site Developer, Player (155)
Joined: 3/17/2018
Posts: 358
Location: Holland, MI
This is an exceptional TAS. Really every angle has been explored and detailed in the submission notes, and I appreciate the ongoing work on the console playback. The gameplay has the superhuman look you expect of a TAS, from a quick glance I love what I see in 4-5 and 4-6 - I'm a big DK Jr fan with the rope swinging levels :) - juggling the key through that is hilarious
Player (13)
Joined: 6/17/2006
Posts: 508
This is Star material in my opinion. Yes vote! One thing I've always wondered about this game is what causes Mario to shut the door behind him sometimes at the end of a level. This appears to be a source of time loss, so I'm surprised to see it often in this TAS. Is that event not RNG-based?
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
Watched a little bit of this, it looks very technical and entertaining! (Also I love how the game starts out in a fakeout until you beat the first world.)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Samsara
She/They
Senior Judge, Site Admin, Expert player (2238)
Joined: 11/13/2006
Posts: 2822
Location: Northern California
My excitement for seeing this submission exhausted me so much that I had to take a nap. Worth it. I've been waiting for a DK94 run for years and this absolutely didn't disappoint. Thanks for making it, amazing work, Yes vote!
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
fsvgm777
She/Her
Senior Publisher, Player (226)
Joined: 5/28/2009
Posts: 1213
Location: Luxembourg
This TAS was an absolute treat to watch. 3-4 and the final fight against DK were especially entertaining to me (I was pretty entertained throughout the movie, btw, don't get me wrong, I feel these were the standout points for me). The only thing I kinda missed were the SGB's enhanced audio at the beginning, but after a short while, I just didn't care about it anymore. Yes vote on entertainment. BTW, here's a userfile that corrects the cycle count for this submission. I double checked against the temp encode, and it appears the time I got matches the timestamp of the final input in the temp encode (54:26). EDIT:
SmashManiac wrote:
One thing I've always wondered about this game is what causes Mario to shut the door behind him sometimes at the end of a level. This appears to be a source of time loss, so I'm surprised to see it often in this TAS. Is that event not RNG-based?
If I recall correctly, if you clear a regular stage with more than 150 seconds left on the timer, you get the extended clear animation (Mario shutting the door behind him).
Steam Community page - Bluesky profile Oh, I'm just a concerned observer.
DrD2k9
He/Him
Editor, Judge, Expert player (2213)
Joined: 8/21/2016
Posts: 1090
Location: US
SmashManiac wrote:
One thing I've always wondered about this game is what causes Mario to shut the door behind him sometimes at the end of a level. This appears to be a source of time loss, so I'm surprised to see it often in this TAS. Is that event not RNG-based?
So I feel like a bit of an idiot in not even noticing that those two options happen. That said, I've gone back and looked into it a bit. There is no advancement of RNG for either animation, and I've googled and found a couple sites claiming the same as what fsvgm777 mentioned regarding it being related to the time left on the timer. For what it's worth, the animation that closes the door is 38 frames longer than the one that doesn't. So the only potential improvements in this run would be stages that finish with less than 38 frames until the next timer tick that would break the threshold that determines which animation is played. If that threshold is indeed always 150, then only levels that finished with a 150 remaining on the timer would be improvable. I checked, and none of the stage times in this run were exactly 150 remaining; so I don't think trying to save time this way is worth pursuing further for this particular TAS.
EZGames69
He/They
Publisher, Reviewer, Expert player (4461)
Joined: 5/29/2017
Posts: 2762
Id also agree that this is star worthy. Yes vote.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
JorWat25
He/Him
Player (18)
Joined: 1/15/2015
Posts: 79
Location: United Kingdom
I could have sworn there was a DK94 TAS... Great work! This looks like it's had a lot of effort put into it. EDIT: I guess I'm thinking of [2996] GBA Mario vs. Donkey Kong by Chef_Stef in 37:23.32.
Player (13)
Joined: 6/17/2006
Posts: 508
DrD2k9 wrote:
SmashManiac wrote:
One thing I've always wondered about this game is what causes Mario to shut the door behind him sometimes at the end of a level. This appears to be a source of time loss, so I'm surprised to see it often in this TAS. Is that event not RNG-based?
So I feel like a bit of an idiot in not even noticing that those two options happen. That said, I've gone back and looked into it a bit. There is no advancement of RNG for either animation, and I've googled and found a couple sites claiming the same as what fsvgm777 mentioned regarding it being related to the time left on the timer. For what it's worth, the animation that closes the door is 38 frames longer than the one that doesn't. So the only potential improvements in this run would be stages that finish with less than 38 frames until the next timer tick that would break the threshold that determines which animation is played. If that threshold is indeed always 150, then only levels that finished with a 150 remaining on the timer would be improvable. I checked, and none of the stage times in this run were exactly 150 remaining; so I don't think trying to save time this way is worth pursuing further for this particular TAS.
Thanks for the info! Might be worth confirming this 150 seconds threshold for a potential future update though.
DrD2k9
He/Him
Editor, Judge, Expert player (2213)
Joined: 8/21/2016
Posts: 1090
Location: US
SmashManiac wrote:
Thanks for the info! Might be worth confirming this 150 seconds threshold for a potential future update though.
Confirmed through testing. I tested by poking values into the timer RAM address just before the end of stages. The threshold does appear to be 150 across all stages. Even with ones that start with only 150 seconds on the clock; poking a value above 150 yields a shut door, poking anything below 150 yields an open door. Whew! One less thing to worry about (multiple thresholds) on any future TAS.
Challenger
He/Him
Skilled player (1689)
Joined: 2/23/2016
Posts: 1061
I wanted to see a TAS of this game, and now we have it. Very well executed run! I'm really surprised how broken the game is - including unintended ways (noticed several times) to finish a stage. Yes vote.
My homepage --Currently not much motived for TASing as before...-- But I'm still working.
DrD2k9
He/Him
Editor, Judge, Expert player (2213)
Joined: 8/21/2016
Posts: 1090
Location: US
So for those who would have rather had this TAS in Super GB mode (for the sound of Pauline yelling "Help!"), a simple conversion of movements isn't going to work. The RNG is different due to the initial value in the RAM at power-on. Thus, I can't do a simple conversion by converting frame inputs to the other format.
Player (36)
Joined: 9/11/2004
Posts: 2630
Having worked on this game quite a bit a number of years ago, this movie is a definite yes vote from me.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
fsvgm777
She/Her
Senior Publisher, Player (226)
Joined: 5/28/2009
Posts: 1213
Location: Luxembourg
Just as a note for publishers/encoders: I'll be encoding and publishing this movie once it's accepted.
Steam Community page - Bluesky profile Oh, I'm just a concerned observer.
Fortranm
He/Him
Editor, Experienced player (878)
Joined: 10/19/2013
Posts: 1121
Real Mario TASes get 99 lives, and this movie is one of them. Yes vote. :P https://www.nicovideo.jp/watch/sm12582961 There is a TAS of this game from a decade ago, but I guess it has a shorter time only because of emulation inaccuracies.
DrD2k9
He/Him
Editor, Judge, Expert player (2213)
Joined: 8/21/2016
Posts: 1090
Location: US
Fortranm wrote:
Real Mario TASes get 99 lives, and this movie is one of them. Yes vote. :P
Hah...this one gets WAY more than 99. I considered counting but have been too lazy to actually count them all.
Fortranm wrote:
https://www.nicovideo.jp/watch/sm12582961 There is a TAS of this game from a decade ago, but I guess it has a shorter time only because of emulation inaccuracies.
I have a copy of that run with both parts 1 and 2 combined together. As best as I can figure...from power-on to the input for the final throw is actually roughly 56:14. Even adding the times of the two individual parts directly on the nicovideo site yields approximately 56:14 for the final input (so nothing was changed when I combined them). I'm not sure how that author calculated the 53:46 time, but this submission is faster. While some of the stages in that run may beat the equivalent stage in this run, the two runs start with different RNG seeds/sequences which is visible as early as the 2nd stage (the fireballs jump the opposite direction out of the barrel). For what it's worth, I believe I know the RNG value that the nicovideo run starts with. I also believe that it may be the same value that TiKevin83's hardware initializes to. I've already begun working on a new version of the TAS which will use this starting RNG seed/sequence in hopes that it will console verify. Obviously that version wouldn't be able to be submitted because the RNG seed would need poked into RAM at the onset of the run (using GBC in GBA core mode). There is a possibility that a run that syncs on the console could be converted to the SGB mode (as I believe the RNG seed for SGB core may match the console). If so, I may consider converting it and ultimately submitting an SGB run if the result happens to be faster than this submission. It is only that theoretical submission that could be directly compared to the nicovideo run. As an interesting side note: I have no idea what emulator that the nicovideo run was made with. It appears to have been done in an emulator that uses the SGB border, but it doesn't have the SGB enhanced sound of Pauline screaming for help. It also lacks the non-enhanced tones that are used for her scream on standard GB or GBC hardware.
fsvgm777
She/Her
Senior Publisher, Player (226)
Joined: 5/28/2009
Posts: 1213
Location: Luxembourg
DrD2k9 wrote:
As an interesting side note: I have no idea what emulator that the nicovideo run was made with. It appears to have been done in an emulator that uses the SGB border, but it doesn't have the SGB enhanced sound of Pauline screaming for help. It also lacks the non-enhanced tones that are used for her scream on standard GB or GBC hardware.
I suspect it was done on a VBA-rr version and its SGB "mode", which really is just an emulator hack that just extracts the SGB border and uses SGB-specific colours for the game itself. That's why there's no Pauline screams, as they rely on the SNES SPC-700 audio if played on an SGB.
Steam Community page - Bluesky profile Oh, I'm just a concerned observer.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15580
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4257] GB Donkey Kong by DrD2k9 in 54:15.44
Emulator Coder, Judge, Experienced player (729)
Joined: 2/26/2020
Posts: 781
Location: California
Link to video And y'all thought this couldn't be console verified. Well, I guess I should be transparent with my methods. I did some research regarding uninitialized WRAM... and as expected, it's just random data, with "patterns." Interestingly, the RNG byte used seemed to stay as a $52 byte for me, and as another note apparently the GBA BIOS zeros out the GB's WRAM if you boot into it? Anyways, I then looked into the claim that "hard reset turns off the console so WRAM won't persist." This was actually largely incorrect: through my trials testing this theory, only once did a hard reset result in different WRAM... and it was just a single bit being unset. The time the console is off is so short it makes it very unlikely that a hard reset will cause changes to WRAM. So essentially, if I run a ROM to write FFs to WRAM, I can then swap carts (well, in my case yoinked my flash cart out then flashed DK94 onto it before putting the thing back into my system), then hard reset and let the movie play, and it should sync, and indeed it did! Well, this actually took a few attempts, as I appeared to have hit some desyncs during my initial attempts. I'm not sure if they were related to RNG or not (according to DrD2k9 the RNG seemed to be correct), but in any case, one of my attempts synced completely, which is good in any case.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Why is this running in Gameboy Color mode? This is not a Gameboy Color game. http://tasvideos.org/MovieRules.html#GameBoySeriesUseTheBestMode
If Game Boy Color's full-color graphics are not supported, but Super Game Boy enhancements are available in the game (i.e. borders, dynamic palette changes, and/or other exclusive features within the game), then either Game Boy mode or Super Game Boy mode can be used.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
EZGames69
He/They
Publisher, Reviewer, Expert player (4461)
Joined: 5/29/2017
Posts: 2762
Nach wrote:
Why is this running in Gameboy Color mode? This is not a Gameboy Color game. http://tasvideos.org/MovieRules.html#GameBoySeriesUseTheBestMode
If Game Boy Color's full-color graphics are not supported, but Super Game Boy enhancements are available in the game (i.e. borders, dynamic palette changes, and/or other exclusive features within the game), then either Game Boy mode or Super Game Boy mode can be used.
To be honest this rule seems incredibly outdated and should either be outright removed or changed.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing