What's all this about Super Mario 64 and alternate dimensions? 12 hours? De facto speed?

[deleted] · 578 points · Posted at 20:50:46 on January 27, 2016 · (Permalink)


I keep seeing shit like this[1] and this[2] showing up on my tumblr and I have no idea what it's all about. Could someone break this down for me?


[1]


[2]

Saved comment

wbader · 380 points · Posted at 21:05:19 on January 27, 2016 · (Permalink)

This is the relevant video: https://www.youtube.com/watch?v=kpk2tdsPh0A[1]

Basically this guy is trying to get every star in Mario 64 with the fewest number of A button presses possible. In this video he explains how he builds up a huge speed over 12 hours by wedging himself into the corner shown in the first picture. Then he uses that speed to reach "Parallel universe" versions of the level that exist due to how the game is coded.


[1]

SM64 - Watch for Rolling Rocks - 0.5x A Presses (Commentated)

I collect the star Watch for Rolling Rocks in Hazy Maze Cave using 0.5 A presses. The A press is to perform AB kicks on the rising elevators. Without doing these kicks, Mario would go through the elevator, and so there'd be no way to navigate out of the lake area with QPU speed. For the record, this is TAS.

This video is an improvement from my previous video in which I collected this star in 1 A press. You can find that video here: https://youtu.be/yGic8wwhm6g. Since then, we discovered PU movement and scuttlebug raising, which made this strat possible.

For convenience, here are the informative parts of the video:
0:35 for half A presses
3:44 for scuttlebug transportation
5:01 for scuttlebug raising
8:07 for hyper speed walking (HSWing)
10:40 for parallel universes (PUs)

Here is a play by play of what I do. First, I use scuttlebug transportation to move a scuttlebug to the corner of the Watch for Rolling Rocks platform. Then, I use scuttlebug raising to raise him to about the height of the platform. Next, I use hyper speed walking to generate massive speed. Finally, I use PU movement to navigate to the top of the course, launch to the scuttlebug to bounce on him, and ground pound in the misalignment of the platform to get onto it. And from there, I collect the star.

If you want to see my workspace/calculations and read about the process of TASing this, I've chronicled it here: http://imgur.com/gallery/rK24p

.m64 stats:
Length: 13 hours and 49.5 minutes
Re-records: 6824
Frames: 2986271 (1493100 input)

This video is without a doubt the one that I've put the most time into out of all my videos. I knew this going in, and so I decided to keep a log of how much time I spent on each aspect of it (note: if my computer was doing work like compiling/recording and I could let it be, I didn't count that time). Here are the stats:
Time to TAS: 12 hours
Time to record/manage raw avis: 9 hours
Time to create uncommentated version: 31 hours
Time to add visuals/commentary: 75 hours

Update: The PU route used in this video actually crashes on console, as it turns out PU crashes can still occur even when locking the camera in the main map. Nevertheless, an alternate route has been found that avoids these PU crashes and has been console verified: https://youtu.be/T-G4ymVwajw

Uncommentated Version: https://youtu.be/X-zAWbM50JM
ABC Playlist: https://www.youtube.com/playlist?list=PLmvvhlevqC2d6vis077yFHuLJHYtTtqe_
ABC Routes: https://docs.google.com/document/d/1ypRVVRyf4x-v8GqCSmKYnicrfKSIjao3Y1ZVl52RIyM/edit

pppppatrick · 43 points · Posted at 04:57:35 on January 28, 2016 · (Permalink)

If we ever figure out that we're in the matrix, it'll be because of this guy.

rolltider0 · 8 points · Posted at 02:31:48 on February 3, 2016 · (Permalink)

I actually agree

chr0s · 1 points · Posted at 00:53:34 on June 30, 2016 · (Permalink)

heh, yeah

Litagano · 113 points · Posted at 01:16:05 on January 28, 2016 · (Permalink)

...what the fuck, I watched the entire thing.

It was pretty interesting, and I think I get it.

[deleted] · 66 points · Posted at 21:51:06 on January 27, 2016 · (Permalink)

Holy shit that's long. Is there a cliff notes version on the technical side of things?

