TASVideos

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

Game Resources / N64 / Super Mario 64

The purpose of this page is to document all of the known tricks in the game Super Mario 64, one of two launch titles for the N64 system.
Because of the nature of this site, we concentrate on tricks that are most useful in the making of Tool-Assisted Speedruns/Superplays. Many of these tricks are difficult to reproduce in real time, so a TAS-Capable emulator is a must-have.

BLJ (Backwards Long Jump)

See also: List of BLJ Locations

The BLJ has puzzled many gamers and glitch finders ever since its discovery. It can be used in various ways. It is the result of a minor oversight by the game's programmers/developers: There is no reasonable limit on Mario's speed when it becomes negative. BLJs can be done on certain slopes, stairways, and obstacles. To perform a BLJ, do a long jump with Mario facing away from the obstacle/stairway/slope but move backwards towards it (by holding the joystick in the opposite direction). Mario will collide with the obstacle/stairway/slope, leaving him on the ground and enabling him to backwards long jump again. Mario's speed becomes negative at this point, and BLJing repeatedly causes a negative speed increase of approximately 45-50% of Mario's currently stored speed at that time.Once the desired speed is reached, simply stop BLJing and Mario will zoom off backwards at an incredibly high speed. If you continue BLJing long enough, Mario's speed, stored in a float, will eventually reach -229399772256808620000000000000000000000, then tick over to -1.#INF, and then stop increasing.

The key aspect of BLJs is Mario's capability of retaining negative speed temporarily. Eventually, the speed will increase back to 0, however there are a few frames within a BLJ in which his speed doesn't deplete instantly. These frames allow for repeated BLJs, thus increasing his speed.

You can use BLJs to:

Types of BLJs

While all BLJs work by the same principal, there are many different methods of performing them. There are numerous places where a BLJ can be performed throughout the game (virtually every level contains at least one), and it is unlikely that all such locations have been discovered.

Stair BLJ

Stair BLJs were the first kind of BLJs to be discovered. A Stair BLJ consists of long jumping backwards onto stairs, which are basically tiny floors, which Mario can run directly over. BLJing on stairs works similar to Elevator BLJs because they both consist of Mario's jumps being interrupted allowing for more jumps to be performed, however the timing must be precise.

Here's how they work: With a precisely timed BLJ, Mario's vertical position snaps to the next highest stair, ultimately reducing Mario's vertical speed to 0 (allowing him to repeatedly BLJ on the ground). When this occurs, his negative horizontal speed is temporarily stored, allowing him to repeat the process which results in a greater amount of negative speed.

Slope BLJ

Slope BLJs are backwards long jumps on steep slopes. To find slopes with this property, locate slopes that permit Mario to stand perfectly still on them. He will not slide off of them.

Here's how it works: When BLJing on a steep slope, Mario's jump is interrupted by the steep ground. With no negative horizontal velocity, Mario's long jumps behave just like the developers intended. However, on steeper slopes, with a negative horizontal velocity, and with ground located behind Mario, the game has no choice but to force Mario's position backwards along with an increased vertical position. This process is repeatable, allowing for Slope BLJs to be performed.

A common Slope to BLJ on would be the slopes on the Castle Roof or the tan-colored slopes located by the cannon in the castle grounds.

Elevator BLJ

Elevator BLJs are performed on elevators, but not every elevator permits an elevator BLJ!

Here's how they work: BLJs are possible on rising elevators because an elevator's vertical velocity allows them to catch up to Mario as soon as he leaves the ground from a BLJ. This interrups the first jump and allows him to jump again, thus repeating the process of a BLJ.

The elevators in Hazy Maze Cave and Bob-omb Battlefield are good places to practice. Elevators that's move in a horizontal fashion, such as the ones located in the volcano of Lethal Lava Land do not have the properties to initiate Elevator BLJs because their vertical velocity isn't fast enough.

Low Ceiling BLJ

These are probably the trickiest locations to find because some of them are invisible or are just plain easy to overlook. However, walls above a floor can also act like ceilings. These walls don't necessarily have to be parallel with the ground in order for a Low Ceiling BLJ to be performed.

These types of BLJs demonstrate Mario's mechanics to their most basic properties. Mario has the capability of temporarily storing negative speed after a BLJ, and the speed can be increased with repeated BLJs.

