The Creator of Mario Maker 2’s “Most Improbable” Level Knows His Cryptographic Creation is Bizarre

Nobody has beaten Super Mario Maker 2’s “Longest Passcode Level.” save for its creator, Veedrac. To beat the level, the player has to enter a 752-digit binary passcode by way of breaking certain brick blocks—that’s the only way to get a key to the level’s exit. With a 500 second timer and absolutely no room for error in entering the passcode, Veedrac completed his upload attempt with 21 seconds to spare. That’s nearly 8 continuous minutes of precise block breaking, all to put up a level Veedrac describes in his wryly hilarious explainer video as “the utter pinnacle of poor life choices.”

Veedrac went to these great lengths even though three other levels with similar (albeit less secure) passcode systems already existed in Super Mario Maker 2. So why do it? “For me it’s not so much about winning,” Veedrac tells me over Discord. “It’s just about exploring what can be done and having fun with it along the way.”

Passcode levels are counter-intuitive in that they aren’t intended to finished. Instead, they’re more of a way for their creator to demonstrate what’s possible with Mario Maker’s level creation tools. These levels are ultimately cryptographic exercises: the creators make sure there’s no way to deduce the passcode from any cues or hints in the level. In Super Mario Maker 2, Nintendo also removed the ability to open up other players’ levels in the editor to discover how they’re made. This means if you don’t know a level’s passcode, it’s almost impossible to arrive at it through brute force. Practically speaking, these passcodes are unbreakable.

In a sense, passcode levels may be the pinnacle of what’s possible in Super Mario Maker 2. To put a passcode in a Mario Maker level you first need a mechanism for counting inputs; the methods creators have made so far involve either destroying blocks or collecting coins. Then, you need a second mechanism for verifying that the player has entered the correct sequence. Creating a passcode level requires the utmost expertise on how Mario Maker’s toolset can be used to rig up contraptions and hide information from players.

That’s what makes passcode levels fascinating, and what makes Veedrac’s “Longest Passcode Level” a true achievement—right now, there’s no clear way its security can be improved upon.

From Sixteen Digits to Nearly Two Thousand

Veedrac’s video on the creation of “Longest Passcode Level” goes into the short history of passcode levels in Super Mario Maker 2, and Patrick Klepek gives an excellent overview of the trend at Vice.

Here’s the short version: In late July, popular Kaizo level creator PangaeaPanga (who USgamer interviewed in August) kicked off this wave of passcode levels with the cheekily named “Cyber Security 101: Brute Force.” That level required players to guess two 8-digit numbers in order to complete it, which is already more unlikely than winning the lottery. Panga outdid himself with a follow-up level, and then a Redditor named anonym05frog refined that design for a level that added another few trillion possible passcodes. Veedrac’s “Longest Passcode Level” increases the possible passcode count to 10^566, or 863 vigintillion googol googol googol googol googol.

That’s equivalent to 1880 bits of security, though the level doesn’t even utilize it all. “Longest Passcode Level” supports a 1880 digit-long passcode, but only uses 752 digits because of that pesky time limit. If you could test one possible passcode per second, the time it’d take to test every possibility would be longer than the estimated age of the universe.

The major innovation in Veedrac’s level is a counting and verifying system that wastes less space than those that came before it. By switching to binary numbers that can be encoded in the space of a single tile, Veedrac has more room left over in the main world and in the block limit to make the passcode longer. Mario Maker 2’s SMB1 ghost house night setting, which obscures most of the screen, also comes into play here: it allows for more space for code entry, and no way for the player to watch the verification process.

Since the level’s dark, you can’t watch the checking process once it’s underway. | Veedrac

To encode a binary digit in a single tile, Veedrac utilizes three Mario Maker items: brick blocks containing vines, regular brick blocks, and the Spiny Helmet. With the helmet on, both block types will break when hit by the player. Both brick blocks also have unique behaviors: only broken vine blocks will respawn when you go through a door, and only regular blocks turn into coins when a P-Switch is pressed. If you prevent the helmeted player from ever seeing the blocks that have respawned or turned into coins, then there’s no way for them to determine which block is which just by breaking them. The player needs to break whichever blocks are ones (vine blocks) and leave the zeroes (regular brick blocks) intact.

