Is it possible to download an impassable level in Super Mario Maker?

    This recording is a free retelling of the video. Super Mario Maker? . In the video there is a reference to the video of The Impossible Level , so I will retell it. My retelling does not pretend to accuracy, I just want to share interesting material.

    What will be discussed


    Search errors in the software is very different. I search for errors in source codes, in binary files, in large software complexes, and even in some hardware. But there is an area in which I almost never did anything - the search for errors in computer games.

    People spend a lot of time to find bugs in games. These can be logical, mathematical, and even programmer errors. Someone does this to look at the game from a new angle, and someone is trying to get through the game at least a few seconds faster than any other player. It seems to me that the community of speedranders (people playing at speed games) made a huge contribution to the search for glitches and bugs. But we will save time when passing, another time, today is just a story about finding errors in the game logic.

    In September 2015, Nintendo released Super Mario Maker, a platformer about the famous plumber Mario. One of the key features of the game was the ability for users to create levels on their own (here they are called courses) and share them with other players. Someone creates levels, tracks the percentage of successful passages, and someone, in fact, passes these levels. It was at this moment that the research players started to comb their arms - is it possible to publish an impassable level?


    It makes no sense to draw something like this, the level, although really impassable, but we cannot publish it either.

    Nintendo was faced with a rather interesting task - how to prevent the library’s “cluttering up” with empty and impassable levels. And they coped well with it. The solution is quite elegant and was used more than once in games with a similar creative concept: you need to pass the level yourself before publishing and uploading to the server. And once from the beginning and once from each checkpoint. In fact, the task is reduced to the fact that it is necessary to develop a course that the author can take during the publication, but not after it.

    Attempt number 1. Code lock


    There are many objects in the game that interact with each other according to well-known rules. You can try to reproduce something like a combination lock.

    For example, you can take the following preparation:


    Kupa (1) cannot pass over the monsters on her way (3), with the exception of ghosts (2). Monsters, being on the heads of each other, do not scatter and stand still. If Mario hits a brick block (4), the bottom monster from the pile will die, dropping the ghost one block lower. If the ghost is on the same line with the cup, she will be able to go further. The author of the level knows the number of monsters before each ghost, and he knows how many times you need to hit each block in order to free the way for the clump. As soon as the coupe passes by all the monsters, it activates the trigger and releases the passage for Mario.

    This example is given only for clarity - in real attempts to make a combination lock, everything was more complicated. The player does not see the monsters, the level is divided into independent segments, in each of which you need to know how many times and in which brick to fight. And only the exact passage of all segments opens the door to the exit from the course.

    Unfortunately, this approach has a number of significant drawbacks:

    • Some zadrot enthusiast can spend a lot of time and go through everything quantitatively.
    • A lucky player will simply hit randomly selected blocks and, EXTREMELY, these will be the very blocks that must be hit the same number of times.
    • Players can simply download the course and open it in the editor. After studying, with due diligence, they will recognize the “code”.

    Continue to find a way to download an impassable level.

    Attempt number 2. Red coins


    User ReflectivistFox published a video of The Impossible Level in which he proposed an interesting idea for publishing an impassable level. True, there is a significant limitation: we pass its course, if we play it from the beginning to the exit, and ABSOLUTELY-EXACTLY-FULLY-ALL-DEFINITELY, if we use the checkpoint. It would seem that with such restrictions it is not so interesting to consider the concept of level, but in fact even such a step is very important. Do you still remember that during the loading of the level you need to go through it not only from the beginning, but also from each checkpoint? ReflectivistFox overcame half of the restriction - its level can be passed at boot time, but not in normal mode.

    The key idea is to use the “red coin” game element (I’ll just clarify that the players call them both “red” and “pink.” They were red in previous games of the Mario series, and became pink in Super Mario Maker. The principle of their work is the same so hereinafter I will use only “red”). In normal levels, red coins are used as part of the key to be collected. The author of the course has several such coins in hard to reach places. As soon as Mario collects all of them (the player knows the exact number of coins), he receives the key from the special door, for which there may be some bonuses or a passage further down the level.

    An important feature is that these coins are particularly affected by the checkpoint. Checkpoint saves the game when Mario activates it. If the player loses, the character dies, then loading from the last checkpoint occurs. All game elements are restored: enemies, bonuses, and more. But not red coins. They are not restored, although the number of collected coins is preserved. And this is not the whole feature. If you collect all the red coins and lose, the behavior changes - the counter will reset to zero, and the coins will be in their original places.

    ReflectivistFox in its level used two features of the game.


    Note that the checkpoint (red flag in the center) is half closed by the block. This installation creates an interesting effect - you can activate it when you get to the upper block, and when loading the game will not be able to create a character inside the block, and it will “fall out” below, near the doors and the dinosaur.

    Thus, the player who boots from the checkpoint gets on the alternative route. On this route it is waiting for the following:


    There are many elements and it is very difficult to describe it briefly, so I will highlight only the most important things.

    Mario comes out of the door and his gaze is the same as in the picture, and he needs to get to the door on the right (4). To do this, he needs to go along the arrows to the left, go up to the top and go to the top of the blocks to the right (in the screenshot, the way up and to the right runs along the border, but we cannot make a better shot). The special construction of objects (1) prohibits the character from turning, if he does this, the object will disappear (2), and the passage will be closed by a moving wall above it. All other methods are tied to the dragon drake using the POW (3) block - it will repel and move its back, which will make it possible to get to the left without early provoking the group (1). Unfortunately, moving a POW (3) unit makes it impossible to use the door (4). To enter the door a player needs to place something under the door in order to be on the same level with it. The player can try to pick up the POW block (3) with a sleight of hand and bring it to the door, but the author has taken care of that - the vertical part of the route is too high for it to be overcome with a regular jump. All options available to the player will lead to an explosion of POW or the inability to get this unit to the door (4). It is with such intractable situations that the player who decides to pass this level from the checkpoint is faced. But what about the author himself when he published it? who decides to pass this level from checkpoint. But what about the author himself when he published it? who decides to pass this level from checkpoint. But what about the author himself when he published it?

    Pay attention to the block (empty), which I noted with the number 5. Initially, there is a red coin on this place. During the passage, before the checkpoint, the player cannot pass by and will definitely take this coin, and that is why in this place it is now empty. During the check, the game cannot determine which red coins the player has collected, so she, by loading the game status in the checkpoint, recovers all the red coins, allowing the player who has not been picked up to collect them all if required. The second red coin is immured into the wall and cannot be collected, thereby ensuring that it is impossible to reload the coin counter, and therefore there will be no coin in place of the block (5) when it is needed. And at the time of publication, it will be guaranteed there - which allows you to use it instead of the POW (3) block to go left and quietly go out the door (4). And there is already a way out of the course.

    The result of this attempt:

    • You can pass the level if you do not use the checkpoint at all. Therefore, this method does not suit us.
    • Passing the level during the publication and during the game still have gameplay differences, which means we must continue to search.

    We do not lose heart, we continue and look for.

    Attempt number 3. Strange mushroom


    The difference was found! This is the so-called "strange mushroom." With a probability of 1%, a strange mushroom appears instead of the usual one.


    Here is a strange mushroom.


    But Mario is after, hmm ... use a mushroom. Strange Mario differs from the usual significantly higher and long-range jumps. In addition, if Mario eats an ordinary mushroom first, and then a strange one, then Mario will become strange. If you do the opposite, it will still remain strange - the usual mushroom will not have any effect.

    If everything were so simple, then anyone could create a level like this:


    The length of the moat is specially designed so that the ordinary Mario will not jump over it, but the strange one will easily. It is enough to replay it over and over again until a strange mushroom comes out. Unfortunately, this method does not suit us, since it gives a whole 1% for the probability of passing. Fortunately, Nintendo is also not satisfied with the level due to the fact that in 99% it is impassable and they decided to correct this situation. At the time of publication, strange mushrooms will never appear.

    Here it is! We just need to invert the logic. If the fungus can fall out during the normal passage, but not at the time of publication, then you need to bring everything up to the absolute. It is necessary to force the mushroom to appear, and then strange Mario will always play as usual, and usual at the time of publication.


    This is how a whole “mushroom farm” may look like, which will force Mario to collect about 200 mushrooms (a limit of 100 blocks of one type, but you can place 100 in the main world and another 100 in an additional one).


    And here is an example of a “trap” for strange Mario. Due to a higher jump, he will not be able to turn into a branch on the left and will be locked until the end of the timer (to be precise, there is a clever system of bombs and obstacles that force Mario to jump higher, and for a strange Mario, this is enough to lock up, but the usual one just activates the bomb and can leave the course).

    Putting it together and summarizing:

    • Very good attempt, which with just great probability will not let the game go through as usual.
    • Nevertheless, there is a probability of 13.4% (0.99 ^ 200 ~ 0.134, if we consider that everything is generated with a uniform probability) that the strange mushroom will not fall out, and the level will still be passed. And even if it is not uniform, the probability is still there, and the level can still be potentially passed.

    What to do? The last chance.

    Attempt number 4. Blocks with a double entity


    Do you remember the first picture for this article? I will repeat it:


    This level was actually published among other levels. And may be published yet.

    Nintendo did a good job when she came up with the logic of checking levels, but this was not always the case. When the game just came out, it had bugs. And if we use one of them, we will be able to fulfill our plans.

    First you need to make a wipe of all data on Wii U and install Super Mario Maker v1.0. This should be done offline so that the game is not updated. And you can play the game, what it was at the time of launch.

    Now we need to talk about the blocks with a double entity. This is a glitch that allowed blocks to look one way, and in fact be completely different. In order to create one, it was necessary to take one of the three types of blocks - a coin, a cloud or a solid impassable block, put it on the map, and place another block from the same set but moving along the route, then remove the route (the blocks with the route initially have a little way).


    We impose on the cloud a continuous block with a route.

    Such blocks will collapse and will behave like the original block, and look like a superimposed one. After some time, Nintendo patched it up, which broke all the levels that used this bug, because the repair of the actual double blocks was left only by the superimposed ones.


    Blocks (1) only look solid, but logically they are ordinary coins.

    Once this level is created, it is not necessary to publish it immediately. It is worth trying more precisely - the game will offer to complete our course, which we will easily do. But to send it to the server will not succeed, we did not turn on the Internet. But still, the level will be marked as completed and sent to the server without additional checks. Even after updating the game to the current version. In which the course is no longer possible to pass.

    Done! Here it is - loaded and absolutely not at all and under no circumstances passable level. On the fourth attempt, success was achieved. This concludes our little journey into the world of exploration of the game Super Mario Maker.

    Conclusion


    Thank you for reading this sheet of text with pictures. I tried to tell the available about the process of finding errors in the logic of the application. In this case, it is a game, but common approaches are preserved if transferred to system and application software. The code can be written well, but this does not mean that everything will work as planned. Logical vulnerabilities are very dangerous and difficult to detect, but this is also interesting.

    All good games, vulnerabilities and good!

    Also popular now: