A Deep Dive Into Super Mario Maker’s Crazy Loading Algorithm!


It’s time to say goodbye! Mario Maker 2 is just around the corner and
with its release MM1 will go into it’s well deserved game retirement. But before we allow Mario Maker 1 to finally
sit down in a park and to feed birds, let’s push it once again to it’s absolute limit. Today we are going to take one final deep
dive into mario makers crazy quantuum loading shenanigans. We will take a look back at how some of the
craziest mario maker contraptions worked, we will take a deep dive into how mario maker
actually works below it’s shiny surface, and we will finally answer the eternal question:
Does a Muncher exist if nobody looks at it. But we are not only taking one final look
at all those tricks to say goodbye to mario maker 1, because there is a good chance, that
a lot of those tricks are still going to work in the sequel. So are you ready? Let’s do this! Okay so let’s start by talking about how
entities get loaded in mario maker and how to make use of this. So here our poor little plumber finds himself
in the middle of a boss fight against bowser jr. Everything appears to be quite normal. Jump three times onto jrs head, don’t run
into the ouching shell, don’t touch the hot fireballs. Business as usual. Or so mario thought, but in truth this bossfight
is far from being an ordinary encounter. Because as soon as mario leaves the small
area in the middle of the room, and crosses one of the fateful track lines, the whole
arena starts to collapse! Oh no! It looks like Mario has to defeat bowser jr
here, without ever leaving the small corridor in the middle, while the heir to the koopa
throne is allowed to use the whole arena for the battle. That’s not fair! But even though everything here is rigged
against our hero in a pantsuit, he still manages to beat bowser jr against all odds. Now he finally is able to leave this area
with the key bowser jr dropped. That is, uhm, if I hadn’t forgotten to actually
put a key into bowser jr. Uhm… Hooray! Okay so how did all of this work? Well it’s actually surprisingly simple! The only thing we need to make this collapsing
boss arena work, is this muncher on tracks. Yup. So it’s time for a couple of mario maker
1 loading experiments! So here we have a super simple set-up to find
out the exact timing when objects get loaded. We simply have a shelmet on top of a spring. As soon as this block gets loaded the shell
starts to travel, and destroys the block at the top. So all we have to do is to slowly move mario
forward, and once the shell starts to travel we know how many blocks off screen are loaded
in advance. Aaaaand hooray! The shell hit the block! If we mark the spot where the camera is at
once the shell activates, then we can see that objects get loaded as soon as they are
no more than 4 blocks away of the current camera border. With this knowledge it should be pretty obvious
how our super unfair boss arena worked. There is one muncher to the right and one
to the left, each one at such a distance that they get loaded as soon as mario crosses the
line. Once they load they start to destroy the ceiling. And this ladies and gentleman directly leads
us to our first universal principle of unseen muncher behavior! A Muncher exists as soon as it is no more
than 4 blocks away of the current camera border. Super simple stuff, but there is actually
a lot more that we can do by exploiting the loading orders. See the thing is, objects that are within
the enemy entity limit simply don’t exist before they are loaded. Let’s do another experiment to proof this
claim. So first things first items only despawn after
they are more than 16 blocks outside of the current camera border. We can see this here, this shell destroys
exactly 16 brick blocks out of sight, and then magically disappears. This means that items that got loaded, stay
loaded for quite a while even when travelling through unloaded areas. So check this out. Here we just copy the area from before, but
we swap out all the brick blocks with bullet blasters. So if we now activate the shell, then the
shell actually pulls off the impossible and bravely travels through all the blasters,
hits this brick block, and then falls into this hole. What a hero. However, if we run to the right and then back
to the left, before we activate the shell, then the blasters got loaded previously, and
the shell isn’t able to magically traverse solid blasters anymore. This little trick is incredibly powerful,
we can use it to test whether mario has entered an area before, or we can test from which
side mario approaches an area. Here for example we have a setup where a pow
block gets activated when mario comes from the right, but the pow block won’t trigger,
if mario approaches it from the other side, because once, the blaster that blocks the
shell is loaded before the shell, and once it’s the other way around. This directly leads us to the second and third
principle of unseen muncher behavior. First: Once a muncher exited once, it exists
until the camera is more than 16 blocks away. And second: A muncher that hasn’t been loaded,
doesn’t exist. Okay so that’s enough basic loading stuff. Let’s talk about advanced loading stuff
next! Let’s take a look at global ground, and
global loading. *click* Alright, so bowsers space base just shot down
marios spaceship and he crashed onto a hostile and mysterious planet. He lost all his power ups, he has no way to
communicate with the space engineering toads back at home, and his only chance to ever
get a chance to rescue his princess again, is to explore this foreign planet. After a bit of exploration, mario finds this
area, deep below ground. There is a totally a chozo statue, that carries
an ancient relic, that is mario’s only chance to escape, because this ancient relic would
allow him to reach the planets exit door. But how should he reach it, the path towards
it, is blocked by black bullet blaster colored door, and the path to right is blocked as
well. This time by a red door. Hm, mario obviously needs to find the mechanism
that opens up those doors, and would you believe it, there is actually a door opening question
block hidden in this cave. All that mario has to do here, is to hit his
head against this question block, aaand hooray, the red door opened up! This path leads or mustache wearing space
plumber to another door opening device, this time it is colored black. So if everything worked out, the path towards
the totally a chozo statue should now be open. Aaand it is! Empowered by the power of this very powerful,
ancient headgear, mario is finally able to leave. Alright so how do we open up doors on the
other side of the level, by hitting a question block? Well, let’s do a quick mario maker experiment! So here we have a very similar set up three
times. Once we shoot a shell outside of the current
camera border on normal ground blocks, towards a question block that is more than 16 blocks
away of the camera border. Once we do the exact same, with the only difference
that the shell travels on top of platforms on tracks, and then we do it a third time,
but here the shell travels on top of firebars. We’ll run this experiment twice, once we
will load in everything before shooting the shells, and once we will shoot the shells
into an unloaded area. Okay, so first let’s simply shoot the shells,
and see what happens. The shell that traveled on top of the firebars
behaves as expected, it despawns before it is able to reach the question block, the same
happens to the shell that traveled on top of the ground blocks. No surprises here. Buuuuut, the shell that traveled on top of
the platforms on tracks didn’t despawn. Weirdly enough this shell refused to disappear,
and actually hit the question block! Strange I wonder what happens if we run this
experiment again, but this time we load in everything before the shells start to travel. So let’s take a look at the results. Once again the shell on top of the platform
reached the question block, once again the shell on top of ground didn’t and once again,
well wait a second. That’s weird! This time the shell on top of the firebars
was able to trigger the block with the question mark! Okay so what’s the solution to this little
riddle? Well the reason why the shells behave differently
depending on the ground they are traveling on, is because some ground is global ground. For some strange reason there are three surfaces
in the game, that never unload, and that keep everything on top of them loaded. It’s fire-bars, but only if they were loaded
once, it’s items on tracks, and weirdly enough: p-switches that spawned from a question
block. Every item that is on top of one of those
three surfaces never unloads. Not even when it is away more than 16 blocks
from the current camera. The only way to unload those objects is to
completely reload the area, by walking through a door, or a pipe. Let’s add this to our little list, since
this, conveniently, also is the fourth principle of unseen muncher behavior. Once loaded, a muncher on global ground doesn’t
cease to exist, until it leaves the global ground. Hooray! Okay so that’s the first knowledge puzzle
piece that we need if we want to understand how our doors from before worked. The second puzzle piece, is that all entities
in the ground block entity limit are always loaded. No matter whether we pre-load them or not. Let’s quickly proof this! Here we have an ultra simple setup, we simply
have an explosive bob omb, and a muncher that drops onto this walking boom-bot, a couple
of nasty coins, and a goomba. If we approach this area from the left, then
the muncher and bob omb load before the coins and the goomba are loaded. So let’s load in the explosion, and see
what happens. All the coins got affected by the explosion
from before and fell down, meanwhile the goomba is doing fine even though he just was in the
middle of an explosion. The reason for this is surprisingly simple. The goomba didn’t exist when the bob omb
made his boom thingy, while the coins were there, even though we never pre loaded them. Coins live inside the block entity limit,
and all items inside of this limit are always loaded. That’s brick blocks, block blocks, clouds,
donut blocks, ground tiles, coins, question mark blocks, ice blocks, spikes and most important
of them all, donut blocks and invisible blocks. So that’s where stuff becomes a bit complicated
for a second. Let’s say we have an invisible block behind
a bullet blaster, then it is impossible to trigger the invisible block, because the bullet
blaster is on top of it. If, against all odds, we somehow still find
a way to activate the invisible block, then the blaster wouldn’t be able to load anymore,
because then a solid block would be spawn blocking it’s spawn. So this is where it becomes complicated. If we are far enough away from the blaster,
then the blaster isn’t loaded anymore, the blaster literally only exists if the camera
is close to it. Invisible blocks however don’t share this
quantuum property, they always exist. What this means, is that we can send a shell
on global ground towards the blaster that isn’t there currently, and have the shell
trigger the invisible block behind the absent blaster. If we now go back to the area where the blaster
should be, and load it properly, then the blaster can’t load anymore, because the
invisible block is now visible. And this ladies and gentlemen is how the doors
from before worked. Once we trigger the question block this setup
activates a shell on top of the stage. Now this shell simply travels on top of global
ground towards the blaster, that blocks the door. There it hits the invisible block, and hooray,
the evil door blocking blaster can’t spawn anymore. Okay so that’s the basic loading stuff,
and the advanced loading stuff. Time to take a look at the really bonkers
tech. Let’s talk about entity limits and how to
manipulate them to our liking. Let’s best start with an example. Here our plumber finds himself in the middle
of one of bowsers many castles. But what is this, the path forward is blocked. Oh, no! Hm, but wait that’s strange, this bullet
blaster isn’t firing anything. Oh, I see, that blaster is linked to a goomba
switch! This goomba is the key to activating the blaster,
all that mario has to do here is to kill the walking mushroom, and hooray, the blaster
activates! Next our mustached hero has to make his way
through an empty corridor, before he becomes entrapped in this room with three question
blocks. But what is he supposed to do here? Aaaah I see, that’s a combination lock,
all that mario has to do here is to hit the three question blocks in the right order and
the exit opens up, but what if we hit a wrong block. Well if we hit a wrong block, then the pipes
at the top suddenly decide that they are filled with hungry chain chomps, and our poor plumber
gets eaten alive. How ouching! But that’s really marios fault for not paying
attention. The hallway up to the combination lock showed
three bowser statues a couple of times. All that mario has to do is to hit the three
question mark blocks in the order the statues showed him earlier. It’s the smallest one first, then the one
in the middle and finally the biggest one, aaaand hooray! The exit opens up, and no chain chomp pipes
become activated! Alright so how are we able to activate pipes
when mario hits the wrong question block, and how did we wire a blaster to a goomba? Well we do it by clever manipulation of the
entity limits. Time for another experiment. So here we have three question blocks that
contain munchers. We can load the game, hit them, the munchers
pop out, everything is fine. However, if we approach this area from the
left side and hit the same three question blocks, something strange happens. They don’t release anything anymore. We can do the same with blasters and pipes. Here we have two blasters that shoot munchers
and pipes that spawn goombas. Everything is fine when played normally, but
if we approach the area from the side, then suddenly the pipes stop spawning, and the
blasters shooting. To make everything even weirder, they start
to behave normally again, once we hit this p-switch. At first glance this may look a bit strange,
but there is actually something surprisingly simple going on, hidden off screen, that explains
this little riddle. Basically, we load in 100 goombas at once
and place them on top of of a single offscreen firebar. Since firebars are global ground the 100 goombas
don’t despawn when we leave this area. Mario maker stops to spawn new enemies once
the in game enemy limit reaches 100. Since we loaded 100 goombas on global ground,
100 goombas are permanently loaded and therefore the pipes can’t spawn, the blasters can’t
shoot and question blocks can’t release their content anymore. Only if we defeat a goomba, new enemies are
able to spawn. This is where the p-switch comes into play. There is simply a coin placed behind our 100
global goomba setup. Since coins are always loaded, they also always
turn into brick blocks, no matter where in the stage they are, so as soon as we hit the
switch, the evil coin becomes an alright brick block, that kills all 100 goombas, and frees
the entire entity limit. That’s how we wired the goomba to the blaster
before. Here we just loaded exactly 98 items globally
into the in game entity limit, then the goomba and the blaster loaded, which brings the limit
to exactly 100, and therefore prevents the blaster from shooting. If we now defeat this poor goomba switch,
then one spot becomes freed again, which gets immediately filled by the shell that the blaster
shoots. This finally leads us to our fifth and final
universal principle of unseen muncher behavior. A muncher inside a spawnable object, like
a question block, only exists if there are less than 100 enemies loaded. Hooray, but this still doesn’t explain how
the combination lock from before worked. Well to understand this, we have to quickly
talk about donut overflowing, and this is where all the different things we discussed
so far beautifully come together. The thing about the in game enemy entity limit
is, that a couple of things count towards it, that don’t count towards the limit while
building a stage. The limit during stage creation is the limit
A, while the entity limit B or short ELB during playing follows different rules. Doors for example, take a spot in the ELB
once loaded, cannonballs shot by cannons do, and most interestingly, donut blocks do as
well. But not ordinary donut blocks, only falling
donut blocks count. As soon as a donut block drops down it takes
up one spot in the elb, and this spot gets freed as soon as it respawns. So … if we want to make use of this, then
all it takes is twenty good big thwomps, 20 helpful firebars, 20 dumb coins and 60 donut
blocks. All that we have to build is this following
setup, and to load it once, then the ELB immediately becomes filled. Here’s how this works. Each thwomp and each firebar count as one
entity towards the elb, which brings it to 40. Then there are 60 donut blocks, since a thwomp
is permanently on top of them, they permanently drop down, and therefore permanently bring
the elb up to exactly 100. The firebar ensures that the thwomp is permanently
loaded, the donut blocks are in the ground tile entity limit, which means they are always
loaded as well. In short once we load this contraption in,
the elb is permanently filled in our stage, but the creation mode entity limit is only
at 40. Once again, we are able to place a coin behind
the thwomps to immediately free the whole ELB as soon as a p-switch gets triggered. So this is the setup we used to make the pipes
spawn chain chomps as soon as we enter a wrong combination. Basically up there is a quickly hacked combination
lock contraption, that triggers a pow block if the combination is entered correctly, and
otherwise it triggers a p-switch. If the p-switch gets triggered then all the
donut overflowing thwomps we loaded in before disappear at once, which allows the pipes
to spit out biting dogs. That’s the whole trick. Hooray! So there is actually much much more possible
in mario maker by abusing it’s loading algorithm, but those were the most basic concepts of
mario maker 1, and hopefully most of this stuff still works in the sequel. So to finally answer the question from the
beginning of the video: Does a muncher exist if nobody looks at it? Well, if it is less than four blocks away
from the camera yes, otherwise, no except it stands on a fire-bar since this is global
ground, but only if the fire-bar got pre-loaded before otherwise it’s no again. If the muncher lives inside a question block
than it does exist as long as the block isn’t more than four blocks away from the camera,
otherwise it doesn’t except the elb value is currently above 100 in which case it doesn’t
exist until the limit is cleared, and if the muncher is on track then it doesn’t exist
until it is loaded for the first time, but afterwards it always exists. So the next time someone asks you this, now
you know the answer. Hooray! Okay and with that being said, I hope you
enjoyed this little video, if you did don’t forget to leave me a thumbs up and maybe you
feel especially hyped for mario maker 2, and want to hit subscribe button as well. I hope that all of you have a wonderful day
and to see you soon. Goodbye!

, , , , , , , , , , , , , , , , , ,

Post navigation

Leave a Reply

Your email address will not be published. Required fields are marked *