Viraus2 · 221 points · Posted at 22:03:50 on January 27, 2016 · (Permalink)

honestly, the video is the cliff notes. It's very technical.

That's actually a big part of why this video is getting so popular.

I guess the best TL;DR I can do is "guy exploits speed mechanics, collision detection, and scuttlebugs"

rakust · 92 points · Posted at 22:48:41 on January 27, 2016 · (Permalink)

Also, TJ "Henry" Yoshi gets BTFO

OctorokHero · 20 points · Posted at 01:10:59 on January 28, 2016 · (Permalink)

Did you see he made a response video?

Ajeh · 34 points · Posted at 02:42:47 on January 28, 2016 · (Permalink)

Yeah, he's such a cunt. Classic """"""""Henry"""""""" not believing in the power of the half A press

illerThanTheirs · 3 points · Posted at 16:32:12 on January 28, 2016 · (Permalink)

Link?

Keswik · 4 points · Posted at 10:28:24 on January 31, 2016 · (Permalink)

No, MARIO

[deleted] · 3 points · Posted at 00:28:56 on January 29, 2016 · (Permalink)
Doomed · 3 points · Posted at 04:07:36 on February 4, 2016 · (Permalink)
Navi_Here · 11 points · Posted at 05:21:37 on January 28, 2016 · (Permalink)

Don't forget parallel universe.

M_Night_Slamajam_ · 7 points · Posted at 19:54:35 on January 30, 2016 · (Permalink)

BUT FIRST

infiniti2 · 74 points · Posted at 01:14:29 on January 28, 2016 · (Permalink)*

I've simplified the explanation. This isn't 100% the way it happens. If you want to know the exact details just watch the video.

In Mario 64 the character has a movement speed (and direction.)

Every frame (or some other frequency) the game attempts to move Mario in that direction. So if Mario is moving 10 miles per hour to the northwest, then the game will try to move Mario to that position.

To determine if this potential position is valid the game looks-up the terrain at this potential position. If it's valid then Mario can move there, otherwise Mario can't move there. This stops Mario from running through a wall or falling through the floor.

The game stores all of the terrain data in a grid that can represent positions between around -32,000 to +32,000. These boundaries are much larger than any level, so they're perfectly suitable for storing the terrain data.

If Mario is at a position greater than 32,000 the terrain lookup wouldn't be able to work. To fix this the number "loops back around" to 0 in such a way that a position of 32,001 would have a terrain lookup value of just 1.

You can think of it like degrees in a circle. 361 degrees is the same as 1 degrees. In this same way Mario can have any position that he wants and it will be constantly forced to within the 32,000 range.

Under ordinary circumstances Mario would never be able to escape that 32,000 range, and this is where the heart of the video lies.

By using a glitch that enables Mario to gain an unlimited amount of speed you can force Mario to move through walls, objects, and terrain.

To explain it briefly:

Mario starts at position 0. Through a glitch his speed becomes 32,005. His next next position would become 32,005. This is not in the range of the terrain lookup so it loops back around and checks the terrain at position 5. If it's valid then mario is instantly moved there.

Note that any terrain at positions 1,2,3, and 4 are not checked. Only the position that Mario will go to next frame is checked. So if there was a wall located at 1,2,3, or 4 Mario would move through it.

Through this glitch you can access areas that would otherwise require a jump. Thus saving A presses.

UnaVidaNormal · 19 points · Posted at 02:43:52 on January 28, 2016 · (Permalink)

If Mario is at a position greater than 32,000 the terrain lookup wouldn't be able to work. To fix this the number "loops back around" to 0 in such a way that a position of 32,001 would have a terrain lookup value of just 1.

I think that the back around send Mario to -32000, 0.0 is the center of the square.

infiniti2 · 22 points · Posted at 02:45:49 on January 28, 2016 · (Permalink)

You're absolutely correct. I said 1 because I thought it was easier to understand than -31,999.

1mposs1ble · 3 points · Posted at 14:18:35 on January 28, 2016 · (Permalink)

You were right to explain it that way :) -31,999 is thoroughly confusing.

bradygilg · 35 points · Posted at 23:46:44 on January 27, 2016 · (Permalink)

