Super Mario Maker 2 released this past month, and I figured it might be a fun way to dip my feet into the ocean of level design. I made three levels in total, and in doing so, I learned or at least was reminded of a few things. I’ll discuss what I learned overall then briefly go over each level.
First, playtest, playtest, playtest. I know this is obvious, but every time I have someone playtest something I’ve made, they remind me how important it really is. After I finished each level, I had a couple friends play through them. The like/dislike system, play/success rate, and death markers built into the game itself are helpful, but watching someone struggle or break your level in person is a level of transparency that just can’t be beaten. Each time, I would think I’d have covered all my bases, and each time, I’d be wrong. It just reminded me that I must be vigilant about my level design, but I also need to expect players to break it and to have to make changes.
Secondly, fixating on a theme or mechanic without full awareness of the engine you’re building in is not going to work out as intended. I would never consider myself a Mario fanatic, but I thought I had a pretty solid grasp on how Mario games tend to work. Maybe that was even true, but a basic understanding of the engine isn’t enough to build in it properly. For each level, I decided on a theme or mechanic to focus on only to realize that the engine limitations wouldn’t allow me to flesh them out as I had hoped. On the other hand, I wanted to make something rather than just sacrifice every idea I had to idealism. I stuck to the pillar that I started with for each level, but I had to bend and twist my ideas to the game engine’s will. I had to compromise. I had to take what I was given and make something that was “good enough”, and I had to be okay with that.
Third, if I’m interpreting this data correctly, players seem to enjoy a level that’s difficult yet focused more than an easier, more generic level. I say this because two of my levels have a ~1.5% clear rate, with half as many plays, and a similar number of “likes” as my more generic level with a 14% clear rate.
Lastly, leading the player without leading the player is a torturous tightrope tour that I’m not sure I’ll ever figure out. In making these levels, I attempted to make sure the player was never lost or confused about what to do next. I wanted the difficulty to be about the execution rather than them feeling their way through the fog. But I also didn’t want to hold their hand. As it turns out, I found this balance to be tremendously difficult to maintain. It always felt like it was leaning one way or the other, and I was never really happy with it. Just like my discussion of engine awareness, each time I had to be okay with this being “good enough”.
Alright, now that we’ve got that out of the way, let’s look at the levels themselves. We’ll look at them chronologically.
First up is “Death Mountain”. “Rumor has it a necromancer lives atop this pernicious pinnacle.” For this one, I started with a theme and tried to build around it. I made it in the Super Mario World engine in the snow palette and limited myself to things that I felt fit the theme: ice, rocks, skeletons, verticality, and finally, a witch as the final obstacle. This was my most “standard” level, and as it turns out, also my easiest at a 14% clear rate.
This level taught me that even though the engine allows for vertical levels, slopes and semi-solid platforms have certain limitations that make it frustrating. I also learned that verticality can make overhead obstacles blindside the player if they’re not carefully designed. For example, if the player is moving up a ramp and there’s an icicle on the ceiling, the ceiling has to be relatively low or the icicle will come from off-screen.
What’s funny about this level is the difficulty happened completely by accident. I picked a theme without considering difficulty at all. I just thought it was a cool idea. But, as it turns out, slippery floors, respawning enemies that throw projectiles, and respawning obstacles are probably some of the more difficult elements in a Mario game. I realized what I had done partway through and just went with it. I was perfectly okay with the theme and the difficulty.
Now, something I was very intentional about on this level was using curiosity to kill the cat. I placed certain blocks to tempt the player, to bait them into their death for the sake of a reward. Most importantly, I don’t believe I ever unfairly baited them. All of the obstacles were in plain sight. They knew what they were getting themselves into before they took the bait.
All-in-all, I think I’m happy with how this level turned out. There was some clunkiness to the obstacles that I’m sure led to player frustration (Nobody likes ice levels.), but I think I did well with what I was given. I think the only way to significantly improve player satisfaction on this level would be to change themes.
Next, let’s look at “Hooked on Momentum”, my second level and my first truly difficult one at a 1.5% clear rate. For this one, I focused on Swinging Claws and player momentum/control. This one definitely felt more structured and focused than “Death Mountain”. I very intentionally broke up this level into segments that each taught the player something about Swinging Claws. I tried to force them to learn a few different ways to use them then combined them all in the final room. During the learning rooms, there was no risk of death. If they failed, they could just try again, free of charge. Once they got through each of those, I gave them a checkpoint, and the real challenge began. They would have to use everything they learned to navigate a larger segment where if they messed up, they died. I wanted it to be hard but not too hard, so I designed it to be frame perfect then allowed them an extra block of space on each side. I also added spikes in certain places that should never realistically kill the player, but I’m hoping they increase the thrill by making the player feel like they’re narrowly escaping death even though in reality, they’re actually not.
Overall, I was pretty happy with this level too. I think I taught the player well, and, for the most part, challenged them fairly. There are, however, two things I think I could’ve improved upon. First, the pacing or the way the difficulty ramps up feels super steep to me. I think the early teaching segments were good, but then suddenly, you’re in this complex death trap. You do have the tools you need to survive it, but it really does turn it up to 11 real quick. Secondly, there’s one part in the middle of the death trap that, due to the way springs work, feels super clunky and inconsistent if you don’t know exactly what to do. I taught the player how to navigate this sort of obstacle earlier, but it’s a little different here and there’s a lot more pressure. Most likely, this is a failure to properly portray to the player what to do, but on the flip-side, I think this is also the coolest, most satisfying segment of the level which is why I ended up keeping it. I guess I sacrificed some clarity and frustration for some extra satisfaction. Was it worth it? Overall, I think so.
Alright, lastly, we have “Catapulting Your Problems Away”. I think this is the level I’m least satisfied with. Each of my levels suffered in part due to my dedication to their theme, but I think this one suffered the most. For this one, I started with the idea of using seesaws as catapults to overcome obstacles, which sounds really cool in theory, but in practice, the engine is really limited for this. I tried to make it work though, and I think it turned out alright. My biggest gripe with this level is that there are a couple ways for the player to soft-lock, and I couldn’t figure out a way around it. I also segmented this level in a similar fashion to “Hooked on Momentum”, but I think the difficulty ramp at the end wasn’t quite as steep. I’m happy about that.
In the end, I think Mario Maker 2 was a great first step in level design. It’s got its limitations, but what engine doesn’t? I definitely learned a few things and reinforced some good design principles. I’m not sure what step I’m going to take next, but this was absolutely in the right direction.