While Veedrac says he has “noticed some potential in invisible blocks, which have three states instead of two: untriggered, triggered, and destroyed,” the solution he arrived at in “Longest Passcode Level” for checking the binary encoded blocks is extremely elegant.

Veedrac borrows an idea from Panga’s second passcode level and uses mushrooms to verify the code. Mushrooms move horizontally across flat surfaces, they switch directions when they hit a wall, and they fall off of edges. Veedrac’s level sends mushrooms across the rows of encoded vine and regular brick blocks twice. With a P-Switch turned on during the first test, mushrooms pass through regular blocks (now coins) and bounce off unbroken vine blocks. The second test, which takes place after the vine blocks respawn, will fail if any regular blocks were broken in error, as the mushrooms will get stuck in the gaps. If the mushroom completes both trips across the rows, the level can detect that the player entered the passcode correctly.

To complete the level for the sake of uploading it, Veedrac wrote a program that reads out the level’s passcode aloud. Veedrac has made the level’s passcode and his helper program public. So far, if anyone else has tried to finish it, they haven’t succeeded.

In Pursuit of an “Even Longer Passcode Level”

Veedrac’s level doesn’t use a subworld, which could double the level’s overall size, because there’s no obvious way one could be used to support a substantially longer, more secure passcode. Duplicating the same passcode mechanism in a subworld wouldn’t be the same as having one longer passcode to crack. “The issue is that you need to transfer state between the main world and the subworld without letting the player see that state,” Veedrac explains to me. “If they can see it, they can just solve each half separately. While this may be possible to do, I have no idea how.”

The hard limitations of Super Mario Maker 2 make the prospect of improving on Veedrac’s creation without a major breakthrough fairly remote. “My level already hits a block limit,” says Veedrac. “There is probably space for careful optimization and saving a few bits here and there, but to beat my level by a sound margin you would either need to combine approaches, to maximize the other limits as well, or you would have to figure out how to encode more information in each block. But even then, you’ll just end up hitting another block or item limit again either way.”

Tinkering around with invisible blocks’ three states, Veedrac hasn’t found a way to encode information in them, and is at a loss for checking their state in a way the player can’t see. “In theory,” says Veedrac, “that would improve things by ~60%, but I don’t know if that’s possible.” If you want to take a stab at it, Veedrac has pointers on how to test them:

Triggered [invisible] blocks can be distinguished from the others by just testing whether an item can pass through them. Untriggered blocks can be distinguished by first destroying all triggered blocks, and then using an upwards-travelling shell to trigger any untriggered blocks. Then you test for triggered blocks. The remainder must have been destroyed ahead of time. Doing this compactly and unobservably is an exercise for the reader.

If someone does one-up “Longest Passcode Level,” Veedrac says the novelty of the approach will influence whether or not he tries to retake the title. Veedrac’s already had a similar experience—a few months before perfecting his passcode idea, he was the first to make a Super Mario Maker 2 level that maxes out the score counter. “When Ceave optimized my points level, all the avenues I saw had been exhausted, so I let it rest, Veedrac says. “When adamzer0 took up the reins again, he invented a whole new approach, which felt ripe for exploration, so I took a stab at that. (I failed, his level remains supreme.) So if someone just shuffles some blocks around, and makes the passcode level a little longer, I’ll probably leave the crown to them, but if someone figures out something new entirely, that would probably grab my attention.”

Passcode levels may seem absurd—Veedrac includes a warning against playing “Longest Passcode Level” (LNL-2NL-W6G) in the level’s description—but to my mind, they’re anything but a waste of time. They’re an expression of curiosity and creativity outside of the regular norms established by Mario Maker, which are geared around making conventionally fun levels.

Other archetypes, like puzzle boxes and Kaizo levels, adhere to different design goals but still revolve around the joy of completion. Passcode levels, on the other hand, challenge the idea of what a level should be. They’re almost the mirror opposite of the auto-run levels that rose to popularity with the original Super Mario Maker: you don’t “play” either type in a conventional sense, so much as you appreciate the craft. So, does it really matter if you can complete it or not?

Source link

Add Comment