There are two main technical glitches.

  1. The game creators forgot to put a cap on Mario's backwards speed.

  2. It's possible to overflow the integers representing Mario's coordinates.

To actually utilize these glitches requires a number of different strange techniques that people have found mostly through trial and error.

Nepycros · 8 points · Posted at 06:03:37 on January 29, 2016 · (Permalink)

No cap on reverse speed? So you're telling me the SM64 makers and the makers of Big Rigs have the same defining characteristics?!

Then logically, Big Rigs is a technical MASTERPIECE. /s

GenOmega · 4 points · Posted at 18:57:51 on January 29, 2016 · (Permalink)

Almost all source engine games also have this glitch. It is called reverse bunny hopping, RBH, and its how you can get the WR for the fastest any% in HL2

Nepycros · 2 points · Posted at 20:12:29 on January 29, 2016 · (Permalink)

It makes sense, but I was more just trying to make a false comparison between a technical marvel like SM64 and Big Rigs, a flop so horrid that game-breaking glitches are considered features. A joke, if you will.

jsnlxndrlv · 9 points · Posted at 22:56:34 on January 27, 2016 · (Permalink)

He explains each concept from the ground up, but in general the idea is that by taking advantage of weaknesses in the way the game models numbers in the construction of the world, it's possible to manipulate the position of Mario and various stage elements through procedures that function like parallel universes. Using these methods abd considerable time, he accomplishes ridiculous and impractical feats.

Ajeh · 10 points · Posted at 02:45:58 on January 28, 2016 · (Permalink)

It is such a good video, I recommend watching it

Doo-Doo-Manjaro · 18 points · Posted at 22:28:47 on January 27, 2016 · (Permalink)

Seriously give it a watch I'm ass at math but holy shit this was entertaining and unbelievable

zap283 · 3 points · Posted at 00:49:17 on February 1, 2016 · (Permalink)*

TL;DW:

  1. Due to the way the physics of the game work, the game wants to move Mario, but it wants him to stay out of the ceiling more, so he doesn't move.

  2. Also due to the physics of the game, being in water and on a slope at the same time causes your speed to build up. There is no upper limit on this because the games expects you to slip back into the water seconds after this process begins.

  3. By combining these facts, in certain places, any speed is possible, though it takes a while to build up to it.

  4. When Mario goes to move, the game checks where his next position will be, given his speed and direction. If the next position is inside a wall, it stops him. If the next position would be far enough, Mario can go through the wall, allowing him to, in effect, teleport.

  5. The way the game handles collisions creates a sort of 'loop'. For example, imagine a chessboard. Call the bottom left square 'a1'. The squares bordering a1 are a2 above it, b2 diagonal from it, and b1 to the right of it. Now imagine a King piece moving along that bottom row. It moves from a1 to b1, then to c1, and so on until it reaches h1. Now there's no more board, so what happens if it moved to the right again? In Mario 64 physics, the collision detection loops back around to the other side, in this case back to square a1. Because there's a board to support the king at square a1, the king hovers in the air just to the right of the board. In the game, what this means is that if you go a certain distance away from any point in a level, the game will react as though you landed int he same place yo started because the collision detection loops.

  6. Because this collision detection keeps looping, and due to a few quirks in the way things are calculated, it's easier to plan your movements in distances of 4x[the distance discussed in 5]. To use the chessboard analogy, it's like moving 32 squares at a time instead of just 8.

  7. You don't however, have to go to exactly the same spot you left. You can jump to different parts of the level by carefully modulating your speed. Thus, this type of run plans out routes, using various slopes in the level to allow Mario's speed to drop while still maintaining the circumstances that allow him to launch. By launching int he right direction with the right speed, it's possible to keep looping the collision detection around so that Mario ends up right at the star's position without having to actually jump.

EDIT:

  1. Going up a slope requires more speed than going along a flat plane. De facto speed refers tot he amount of speed you actually need to have once you've factored in the relative heights of your start and end points.
[deleted] · 3 points · Posted at 12:17:36 on January 28, 2016 · (Permalink)

Watch it anyway when you have the time. It's completely worth it.

