Tool-assisted game movies
When human skills are just not enough

Submission #1779: Chef Stef's GBA Mario vs. Donkey Kong in 44:52.42

Console: Game Boy Advance
Game name: Mario vs. Donkey Kong
Game version: USA
ROM filename: Mario vs. Donkey Kong (U) [!].gba
Emulator: (unknown)
Movie length: 44:52.42
FrameCount: 161545
Re-record count: 9959
Author's real name: Stefan Roger
Author's nickname: Chef Stef
Submitter: Chef Stef
Submitted at: 2007-12-01 18:04:50
Text last edited at: 2008-01-21 19:44:37
Text last edited by: adelikat
Download: Download (10508 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:
Mario vs. Donkey Kong any% TAS by Chef Stef

This TAS aims to complete the game (i.e. reach the credits) as fast as possible. It differs from my previous submission for this game in that I do not attempt to collect everything in the game along the way. When I submitted the 100% version, the general consensus was that an any% run would be much less boring. Hopefully this submission achieves that goal.

Uses VBA rerecording 19 Enable L+R/U+D

About This Game

Donkey Kong was watching the television one day, when he saw an advertisement for the new Mini-Mario toy. Falling in love with the Mini-Marios, DK rushed to the nearest store, only to find them sold out. So, DK heads to the Mini-Mario factory and steals a bag of the toys. Mario intercepts DK outside the factory, but DK runs away, Mario rushing to catch him. And so the chase begins...

Mario vs. Donkey Kong has a great deal of voice acting for Mario. I personally don't have a problem with it, but for some people, your enjoyment of this TAS will be inversely proportional to your dislike of Mario's voice by the end of the run :)

This game is a combination between a puzzle game and a platformer, and a remake of the Game Boy game DK '94. Mario must stomp colored switches, bounce off of springs, bash enemies with trash cans, and defeat Donkey Kong at the end of each world to free the Mini-Marios and stop the ape from causing more mischief.

This game features six 'regular' worlds, six 'plus' worlds, and twelve 'expert' levels. In the first six stages of each world, Mario must bring a key to the door in the first half of the level, then grab the Mini-Mario in the second half. The seventh level is a 'Mini-Mario' stage where Mario must guide the six Mini-Marios to the toybox. The eighth level is a battle against Donkey Kong.

In the plus worlds, the strategy changes. In each world's first six levels, Mario must guide the Mini-Mario (who conveniently has a key) to the door to complete the level. The seventh level is the battle against DK. Since my goal is to reach the first set of credits as quickly as possible, I don't play any of the plus or expert worlds.

Important Moves

Here is a short list of Mario's important moves used in the run:
  • Backflip - This is probably the most important of the moves. Achieved by running forward, turning around, and jumping during the skidding animation. It allows for triple the normal jump height. This is extremely useful for jumping up to higher ledges quickly, and for taking unusual routes through some levels.
  • Handstand - Done by pressing down and jumping. Mario walks on his hands, preventing falling objects from hurting him (if they hit his feet, they fall away and give 50 points). Only used when necessary (since Mario walks much more slowly on his hands), but an important lead-in to the next technique.
  • Somersault - After doing a handstand, jumping forward will give a larger jump than normal, then the third jump is the somersault. This trick is important because it has more horizontal range, and ever-so-slightly more vertical range than the backflip, so I use it in places where a backflip will not reach. It is less useful, however, because it takes a long time to set up, and a backflip is almost always quicker to perform.