The most common Low Ceiling BLJ is the one presented within the video (located in the Jolly Roger Bay room). It is literally a low ceiling. Either one of the Lobby BLJs in the main room of the castle are also Low Ceiling BLJs, but they utilize Invisible Wall Hitboxes which act as Low Ceilings.

Side BLJ

Side BLJs are very similar to stair BLJs, since both utilize the vertical position snapping mechanic in the game (mentioned earlier in Stair BLJs). A Side BLJ essentially consists of Mario repeatedly BLJing onto and off of a floor.

Here's how it works: When Mario BLJs parallel to the stairs, Mario's vertical position snaps to the next highest stair (when the right angle is utilized). This also requires Mario's facing angle to be slightly askew with respect to the stairs, so that when he BLJs onto the next highest stair, his facing angle & negative speed allow him to drop back down to the original stair with which the Side BLJ was initiated with. As mentioned earlier, when Mario BLJs and snaps onto the next highest stair, his negative speed is temporarily stored, allowing him to repeat the process which results in a greater amount of negative speed.

Side BLJs can be performed on most stairs (due to some stairs having the appearance of stairs but are actually steep slopes) and on flat platforms which Mario can run directly over.

Pause BLJ

Pause BLJing allows Mario to BLJ 30 times per in-game-second instead of 15. (SM64 is a 30 Frame-Per-Second Game) While BLJing, do the following sequence:

  1. First Frame: (Start) + (Z) + (A)
  2. Second Frame:
  3. Third Frame: (Start)
  4. Fourth Frame:
  5. Fifth Frame: (Start) + (Z) + (A)
  6. And so on!

Basically, the Start Menu acts like a frame buffer which allows more inputs to be performed within the game timer. These rules apply for BLJing as well. However, this only works on slopes, stairs, and elevators. It does not work with Side BLJs or (some) Low Ceiling BLJs.

BLJ to "Walk" on Slopes

Basically, get into close up Mario camera and BLJ somewhere. While in the process of running, press C^. This will cause Mario to go in the direction his back is facing until he hits a "wall" or runs out of speed. This enables Mario to do strange things such as flying up random slopes as long as a "wall" or super steep slope doesn't get in the way. This trick might be useful for improving some stars, and will be a great freerun trick.

Grinding

Grinding is when Mario repeatedly falls off and continually catches a ledge, which leads to him being able to repeatedly dive along an edge or double jump. This can be both the fastest way for Mario to climb up some slopes, and occasionally a method of accessing normally inaccessible areas, such as the deserted city area in Wet Dry World while holding Chuckya. In order to do this Mario needs to be at a slight angle, preferably inwards facing the ledge; if he faces too far outwards, he may dive or jump off and not catch the ledge. He needs to land on the surface and be moving towards a seam; this will cause a collision detection where Mario can jump or dive again.

Wind Hyperspeed Glitch

This glitch works in THI and TTM. It requires a few minutes to get enough speed, so it isn't useful. To do this glitch, just get Mario stuck under a slope with the wind pushing him up.

Dust frames

Dust frames are present when you don't execute a dive on the first frame possible. It considerably slows down Mario. When doing optimized dives, you shouldn't see any dust; to do so, press "A" or "B" on the first frame possible when hitting the ground; Mario will recover as soon as possible, without leaving dust.

MIPS (The Rabbit)

Though now an obsolete trick, MIPS was once necessary in any low% run. MIPS is a rabbit who appears in the basement once Mario collects 15 (and later, 50) stars; usually, Mario grabs him, takes his star, then goes on with the rest of the game. The rabbit was not meant to go anywhere outside the "green" part of the basement: Mario could not open a door and carry MIPS at the same time. However, a glitch was discovered that allowed Mario to merge MIPS with any "normal sized" door. This would put MIPS on both sides of the door, and Mario could jump out and grab him from the "wrong" side. When used with the entry to the part of the basement with the 30 star door, MIPS could actually be taken right up to that place. A second, similar glitch allowed Mario to get through the 30 star door: as Mario walked up to the side of the door using MIPS, letting him go while pressing Z gave Mario a sort of push, which put him on the other side of the door (an alternative, harder, and slower method was to let go of MIPS just before the door, and jump between it and the door, which would also push Mario through). This discovery led to the completion of the game with only 16 stars.