AsthmaticHummingbird · 2 points · Posted at 13:42:22 on January 28, 2016 · (Permalink)

Just watch it anyway, it's really fascinating and he explains it all very well. No one here is going through be able to explain it as well with text alone.

[deleted] · -8 points · Posted at 16:39:58 on January 28, 2016 · (Permalink)

[deleted]

eversaur · 3 points · Posted at 06:56:08 on January 31, 2016 · (Permalink)

If you don't understand the appeal or accomplishments of a popular subculture then why try and discredit it?

AggressionSsb · -2 points · Posted at 07:59:03 on January 28, 2016 · (Permalink)

This man is god, just accept it

EtherBoo · 31 points · Posted at 00:42:14 on January 28, 2016 · (Permalink)

I felt like I was listening Garth explain the plan to get Mr. Big to watch Cassandra's performance in Wayne's World.

Regardless, that was incredible. How they come up with this shit is really mind boggling.

Shredlift · 25 points · Posted at 03:57:06 on January 28, 2016 · (Permalink)

Another pure insane glitch is the credits warp in super mario world

How they figured out to do this random thing that affects this code, make this movement to affect this code, and then the code runs the credits, all done in the first map.

tremulo · 18 points · Posted at 09:15:00 on January 28, 2016 · (Permalink)*

For anyone who hasn't seen it, here is a speedrun (1:41.20) that exploits the glitch. Basically, they exploit how the game handles sprites in such a way that they can actually write code into the game using a sequence of movements in the level, and they make that code say "go to the credits" (although this is an extremely simplified explanation). Here is a very in-depth explanation of the glitch. How someone discovered this is beyond me.

Also, if you like this kind of stuff, check out /r/speedrun.

PLeb5 · 20 points · Posted at 11:04:16 on January 28, 2016 · (Permalink)

Writing assembly code by manipulating the X,Y locations of sprites is some next level shit.

MagnusRune · 22 points · Posted at 11:29:14 on January 28, 2016 · (Permalink)

but it would have been discovered by someone who happened to throw enough things around while in random playing to cause it to crash. they then eventually went into an emulator to watch how they crashed it. and they then worked out they could do more.

theres another one where they program in Pong into pokemon using this technique... https://www.youtube.com/watch?v=D3EvpRHL_vk

paul_f · 3 points · Posted at 18:21:17 on January 28, 2016 · (Permalink)

very cool! but more accurately that would be called Breakout, not Pong.

MagnusRune · 7 points · Posted at 18:38:26 on January 28, 2016 · (Permalink)

its neither, as theres no blocks to destroy, its single player pong.

Ylsid · 1 points · Posted at 18:27:40 on January 29, 2016 · (Permalink)

I honestly doubt it was happened upon by coincidence, reverse engineers and computer scientists are a thing after all.

MagnusRune · 2 points · Posted at 18:49:25 on January 29, 2016 · (Permalink)

i mean the idea that you could alter the games files in this way. was proabblaby someone manged to fuck up there game on a normal play through, then went and worked out how they fucked it, then reaslied they could fuck it a certain way to get a desired result.

Ylsid · 1 points · Posted at 23:43:39 on January 29, 2016 · (Permalink)

Who knows, really.

BullshitUsername · 4 points · Posted at 20:46:26 on January 29, 2016 · (Permalink)

That's a classic video by Dotsarecool, a speed runner in the SMW community.

Masterjun is the mastermind behind the Pong in Mario TAS, I highly suggest checking that out, along with Mario in Mario, Pokemon Plays Twitch, Mario Maker in SMW, and Twitch Plays Brain Age (I'll have links for these whenever I'm on desktop).

All of these amazing tricks are due to exploits found in the games' code, as well as what's called ACE, or "arbitrary code execution", which is the act of writing your own code by arranging bytes and then executing it using a known glitch.

Dotsarecool made the video you posted, as well as hacked together the practice ROM used by many SMW speed runners, including myself.

TASBot (@MrTASBot on Twitter) actually pulled it off on a vanilla game cart of Suoer Mario World at 2014's Awesome Games Done Quick.

There are a handful of people, plus an entire community of TASers, that put the time and effort into pulling this kind of stuff off.