Some other gameplay notes:

  • If Mario falls from too far, he will flounder around on the ground for awhile (or, if the distance is too great, will simply die). It wastes a lot of time to fall, so sometimes I need to move closer to the ground to prevent this from happening.
  • On wires, Mario has a minimum amount of time before he can swing around and jump up. It may seem like I'm taking an unnecessarily long time to traverse a wire, but sometimes it's faster to simply scoot along it.
  • Mario's aerial position is very hard to change once he starts moving in the air. If you jump forward, it's possible to turn around only before Mario has reached the peak of his jump; this is essentially the only way to affect aerial positions. So, jumps that may not look optimal are the result of the difficulties in aerial positioning.
  • In the Mini-Mario levels, it's only necessary to bring one of the Mini-Marios to the finish (since they just count as Mario's hit points during the DK battles). So, I'm able to save a lot of time by sacrificing other Mini-Marios when it's convenient for me. Yes, I'm cruel, aren't I?


Midair Jumping

  • After picking up an enemy from above, if you throw the enemy before hitting the ground, Mario will stand in midair until the throwing animation stops. It is possible to jump during this state. I use this trick in several places where there is not enough vertical room to do a backflip or somersault, when I still need to move forward (but can't reach with a normal jump).
  • If you throw an enemy forward right before you walk off an edge, Mario will keep running (again, until the throwing animation stops) off the edge as if there was still a platform there. I use this in a few places to jump forward a few extra blocks.

Enemy Clipping

  • If you jump towards an enemy that is moving towards you, and you catch the edge of the enemy, Mario will suddenly be pushed forward to the top center of the enemy. This is used a few times as a boost.

Autofiring Tricks

  • Autofiring the A (jump) button will prevent Mario from grabbing ropes and vines, for some strange reason. This is a good trick when there are several vines in a row and I want to traverse them without grabbing each one, or when I want to jump to the floor without catching other vines.
  • Autofiring the down button while on a conveyor belt in a one-block tall space will boost Mario forward at about double the normal conveyor speed. This is used extensively whenever there is a conveyor belt in a level.
  • Jumping into the ceiling will boost Mario forward slightly. So, it's important to jump whenever Mario's head can hit the ceiling (unless it will set up a bad position for the next jump). In small (1.5 block tall) spaces, I can even autofire the jump button to make Mario zoom forward at double speed.


  • Projectiles will only hurt Mario if he is standing or moving down. If Mario hits a projectile while moving up, he will be unaffected. I exploit this trick many times so that I don't have to wait for the projectiles to move away.

Jumping on Conveyor Belts

Normally, Mario moves very slowly when trying to move or jump "against" a conveyor belt. However, there are two ways to move more quickly:
  • Every other frame, Mario's jump will be faster and longer than usual (compared to normal conveyor belt jumping). Simply make sure to only jump on those frames, and Mario can cross the conveyor belt much faster.
  • Facing in the direction of the conveyor belt's movement and jumping in the opposite direction will also give a "normal" length jump. In other words, stand facing the conveyor belt's movement, then jump in the other direction without turning around.

Note: Most of the above was copied from my previous submission text.

World 1 - Mario Toy Factory

This world is mostly meant to familiarize the player with the game. The puzzles aren't very difficult to solve, and there isn't that much action compared to later worlds.


The first half is simple since I'm not collecting any presents. In the second half, it's just a quick backflip up to collect the mini.


To a certain extent, it's faster to traverse ladders by repeatedly jumping up them. The reason why I pick up, then drop the hammer immediately is to get a short increase in movement speed without actually hammering the enemies (there is a long pause when you hit an enemy with the hammer).

Later, I use the key as a stepping stone to get over the oil can (it has a very large hitbox) and press the switch. Crushing the oil can with the hammer would have taken much more time.

In the second half, all that's of note is the careful jumps necessary to avoid the enemies and the hammers, and the first case of jumping through a projectile (oil cans count as projectiles, I suppose...).


Backflipping is used extensively here to reach high places more quickly.


The first use of the conveyor trick is here, but there's not much else of note in this level.


The "enemy clipping" trick is used extensively throughout the TAS, but the use in the first half of the level (with the shyguy) is more apparent than most. In the second half, Mario's backflip plus enemy clipping allows me to get to the end very quickly (Mario's backflip isn't normally high enough to land on the tops of the shyguys, but enemy clipping gives an upward boost).


This stage is more about pressing switches in an order and pure platforming. The brick tiles are unusual because they don't count as projectiles, so I can't use the projectile invincibility trick on them.


The mini-Marios will try to follow Mario based on his x-position. In these levels, I only need to take one mini to the end, so the others are left behind. There aren't any hazards in this mini-Mario level, so I don't actually sacrifice any minis. Just wait until later levels...


A cool discovery was that Mario can press DK's switches and reset the trash cans without having to wait for DK. It's possible to press the outer switches without DK being stunned, but DK needs to be stunned for Mario to press the middle switch.

World 2 - DK Jungle

This world is all about climbing vines and killing/using enemies to your advantage. There are several tricks with vines that I exploit throughout.


A few notes about vines:
  • If there's a wall to the side of a vine, it's fastest to repeatedly jump off the vine and into the wall (Mario will jump and catch the vine at a higher position).
  • If there are two vines next to each other, it's fastest to grab both and move upwards.
  • If both of these are true, neither trick is faster.


This level is meant to familiarize the player with using enemies as stepping stones. In the second half, I use a barrel as an extra platform so that I can reach the mini-Mario more quickly.


A carefully timed backflip in the second half is enough to skip the puzzle and reach the mini-Mario.


In the second half of the level, the backflip at the beginning has a 0-frame margin of error (read: almost impossible in real time). Any slower and the platform will have moved up too far to reach.


It may seem like I'm wasting time in the first half, but I have to wait for the platform to come down.


By using the "midair jumping" trick, it's possible to cross the pit by using the key instead of the enemy, saving some time. In the second half, I abuse hit detection so I don't have to wait for anything.


This is a rather boring mini-Mario level. Once again, I just take the mini to the end and leave the others behind.


I really like how this battle turned out. Perfectly timed fruit drops dispatch DK quickly. Notice that, on the second hit, there's a long delay before the hit is registered... that's because the game is still trying to "catch up" after the previous hit.

World 3

The fire world is all about platforming. There aren't very many puzzles, just challenges to get to the end.


This level has a lot of moving platforms that I unfortunately have to wait for. I try to speed it up the best I can, though.


In the second half, I wait at the crumbling blocks for awhile so that Mario won't fall (and flounder on the ground). I use more backflips here to finish the level without having to wait for certain platforms to come around.


The first half of this level has a lot of lag because of the rising lava. However, it goes quickly because of all the enemies I conveniently use as stepping stones.


I didn't test this, but it might be possible to use the pounding block as a platform for taking the key to the door. But, it probably would be slower because I would have to walk all the way around.


Backflips and careful key tossing let me finish the first area very quickly. The second half is just one big ascent to the top, also completed with heavy use of backflips.


The rising lava in the beginning prevents me from reaching the bottom area right away. I entertain by jumping towards the lava as it recedes, coming within one frame of being burned on several occasions.


This level is all about getting the minis onto certain platforms to collect the necessary letters. There aren't many dangers in this level... once again, I only take one mini with me to the end to save time.


This was one of the best DK levels. Since barrels count as projectiles, Mario can bounce them off his feet while in a handstand. I'm able to bounce the barrels into DK immediately without having to run around and grab them.

I will add more level-by-level descriptions to this submission text when I get the chance. Enjoy the movie!

NesVideoAgent: Hi! I am a robot. I took a few screenshots of this movie and placed them here. Oh! I also corrected the ROM name.
  • You indicated Mario vs Donkey Kong (U).gba
  • I updated it to Mario vs. Donkey Kong (U) [!].gba

adelikat: Nice game for TASing; the author exploited some nice tricks, and there seemed to be some interesting route choices. A bit longish, but all parts were interesting by themselves. The voter response was good. I will accept this for publication.

adelikat: Processing.

Similar submissions (by title and categories where applicable):