DESIGN PROCESS
Designing a level from start to finish
For this example I'll be showing a basic intro stage for a 2.5D / 3D hybrid platformer. To begin, I list the ideas I have for the level. Usually I start with handwritten notes or notes on my phone, then organize them once I've settled on what to include.
Next, I come up with a rough concept of the level layout. What sections do I want and where should they be? What's the path (or paths) the player should take through the level? This might go through multiple drafts.
If possible, I like to sketch the level out on paper, but I also do it in Adobe Photoshop or similar programs.
Once I have these rough outlines, I begin making the level itself. In this particular example I'm using Realtime CSG plugin for Unity, which allows me to model within the editor so I can rapidly iterate based on play testing. When something doesn't work or just doesn't feel fun while playing, I go back to the drawing board for that section.
Here I make the basic shapes for the start of the level and place the player's starting point. I like to use different placeholder materials in my level blockouts for different kinds of surfaces. Here, surfaces you can walk on are blue.
Rewarding the player for exploring is important. It might be a bit of a sidescroller cliché, but I like to add something special just off-camera behind the starting point. In this case, it's some collectibles and the first of ten hidden stars.
In this particular game I created three “ruler” objects. Two are to show the player's jumping height and distance, as well as the double jump height and dash distance, and one is to show the general area that will be visible while playing. These aren't strictly necessary, but are helpful for designing areas that require more precise platforming.
As this is meant to be the first level, the starting areas are designed to teach the player via gameplay. Starting with platforms for jumping, higher platforms with “breadcrumbs” to teach double jumping, and boxes that can only be broken by dashing and later stomping.
There was a vetrtically moving platform leading to some gems here, but wouldn't it be more interesting if there was a hidden 3D section at the top? This way the player gets to experience 3D controls earlier in the level while also finding a reward. Alternate paths and secret areas are one of the most fun parts of platformers, so I often add them like this while iterating on the level design, even if they aren't in the original plans.
Once the general layout is complete, I add the item, obstacle, and enemy placement. Here we have a branching path. The risk of climbing falling platforms to the top path is rewarded by a large amount of gems, while the bottom path has a slowly crumbling bridge over a pit of simple enemies.
Here is the complete level blockout, including both 2D and 3D sections. The goal is on top of the large structure, which is visible from most areas in the level.
The last obstacle in the level is a boulder chase littered with basic obstacles that tests the player's mastery of the controls. At the end of the path is a series of launchers that send the player to the top. The boulder obstacle needed special scripting so it was the last one added. After much iteration to decide the path angle and boulder weight, the level is complete.
The blockout is complete, but I decided to spruce things up a bit and do the art myself. The game has a digital theme, and the blocky level geometry fits as a sort of cyberspace-type world. I gave it some digital textures, a skybox, and particle effects to finish it off.
And that's that! This was a walkthrough of my design process for a 3D Unity platformer, but the overall process is the same for other genres and programs I work with.
To play the level for yourself, click here!