If you'd like to know more, head over to tasvideos.org, or follow @MrTASBot on Twitter.

[deleted] · 15 points · Posted at 07:37:07 on January 28, 2016 · (Permalink)

Arbitrary code execution is a hilarious thing.

BillFireCrotchWalton · 28 points · Posted at 01:15:36 on January 28, 2016 · (Permalink)

That is simultaneously the coolest and lamest thing I've ever seen.

TheClassyPython · 11 points · Posted at 02:45:54 on January 28, 2016 · (Permalink)

everybody has their hobbies, man

LiveBeef · 20 points · Posted at 06:26:58 on January 28, 2016 · (Permalink)

All hobbies are equal. But some are more equal than others.

PlayMp1 · 6 points · Posted at 07:52:24 on January 28, 2016 · (Permalink)

Reminds me of speedrunning, which is similarly a combination of completely awesome and totally lame.

I fucking love speedrunning.

Mirrormn · 19 points · Posted at 09:45:04 on January 28, 2016 · (Permalink)

It's very closely connected to speedrunning, and the speedrunning community. Like seeing a homerun derby and saying "Oh man, that reminds of baseball!"

PlayMp1 · 3 points · Posted at 09:47:56 on January 28, 2016 · (Permalink)

Honestly I figured it was a speedrunner doing it. He was using speedrun techs in a lot of places.

Mirrormn · 11 points · Posted at 09:56:05 on January 28, 2016 · (Permalink)

Well, it's actually a TAS, which is essentially just a speedrun performed by a computer script instead of a human. And yes, he's using speedrun tech because the whole video is, technically, still concerned with completing the level as quickly as possible... just with a very difficult gameplay restriction to satisfy first (using as few A presses as possible).

PlayMp1 · 2 points · Posted at 10:14:13 on January 28, 2016 · (Permalink)

Well, it's actually a TAS, which is essentially just a speedrun performed by a computer script instead of a human

I've watched many TASes :P. I watched the entire TAS block of AGDQ this year live. That said, I didn't realize that this was a TAS and not a regular run. Makes sense, I figure infinite speed glitches and all the other crazy shit there would be useful in a normal speedrun, which would make me wonder why they're not in the normal speedrun routes. Makes sense that they wouldn't be there if they're TAS-only.

And yes, he's using speedrun tech because the whole video is, technically, still concerned with completing the level as quickly as possible... just with a very difficult gameplay restriction to satisfy first (using as few A presses as possible).

Figures. I wasn't sure if the focus was on time, I only knew about the A button restriction.

supergood · 10 points · Posted at 14:02:51 on January 28, 2016 · (Permalink)

This is going to sound rude but does this guy have a day job

Tomvtv · 12 points · Posted at 20:57:49 on January 28, 2016 · (Permalink)

He's offering a $1000 prize to anyone who can replicate a certain glitch, so he's clearly getting money from somewhere.

PlayMp1 · 6 points · Posted at 22:30:35 on January 28, 2016 · (Permalink)

This could be his job to some extent, could be a Twitch streamer.

DeRockProject · 1 points · Posted at 08:28:09 on February 4, 2016 · (Permalink)

Actually, he should stream on twitch. TASes are very slow, but for something like this? I already watch some TAS streams, I'll definitely watch that.

NineToFiveTrap · 3 points · Posted at 13:49:52 on January 28, 2016 · (Permalink)

Why does he need to do this parallel world stuff? Couldn't he just get the star without using QPUs?

The video does an amazing job explaining how and what, but not why.

wbader · 12 points · Posted at 13:59:42 on January 28, 2016 · (Permalink)

He's trying to do it without jumping.

NineToFiveTrap · 2 points · Posted at 14:12:21 on January 28, 2016 · (Permalink)

Yea I got that much. Maybe it's just been too long since I played Mario 64 for this teleportation stuff to make sense

residentpresident · 2 points · Posted at 12:14:11 on January 28, 2016 · (Permalink)

This video is incredible. One of the best speed run-related videos I've seen. Thank you!

All_Over · 2 points · Posted at 22:25:17 on January 28, 2016 · (Permalink)