HSWK (Hyper Speed Wall Kicks)

This trick is similar to BLJing, but instead of abusing Mario's unlimited negative speed, it utilizes another oversight by the game's programmers; unlimited forward speed via wall kicks. By wall kicking over and over again on the first frame possible, Mario gains speed. Repeatedly wall kicking for long periods of time can get you enough forward speed to pass through walls, star doors, and even the endless stairs!

Parallel Universes

The ability to enter the moat door underwater comes from a glitch that has long been known, but poorly understood. Many players have noticed that by BLJing in certain spots, such as on an elevator, it's possible to get strange behavior to occur. On console, the game typically freezes, but on emulators and even Nintendo Virtual Console, Mario can warp to a weird invisible area. This behavior is often confused with Mario going out of bounds, but that's actually not the case. It turns out that in addition to the collision map present in the level, there are also an infinite number of invisible copies of the collision map spaced out in a 2D grid, extending to infinity. These copies, which we've been calling Parallel Universes (PUs), contain the exact same layout of floor and ceiling collision triangles as in the real map, but most everything else is missing. In addition to being invisible, there are no walls, no water, and most loaded objects are gone as well. Some things are still present however, like paintings in the castle.

The missing water is especially significant here, because the water is what prevents Mario from opening the moat door in the first place. Now, it's not enough to simply go to a PU, because even though the moat is empty, the door isn't there either. Instead, the empty moat allows Mario to approach the door in the real map simply by running into it. The problem with doing this in the real map is that the water prevents Mario from getting low enough to do this. There is only 1 frame to open the door underwater before he enters a swimming state, and landing from the air prevents him from opening a door for 3 frames due to dust, so he HAS to run into the door. The empty moat in PU allows us to do just that, but it's not a trivial task.

In order to access PUs and control Mario's position within them, it's important that Mario's speed is an integer multiple of 2^18, or 1 QPU (2^18 is equivalent to a point 4 PUs away, so we refer to it as 1 quadruple parallel universe -> QPU). Unfortunately, this speed can't be quickly obtained in the castle grounds becasue there's no good BLJ spot. There is another trick named hyperspeed walking that we're almost certain works, but it takes far too long to be useful in a speedrun. Instead, we make use of an obscure glitch in the Vanish Cap Under the Moat course. When Mario falls through the death barrier at the bottom of VCUtM, he spawns in water at the base of the waterfall in castle grounds. This is important because it preserves Mario's speed, which can be restored by pressing Z when exiting water (common SM64 TAS trick). Since VCUtM has elevators, we can build the necessary speed there, and use it outside of the castle! Getting a speed that works for both VCUtM and Castle Grounds was very tricky, however I'm not going to go into too much detail about that here.

Although going to PU has been known to pretty much always crash on console, we figured out a way to prevent it (Shoutout to Kyman for confirming this on console)! Simply switching R Camera to Fixed Camera Mode and holding R before going to PU is enough to prevent the crash. Because of this (and another glitch that will be revealed soon), we anticipate some significant improvements in multiple categories. Although the only proven way at this time to enter VCUtM with the moat raised is with hyperspeed flying (which requires 10 stars for the wing cap), we're working on a faster 0-star method that will hopefully make this strat viable for an updated 0 stars TAS. Even without this, a sub 5 0 star times is possible due to BitFS!

Finally, for those who want to know why the PUs exist at all, it comes down to an integer overflow glitch. Even though Mario's position coordinates are floating point decimal numbers, not integers, the game's code typecasts them to signed short (16-bit) integers for the floor and ceiling collision calculations. Short ints have a limited value range: they can be as low as -32768 and no higher than 32767. So if a number goes outside of this range it will "overflow" back to the other end of the range. For example, if Mario's X coordinate was 40000.0, when converted to a short int it would become -25536, as being larger than 32767 causes it to wrap around to the negative side. So for the purposes of the floor and ceiling collision calcs, adding or subtracting an integer multiple of 2^16 to a position coordinate has no effect!


See also



Combined RSS Feed
GameResources/N64/SuperMario64 last edited by Bretaigne on 2018-02-14 06:44:34
Page info and history | Latest diff | List referrers | View Source