TASVideos

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

Submission #5417: Sharkey91, Really_Tall & ALAKTORN's DS Super Mario 64 DS in 08:12.93

Console: Nintendo DS
Game name: Super Mario 64 DS
Game version: USA v1.0
ROM filename: Super Mario 64 DS [U] (1.0).nds
Branch:
Emulator: DeSmuME 0.9.9
Movie length: 08:12.93
FrameCount: 29490
Re-record count: 111666
Author's real name: QN, Really_Tall & Michele Magnaterra
Author's nickname: Sharkey91, Really_Tall & ALAKTORN
Submitter: Sharkey91
Submitted at: 2017-03-19 22:31:01
Text last edited at: 2017-08-31 13:26:12
Text last edited by: Sharkey91
Download: Download (11452 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:
Super Mario 64 DS is a remake of the original Super Mario 64. It features 30 new stars, redesigned courses, 4 unlockable characters and a complete visual overhaul.

Game objectives

  • Emulator used: DeSmuME 0.9.9
  • Advanced Bus-Level Timing OFF and Dynamic Recompiler OFF
  • Aims for fastest time
  • Uses death to save time
  • Takes damage to save time
  • Major skip glitch
  • Heavy glitch abuse
  • Genre: Platform

TASing out of bounds

There are a few parts in the run where we had to TAS out of bounds, and there are no textures loaded except the ones of the room we come from. Technically we do not need them, as we have a RAM watch, but it still helps to see what we are doing, so cheating in the textures means we can TAS those sections more easily. To enhance the entertainment of out of bounds sections, we have provided an additional encode with cheated textures.

Encodes

General comments

This run is an improvement of 39.71 seconds (2376 frames) over the previous published run. Most of the time saved comes from new strategies for collecting stars and performing major skips, and better optimization, while the overarching route is the same.

Frame counts when comparing strategies will be given at 60 frames per second, although most of important addresses for the game almost always updates every 2 frames, giving a visual rate of 30 frames.

Stage by stage comparison

Stage Frames Saved Accumulated Frames Saved
Moat Skip 24 24
Basement 14 38
Lethal Lava Land 8 46
Shifting Sand Land (star 1) 40 86
Shifting Sand Land (star 2) 556 642
8 Star Door Skip 4 646
Goomboss Battle (stage) 12 658
Goomboss Battle (fight) 32 690
Characters' Room 112 802
2nd Key Door Skip 780 1582
Endless Stairs Skip 604 2186
Bowser in the Sky (stage) 170 2356
Bowser in the Sky (fight) 20 2376

Stage by stage comments


Moat Skip: Really_Tall found a new way to do Moat Skip. This consists of slidekicking from the waterfall, instead of on the hill, and then bouncing to land on the hill and leaving it with enough speed to still be able to warp down. Sharkey91 figured out that the best thing to do after the downwarp is to do a glitchy long jump and two jumps. He TASed Moat Skip and 24 frames were saved over the published run.

Basement: ALAKTORN found a new strat that he TASed: do a tiny jump from the water and land to the side so that you can run for a longer time, as running is faster than swimming. This is 12 frames faster than the previous strat. Then, Sharkey91 redid the glitchy long jumps, improving them by 2 frames.

Lethal Lava Land: Sharkey91 redid the star 8-Coin Puzzle with better angles and earlier actions, improving the star time by 8 frames.

Shifting Sand Land (star 1): Really_Tall figured out a new path to reach the star. This consists of long jumping at the edge of the slope leading to the pyramid entrance, slidekicking to slide down the pyramid slope and then recovering at the bottom of it to reach the star quicker, instead of using a long jump. Sharkey91 also got the idea of using glitchy long jumps to reach Klepto faster, and also to be aligned with the top of the slope we want to slide on. All of this improved the star time by 40 frames over the previous run. Sharkey91 TASed it and ALAKTORN TASed the ending more optimally but didn't save any frame.

Shifting Sand Land (star 2): This is one of the biggest timesaves of the whole run. The strat was imagined by Really_Tall and TASed by Sharkey91: it is to cancel one of the 2 stars we collect in SSL using the star cancel glitch. This is done by licking a star and then bouncing on a fly guy, indefinitely delaying the animation for collecting the star until certain actions are performed such as walking/running, standing still until the landing animation finishes, swimming, etc. The star is then spat out and eaten again at the same time as entering the loading zone for the inside of the pyramid, skipping the celebration for the star, and the forced exit from the course. It turned out that cancelling Shining Atop the Pyramid was faster than cancelling In the Talons of the Big Bird, plus there was really good RNG for the fly guy's position, meaning the star cancel could be done in a near perfect time. Once inside the pyramid, we exit the course. This strat is 559 frames faster than collecting the star normally, getting the celebration of the star and entering the course again to exit it, as done in the previous run. Though, to get an RNG in order to have to the fly guy ram instead of spit fire, we needed to lose 3 frames on the star select screen and trigger the fly guy that is near the bob-ombs to get the fly guy we use to cancel the star ram.

8 Star Door Skip: Sharkey91 found that by getting on the seam of the Mario painting room, it was possible to long jump straight into the side of the painting instead of having to enter it conventionally from the front, which takes more time. Sharkey91 TASed that strat and saved 4 frames.

Goomboss Battle (stage): After ALAKTORN discovered the grate upwarp glitch, he figured out that it would be beneficial to use it since we jump for less time, making us lose less speed. Sharkey91 TASed that and it saves 4 frames over the previous strat. ALAKTORN discovered that it's faster to make Yoshi jump off the pole once in order to get up a bit faster, improving that part by 8 frames. Additionally, after messing around with pole jumps, he found that by manipulating Yoshi's speed in order to make it bypass 0, thus getting negative speed, it's possible to do a faster pole grab. Yoshi has to be below 40961 speed for the faster grab to occur, but can be travelling faster than this (e.g. -108108) as long as the speed is negative. Sharkey91 TASed this up until the goomba licking part, and ALAKTORN TASed from there to the end. These strategies improved the stage by 12 frames overall.

Goomboss Battle (fight): Really_Tall found out that hitting Goomboss in the back makes him start his next animation of growing, and then becoming vulnerable, 28 frames earlier than hitting him in the front. This doesn't save time on the first hit as it takes too long to get behind Goomboss, and was already used on the final hit without realising it saved time, but was not previously used on the second hit. Really_Tall TASed up to the second hit. He also suggested the idea of a new ending to the fight. With Yoshi, if you lick an enemy and spit it out, make an egg, or throw an egg after making one, the game will treat you as being on the ground for 2 frames when the animation ends. So after the 3rd hit, Really_Tall suggested licking a goomba, jumping backwards and then spitting out the goomba so that at the earliest possible moment. This means Goomboss' dialogue will be triggered while you are in the air, as spitting the goomba tricks the game into thinking you are on the ground, allowing the dialogue to start. Then after talking to Goomboss we would just lick the key while falling, saving time over doing a small jump as we can start descending more quickly. Sharkey91 TASed that part and it turned out that it saves 4 frames. It would have been more but Yoshi's head tilting upwards and downwards to look at Goomboss before and after the dialogue sadly lost some frames. These strats improved the fight by 32 frames overall.

Characters' Room: This part of the TAS shows an interesting use of Y run, a feature of SM64DS that SM64 didn't have. Y run can be charged by holding Y while standing still, and then gives you insane acceleration and a higher maximum speed for a limited time. Really_Tall figured out that by charging Y run after entering the room we can get to the mini-game room faster, but losing time after factoring in the time it takes to charge Y run. However, as it's possible to keep Y run through doors, it is faster overall as you can immediately run fast after going through the door. ALAKTORN figured out that by doing a jump after talking to Toad (which is obviously a bit slower than just running) it's possible to keep a minimal amount of Y run after unlocking Mario, thus running fast with him once he is able to move. Sharkey91 found out that frame sliding can be used in order to do a fast delayed long jump going through the first room, but still keep barely enough Y run up to saving Mario because the trick allows the Y run timer to be locked for 2 frames when running. He TASed the whole section and saved 112 frames over the published run. At first, ALAKTORN TAS’d this section improving 102 frames, then Sharkey91 redid it after frame sliding was discovered to save 10 additional frames, he also re-optimized Mario’s movement with a delayed long jump, but didn’t save any frames there.

2nd Key Door Skip: This is the biggest improvement over the published run. After remembering about an old clip in the Jolly Roger Bay room that lets you go out of bounds and then into the fishtank, Sparsite thought that it would be possible to skip the 2nd key door with that clip by staying on the seam of the room. After a lot of experimentation about the out of bounds area here, Sharkey91 ended up figuring out a strategy to make it to the 2nd key door in the fastest way, hoping that it would be faster than the rabbit clip done in the previous run. And it turned out that it was faster by more than anyone could have imagined, saving 780 frames!

Endless Stairs Skip: Really_Tall showed us that it was possible to skip the endless stairs teleporter (that stops you going up the stairs if you have less than 80 stars) by going out of bounds and jumping around it. The original idea was to get out of the 50 star room with a very high triple jump and dive from next to the 80 star door, going over the wall and then landing on the seam of the endless stairs room. After Sharkey91 experimented out of bounds, it turned out that it's possible to reach the endless stairs room out of bounds directly from the rabbit clip spot with a triple jump. Additionally, Really_Tall found that it was possible to catch the rabbit earlier at the right-hand side of the stairs, which saved 4 frames. Due to the fact that Y run was needed for much of the out of bounds path, the best method was to charge Y run just before clipping. Because of that, it was faster to catch the rabbit closer to the wall and use the old clipping method which consists of running into the rabbit and talking to him at the perfect moment, instead of the more recent method of jumping and landing behind him. Also, instead of going back in bounds after skipping the teleporter, it is better to stay out of bounds and long jump underneath the floor to reach the loading zone directly, as staying in bounds would require falling after reaching where the loading zone is. Sharkey91 TASed with this path and it saved 604 frames over the heaven's portal strategy.

Bowser in the Sky (stage): This stage TASed by Sharkey91 and the help of ALAKTORN provides new strats. First, instead of doing a triple jump that needs to be followed by a dive to reach the stairs, Really_Tall found that it is faster to charge Y run, allowing for a higher triple jump that can land there without a dive. That triple jump section only was TASed by ALAKTORN. Anyway, it was already faster to go up the slope without triggering the steps, so it was even better to do it with this new strategy since we land just next to the stairs. The reason why kicks are used on the slope is that they keep enough Y run for the end of the stage, though they are slightly slower than frame sliding. After going up the slope, Sharkey91 found that it was possible (and faster) to do a triple jump between the moving platform and the adjacent platform and then wall jump to get up. At the end, ALAKTORN thought of a new strat to get up to the wind platform. By doing a triple jump with the highest running speed possible (only reachable using Y run) it was barely possible to reach the higher wall and wall jump from it. Then everything is the same as in the previous TAS where long jumps are used to reach the pipe. To add entertainment, a punch was done at the end, which doesn't make us lose any frames. Sharkey91 TASed the whole stage apart from the first triple jump segment that was TASed by ALAKTORN and 170 frames were saved.

Bowser in the Sky (fight): Really_Tall found a new strategy that was used in order to end the movie earlier. Instead of triggering the dialogue conventionally on ground, and then backflipping during the 4 frame input window (after the text box disappears but before the star appears), the dialogue is instead triggered in the air thanks to a dive reset done with the perfect height, position and timing. Really_Tall TASed after the fight. Even though the dialogue is triggered a few frames later due to Mario having to look down at Bowser, we can end input on the press to dismiss the last text box, instead of when doing a backflip after it, saving 20 frames overall.

Glitches and Tricks

  • Heaven's portal: When you do a slidekick, dive or long jump into a glitchy corner (meaning the character slightly enters the wall), if you do it with a certain angle and while moving downwards, the character is sent upwards to the ceiling above them. Most of the places where you can do a heaven's portal have no in-course ceiling, therefore the ceiling above the character is the hard-coded limit, which is very high. The trick can also be done by going into a wall with high speed. Heaven's portals can be used to do major skips (Moat Skip and the slower method of Endless Stairs Skip used previously) or reach stars faster.
    Here is a more detailed explanation about why these portals happen and how to do them: Integer Overflow Portal Explanation

  • Corner clipping: Some glitchy corners allow you to go through the wall instead of sending you into a portal, for example the characters' room right corner.

  • Star cancel glitch: When you eat a star as Yoshi, it is possible to skip the celebration for getting the star that forces you to exit the level. After eating the star if you bounce on a fly guy or spindrift, land on a shell, or grab an owl, then you will be able to move around with the star in your mouth. If you walk/run, stand still long enough for the landing animation to finish, or start swimming, then you will do the celebration for the star as usual. However, if you jump out of the landing animation then you will not start the celebration, and can thus delay it indefinitely. By spitting the star towards the loading zone at the bottom of the pyramid, we can lick the star, touch the loading zone before the star reaches Yoshi's mouth, triggering the warp, and then get the star. The warp keeps going and the celebration animation is abruptly stopped, and Yoshi spawns inside the pyramid. The star counts towards our total though! We can then just exit course from inside the pyramid. This saves a lot of time over getting the star normally, then entering the painting again just to exit course.

  • No-direction trick: This trick works by not pressing any direction while doing any sort of jump. When doing so, the character's speed will aim to go to 0 by decreasing/increasing (depending on the situation) by 2048, until it reaches 0. It's useful to do it while the character's speed is above normal top speed, since the speed goes down slower than if you pressed any direction. It works with all movement except punches, kicks, dives and slidekicks since their speed doesn't decrease in the same way and/or is locked.

  • Direction reset: When pressing the opposite direction from the direction the character is facing while in the air, their speed starts decreasing until it becomes negative (which means the character is actually moving in the opposite direction from the direction they are facing). However, if the speed becomes exactly 0 while decreasing the speed, it will increase (positive numbers) even if you're moving in the opposite direction of the way you're facing. If the direction is backwards (being more than a 16384 angle difference from the facing angle) and you keep pressing the direction while landing, then the character will instantly turn when landing.

  • Frame sliding: While walking up a slope you'll notice that your speed decreases every frame. To avoid this, simply press backwards and no-direction every other frame to keep the speed you had. if you don't have enough space to do a slidekick recover (or a kick in a case of a quite flat slope) then this can be useful. It can also be used to preserve a little Y run for each time you do it, and as entertainment for a run (e.g. using it during Moat Skip since there is a lot of straight running).

  • Glitchy long jump: Usually, when you do a long jump, it is necessary that the character is facing the same direction he is moving in order to get a long jump with the highest speed. However, while walking, if you turn very fast so that the model angle lags behind the motion angle, by using a specific direction with the touchscreen you can do long jumps with top speed where model angle and motion angle are completely different. Here is a more detailed explanation of this trick: Glitchy Long Jump Explanation

  • Delayed long jump: By running and pressing R you can slide for up to 16 frames while maintaining the speed you were running at. This can be useful for preserving Y run.

  • Punch and Kick Tricks
    • Before reading these tricks, it is important to note that when doing a punch, your speed will decrease by 2048 every frame if you're on the ground. If you're in the air, the speed becomes locked. When doing a kick, you're not affected by the floor (if it's a moving floor, you are not affected by its movement), and the kick will keep the speed you had until you reach the ground. Also, after a kick you can instantly run after landing. Same with a punch, but your speed will be sent to 0 after the animation finishes. Therefore, punches and kicks are useful for being faster than running in some instances.
    • Kick trick: By pressing and holding B when you do an air move, if you press A (and don't release B) immediately when you land, you will do a kick. It usually isn't possible to kick while in the landing animation, and this lets you preserve speed from a long jump for example.
    • Punch trick: If you release B just after pressing A and B for 2 frames, you won't kick, you will punch instead. Thus you can punch at any speed using this.

  • Y run: This is a feature of the game. If you stand still and hold Y, after almost one second you will be able to run extremely fast (even faster than the max run speed) and with insane acceleration for a short period of time. There is a timer that starts at 30 and decreases by 1 every 2 frames, though only while you are on the ground. This means just running normally it will last for one second exactly, but with lots of air time it can last for an entire star. Y run can be useful when you have to go through doors, since you can run fast immediately instead of slowly building up speed from 0. Also, with the touchscreen, you can instantly decrease your speed to a value you want instead of slowly decreasing. This can be used to turn faster by reaching 0 speed quickly.

  • Air Reset
    • There are several tricks that allow you to count as standing on ground while in the air for 2 frames, meaning you can jump, backflip, kick, and in some cases even long jump from mid-air.
    • Dive reset: When doing a dive onto the ground, if you let your speed reach 0 (by letting it slowly decrease or grabbing something) you will automatically recover in a standing up animation. While in the air, you can't decrease speed during a dive, so the game assumes you're on ground after doing this animation. However, while doing a sideflip, wall jump, or triple jump (very hard with a triple jump), if you get the right amount of negative speed, you can do a dive that sets your speed to exactly 0. Thus, the standing up animation will play in mid-air as soon as you do the dive. After the animation finishes, you will be able to move for 1 frame, allowing you to jump, backflip, or kick. This trick allows us to reach new heights, as it allows infinite height gain as Mario using a wall. Here is a video explanation: Dive Reset Explanation
    • Spit reset: After spitting out something as Yoshi, there are 2 frames when Yoshi switches from the spitting animation to the walking animation where you can jump, spit, backflip, or even long jump if you are travelling fast enough.

  • Dialogue in air: The check for dialogue in this game only cares about X and Z position, not Y position. This means that by using a dive reset or spit reset you can start the dialogue in mid-air. While the text is on screen the character will float, and after that you have 2 frames to do an action. However, the character will always look directly at anyone who is talking to them, so being too high above whoever's talking will lose frames because they have to tilt their head downwards. They also have to get their head back to a normal position after the text, once again wasting a few frames.

  • Grate upwarp glitch: In Goomboss Battle, if you jump under the grate with a precise position and an angle to the left, there is a glitchy spot where you can hang at the very edge and cannot move at all if you stay hanging. If you manage to have the perfect position and perfect angle you will not hang on the grate, and instead enter the wall. This means a failsafe occurs and you are sent up to the edge of the grate, in a landing state.

  • SSL pillar glitch: If you start walking onto a pillar in Shifting Sand Land with quite high speed (running speed is sufficient), depending on your position and motion angle, you can upwarp a little, or sometimes you can lose all your speed while on the shell.

  • Fast pole grabbing: When jumping or sideflipping, if your speed is less than 40961 when grabbing a pole you will be able to jump or climb the pole instantly. Normally, you would have a second where you can't do anything, as there is a short animation. With Yoshi and Luigi (only useful to do alternate pole jumps with them) you can manipulate the speed to be negative since any negative speed makes the trick work, e.g -108108. If you are jumping off the pole, hold backwards, and just before reaching a speed of 0, press no direction so that then if you press backwards again, your speed will become negative instead of going to 0 and becoming positive.

  • NPC clipping: This works by talking to a bunny or a Toad that is close to a wall while you are between it and the wall. The game pushes you out of the NPC, making you go through the wall if you have the right position.

Potential improvements

  • There was a faster method of Moat Skip theorised, which would save roughly a second. This would work by climbing up the steep hill on the left side of the waterfall (closer to the starting position than the waterfall), and doing a slidekick there to fly off the hill and get the skip. However staying in the air too long puts Yoshi out of the slidekick animation, so it's not possible to hit the wall before that happens. Another idea was to bounce on the fence to be able to reach the wall, but for unknown reasons the portal does not happen.

  • At least 7 frames could be saved on Shining Atop the Pyramid if the RNG was better, as we had to delay for 3 frames to make the fly guy ram. The RNG is based on the frame counter when loading the level, and affects the fly guy's position and whether it rams or spits fire. It can be changed slightly by making the other fly guy come on screen, but that only affects whether the ram or fire spit happens, not the position of the fly guy we need to use. Before Moat Skip was improved during the making of the TAS the actual star was 4 frames faster thanks to a slightly better fly guy position, hence the 7 frames overall. That position was not perfect either, just the best we got in the few times we did the level with different frame counts entering, so with perfect RNG we would probably save a few more frames too.

  • Near the end of the making of the TAS, Really_Tall thought of an alternative route to collect 3 stars. This consisted of getting In the Talons of the Big Bird, then Shining Atop the Pyramid using the star cancel glitch, and exiting course. Then we'd rescue Mario, still with only two stars at this point. Then we would perform 8 Star Door Skip again as Mario to enter Goomboss Battle, get the switch star, and exit course. It would take time to do 8 Star Door Skip for the second time, but thanks to the switch star being so quick, and as it's a secret star you don't get forced to exit in a celebration afterwards, we estimated the route to be about 3 seconds faster overall. However, we found that there was actually no way to perform 8 Star Door Skip as Mario, due to the way he hits the wall after clipping through. Clipping through with a long jump meant he had too much speed and just fell to his death. So if there was a way to do that skip as Mario it would allow a very interesting route to work to save roughly 3 seconds.

  • Currently the TAS collects 3 stars. This is to open the 1 star door, and to open the JRB door (which requires 3 stars) so we can do 2nd Key Door Skip, which means Bowser in the Fire Sea does not need to be beaten. If there was an out of bounds glitch in the main lobby then it would allow the game to be beaten with 0 stars. If it only worked with Mario then it would be faster once again to beat the game with 1 star, as was done before 2nd Key Door Skip was discovered.

Special thanks

MKDasher worked on previous iterations of this TAS, and though he was not involved in this one, his previous contributions are appreciated.

Sparsite suggested using the JRB room clip to perform 2nd key door skip instead of using a rabbit. He wasn't sure if it would end up faster but it turned out to be one of the biggest timesaves.

Josh65536 made detailed explanations about some of the mechanics of the game, particularly portals, which were very helpful.

Suggested screenshot

Frame 14701


Fog: Judging.

Fog: The improvements were great, the audience reception are great, and the run was great!

Accepting as an improvement to the previous publication!

feos: Pub.


Similar submissions (by title and categories where applicable):