isn't that the same guy who was offering a reward for finding some clipping glitch in sm64?

ThatOneSlowking · 1 points · Posted at 19:22:47 on May 30, 2016 · (Permalink)

Yep

Oreo_Speedwagon · 5 points · Posted at 08:08:52 on January 28, 2016 · (Permalink)

That video reeeeally reminds me of an old video that was widely mocked about Bubsy 3D. I am not really sure why people are losing their minds about the Mario video, it's a similar sort of ... "Special" like the Bubsy one.

PlayMp1 · 4 points · Posted at 10:15:47 on January 28, 2016 · (Permalink)

The difference here is that it's got the attention of the speedrunning community, and has a bunch of really cool glitches.

SmashMetal · 1 points · Posted at 10:35:54 on January 28, 2016 · (Permalink)

I only just woke up, and I'm not sure I'll see anything else as interesting today.

eversaur · 1 points · Posted at 06:57:45 on January 31, 2016 · (Permalink)

quad parallel universes

Mario 64

over a million what I assume to be hammer units

ok sheesh

quantumsubstrate · 1 points · Posted at 18:49:56 on February 1, 2016 · (Permalink)

Man that's impressive. You've gotta admire how scientific his approach is.

Bawkol · 1 points · Posted at 10:00:20 on April 24, 2016 · (Permalink)

Any similar videos?

Cookie733 · 1 points · Posted at 05:28:36 on January 28, 2016 · (Permalink)

Holy Shit.

Yaverland · 23 points · Posted at 18:33:50 on January 28, 2016 · (Permalink)

I thought this game had got crazy enough when people were doing speed runs. This is a level of insanity I never expected when the game was first released when I was a kid.

chewy_pewp_bar · 12 points · Posted at 19:18:11 on January 28, 2016 · (Permalink)

Oh man, just wait until you see the LP where a guy beats the entire game using only his feet on the N64 controller.

Yaverland · 10 points · Posted at 22:08:33 on January 28, 2016 · (Permalink)

That's sick. The only thing that could make this better is if foot guy took Mario to parallel universes

[deleted] · 16 points · Posted at 20:11:30 on January 28, 2016 · (Permalink)

Wow. I guess I'm a filthy casual

Lordofdumbasses · -1 points · Posted at 23:33:06 on January 30, 2016 · (Permalink)

I cant upvote you enough. And Im happy to be. This is just stupid.

Chris_Jeeb · 9 points · Posted at 16:32:29 on January 28, 2016 · (Permalink)

God damnit I watched it and still don't entirely get its purpose

le_meme_faces · 28 points · Posted at 17:46:12 on January 28, 2016 · (Permalink)

Dude has a PhD in Super Mario.

bradygilg · 8 points · Posted at 20:13:00 on January 28, 2016 · (Permalink)

Wrong game, you casual.

ihatedogs2 · 3 points · Posted at 21:09:03 on January 28, 2016 · (Permalink)

Fucking insane.

DontWorryAbout_ItPal · -30 points · Posted at 04:07:07 on January 28, 2016 · (Permalink)*

When are they gonna remake this game... Please... Edit: thanks for the down votes, meant to say HD / next gen remake

Haboo65 · 35 points · Posted at 06:03:12 on January 28, 2016 · (Permalink)

There's a remake on the DS...

[deleted] · -4 points · Posted at 06:32:51 on January 28, 2016 · (Permalink)

But even that was a long time ago, I remember that my mom got me that when I was diagnosed with diabetes. It's been at least 9 years since then

Haboo65 · 5 points · Posted at 16:13:40 on January 28, 2016 · (Permalink)

I understand the nostalgia but I doubt we'll get another remake for a while.

Cc99910 · 9 points · Posted at 07:09:23 on January 28, 2016 · (Permalink)

It's playable on the 3ds through the remake for the DS and its on the Wii U virtual console. They probably won't be remaking this game until at least the next Nintendo system

[deleted] · 6 points · Posted at 10:51:31 on January 28, 2016 · (Permalink)

I don't want a remake, but I do like its bounded arena style levels, would love to see another game like that. Hell merge all the N64 maps into one giant Mario Galaxy planet.