How to Design Breathtaking 2D Platformer Levels

Platformers have been popular since the dawn of games; from Super Mario Bros. of 1985 to Celeste of today. Good level design is one of the most essential parts of a platformer. Want to design breathtaking levels for your game?

Celeste, the game I mentioned, is one of the best platformers I have ever played in my life. It was originally created in a short game jam (if you don’t know what game jams are, you’re missing out! Check out my article about game jams here).

If you haven’t, you should check Celeste out. The game connects pixel tight controls, cute pixel art, an excellent story, and a breathtaking score. I could talk about this masterpiece of a game for ages. However, today I’d like to focus on only one aspect of the game. The level design.

The game features 9 chapters, most of them having 3 variations. And Madeline, the protagonist of the game, has only 3 main moves. The jump, the dash, and the climb. So how did the developers achieve fun, challenging, and interesting gameplay all throughout these plentiful levels of the game?

You see, while Madeline can do only these three basic moves, each chapter features a halo of new mechanics. The game teaches you these mechanics flawlessly, then ramps up the challenging, usually ending the chapter with a climactic combination of everything you’ve learned. This combined with the fact that Madeline’s movement can also be combined, strung together to hyperdashes, wallboosts, spikejumps, and a plethora of other advanced tricks, creates amazing level concepts that don’t get boring the whole game.

One of the levels from the 2d platformer video game Celeste.

Let’s see what each chapter of Celeste does to guide the player through its levels, step by step. This way, we can learn the platformer level design techniques of the game development masters behind this game.

Introducing New Mechanics

Each chapter presents the player with some new mechanics (usually at least 3). These could range from platforms that launch you high up to the air, enemies that follow your movement, to the wind that messes up your sense of speed. The game manages to teach the player over 40 unique mechanics, while not overwhelming them.

Another game that manages to teach its mechanics to the player almost flawlessly is pretty much any Mario game. If you go through the levels, you can notice the pattern. Each new mechanic is introduced in a safe space. Here, the player can get used to the mechanic without having to fear death.

After that, there’s the first challenge. At this point, the player knows that the mechanic exists, and did have some time to prepare for the challenge, so this shouldn’t be much of a problem. However, as the player progresses further in the level, the mechanic is presented in harder challenges.

Lastly, the newly introduced mechanic is combined with already existing mechanics to achieve the maximum difficulty.

This approach can be seen in many games. It ensures the player doesn’t get surprised by a new mechanic or frustrated by dying a lot early on. As the level progresses, the challenge ramps up, until the climax, combining everything the player has learned about this new mechanic, along with all the already established ones.

Designing Levels

Now you know how game designers introduce new mechanics to the player, and how they pace the difficulty throughout a chapter of the game. But what about the levels themselves? Celeste has over 500 rooms – individual levels the player has to jump, climb, and dash their way through to get to the end of the game. What goes to designing such a room?

Maddy Thorson, the lead developer of Celeste, goes into detail on their level design process in a GDC (game developer conference) talk, titled “Level Design Workshop: Designing Celeste“. You can watch the whole 30-minute talk by clicking on the link.

Basically, every level in Celeste is a very small, self-contained story. Maddy describes how they iterate on different designs of the level, all to give the player several options on how to play the story. However, the game is also enjoyed by speedrunners, so Maddy includes ways to skip some parts of the level for more skilled players.

While Celeste features very short, often one-screen levels you can get through in a few seconds, Mario games have longer levels, that sometimes take up even several minutes. This, of course, leads to very different styles of level designs.
In Mario games, each level is usually based around one mechanic, and it handles the mechanic as I discussed previously.

Collectibles and Challenges

One thing Celeste really excels at is adding additional challenges for determined players. If a player wants to simply complete the main story of the game and move on, it will take them a few hours, but it will not be that hard. However, the main story is only a fraction of the game’s content. There are strawberries – collectibles in almost every room that can be collected via completing a challenging series of jumps and dashes. In each chapter of the game, the player can also find a B-side cassette. After finding the cassette, they can play a much harder version of the chapter.

There are also crystal hearts that involve the player completing a little puzzle in each chapter. After getting a few of these hearts and/or completing some of the B-sides, chapter 8 opens. This bonus chapter changes some of the core mechanics of the game, providing an additional challenge. That’s not the end, though.

Once the player completes all B-sides, C-sides for each chapter unlocks. These are very short but very challenging.

To add to it, golden strawberries also unlock. To get a golden strawberry, one has to complete a whole chapter without dying once (which is near to impossible).

One of the C-side levels of the Mirror Temple chapter of Celeste, the 2d platformer video game.

Celeste makes an interesting point for game developers; if you add these little challenges, that are not hard to implements (I don’t imagine the golden strawberries taking more than two hours of development), you can get a great amount of bonus content from the levels you have already created for the game.

Other Tips for Platformer Level Design

There are some other general tips that come into effect when designing levels. It’s very easy to fall into the trap of symmetrical levels. However, don’t do this – an asymmetrical level is usually much more interesting.

You should playtest as much as possible. Find people to play your levels early, watch how they react to them, keep notes on how potential players play. Run through your own levels. Try getting through them as fast as possible, as slow as possible. Try what happens when you screw up at some places. Do your best to break your own level.

If you like this blog post, you can sign up for my newsletter below. I send out emails about my articles, and about pretty much everything that happens in connection to Eledris or my other projects. If you have any questions, please feel free to reach out to me via email;

Eledris Newsletter


One other thing that can really benefit your game is game feel. This isn’t really part of game design, but including good game feel can make or break your game experience, so it’s just as important as level design. Feel free to check out my article about game feel by clicking the link!

Last, but not least, don’t be afraid to trash a level if it’s just not working. Don’t worry, you’ll come up with many more amazing level ideas.

Don't be afraid to trash a level if it's just not working. Don't worry, you'll come up with many more amazing level ideas. #leveldesign #gamedev #indiedev Click To Tweet


There are my top tips for 2d platformer level design. Hopefully, with these tips, you’ll be able to create your own breathtaking levels and rise to the excellence of games like Celeste, Super Meat Boy, and Mario games.

If you have a Discord account, I would love to invite you to the Eledris Blog Discord server – it’s a growing community of worldbuilders and game developers connected to this blog!

You can check some of my other articles about game development by scouring the GameDev tag.

Good luck with your level design, and be sure to let me know any feedback, opinions, and/or other level design tips in the comments below this article!

2D Platformer Level Design FAQ

What does a level designer do?

A level designer works closely in the game to create levels, meaning the environment the players will play through. A level designer, when working on a platformer game, has to consider the mechanics of the game, and the intended challenge of a given level.

How do you level design?

Level design is a complex topic, very different for each genre, and style of games. Every game’s levels are unique and different. However, there are some basic principles that apply across almost all games: a level should tell a story in some way, it should keep in mind the mechanics of the game, it should be so difficult that the player doesn’t get bored, but not too difficult, lest it makes the player angry and frustrated.

How do you design a platformer level?

Designing a 2D platformer level is a process, featuring lots of iteration. First, you should set a basic “story” for the level, and determine the main mechanic.
After that, you have to iterate through different versions of the level and make sure to playtest from the beginning to end.
Lastly, once your level is done, include a few additional challenges for more skilled and determined players.