Level Design Process
After attending several inspirational talks at GDC, I hoped to reevaluate my design process for producing levels. The goal is to rely less on intuition and focus more on repeatable steps I can take to produce high-quality levels with proper pacing and intensity. Below I will list several steps I take and detail the importance of each.
1 - Information gathering
What are the design pillars we are adhering to?
What metrics have been established by the team or still need to be defined?
What elements are required to complete the vision of the game?
What are the required mechanics or tutorials
What are the required Narrative elements
What is our gameplay through-line or theme of this level?
With the above information define my goals while interfacing with the rest of the team.
Having our design metrics and pillars clearly defined at this phase provide us with an excellent common language to use in the decision-making process. We can utilize this info to work with leadership to answer the rest of the questions if they have not already been determined. Having clear goals and required elements will make the pre-production phase more approachable.
2 - Pre-production
Author Design documentation
Establish verbiage describe what kind of elements will make up our level.
List and detail our games components
Define metrics if applicable
Sketch and quickly iterate over basic map shape and landmarks.
With all of our gathered information, I begin to iterate towards our goal. Listing out what tools I want to utilize for building the level and clarifying the setting and how the spaces interact with one another. At this point, I begin sketching out the map its shape and focus on what landmarks will guide the player through the level.
Create a flow node map
Use components and verbiage to build a node map
Define what each space will be used for in terms of game mechanics.
Each node uses color to define how it affects pacing.
Convert to pacing timeline and check for pacing issues
Define loading zones
Once our level’s concept is further clarified I create a node map to demonstrate the level's flow and further detail how each space will be utilized. On a high level, each node represents a section of the level. Within those nodes, I detail the connection of each space and what that space will try to accomplish mechanically. The flow map is also a great high-level indicator of the levels pacing.
Use node map, sketches, and LDD to create a detailed version of the map
Placement of key objects (Cover, Enemies, Checkpoints, Etc…)
Establish general lighting mood and atmosphere
With the node map focusing on our game mechanics, it’s beneficial to bring it all together in a map that will work out the aesthetics that surround our level, while placing key objects to get a general feel of each challenge. The detail map is our last line of defense before investing more time in a block out phase.
Feedback and iteration
Refine and iterate
Are we on track to reach our goals?
Although refinement and iteration should be happening in almost every step of the process, I detail it here explicitly as feedback in this stage can significantly improve and help resolve possible design issues before moving to the next part of the process. In addition, I believe it is also essential to check in at this phase to make sure that we are meeting our earlier established design goals.
3 - Production
Quickly block out all spaces and use building blocks based on metrics.
The test room is a quick and fast way to establish our design metrics in 3D space. Make sure our ledge height is appropriate, or threshold for cover conveys that the object is indeed cover and properly hides our player. Creating the test room now also will save us time later in the implementation phase as we can use this room to test Game Mechanics.
Use building blocks to establish a critical path
Establish optional or secondary paths
Check Metrics and scale.
Setup each challenge and all enemy placement.
Clarify Interaction Affordance
Environmental Storytelling - every space has a story or purpose.
Verify the framing of key objectives, landmarks, and paths.
With building blocks and documentation to guide we can start the blockout phase. Placing major landmarks and the critical path are the first steps to assuring our player can always orient themselves. Early on I focus on framing and utilizing leading lines to emphasize objectives and gently guide the player on the critical path. Our secondary or optional path can be used to promote exploration and can be excellent tools in allowing the player to control their pacing. At this stage, I also try to assure that every space can serve the narrative or provide context on the player’s objective. Any intractable element the player can use should indicate it’s purpose and should be something to note in playtesting.
Implementation and scripting.
Work on enemy path finding and line of sight mechanics.
Setup puzzles and intractable elements of the level.
Script any narrative moments such as cut-scenes or intractable events.
Test play and iterate (Self)
Play the level and look for issues with any of the above design choices.
Adjust and iterate on framing and breadcrumbing if applicable.
Test play and collect feedback (external)
Have other’s who are less familiar with the project play test the level and observe their experience without interfering.
At this phase, I try to pay extra attention to Player’s ability to navigate successfully.
Encounter and puzzle tuning.
Additional bread-crumbing if applicable.
Once all the levels significant gameplay moments are scripted, and the level is fully playable. Doing several rounds of testing and iteration is essential. I believe the self-review is vital as we can quickly iterate on many of the elements of our level. Once satisfied I think it’s critical to get a large variety of player’s on the level as early as possible. Observing their playtest sessions and compiling notes on their experiences. At this step, it’s worth stepping back during the play session and not acting on the notes until you have a good set of data to review.
4 - Review and check goals
Review feedback and notes
Have we accomplished our goals?
Define new goals or issues to be solved.
With the data compiled, we can look at what issues are common and which are more fringe. From here repeat playtesting, iteration, and review until we feel we are satisfied with the result.
This process is not set in stone and has plenty of room for improvement. However, it helps me break down my tasks into smaller bite-size problems that I can tackle one at time. It has helped tremendously with blank canvas issues as I always goals to refer back to make sure I’m staying on task. Currently, I’m focused on improving my speed at how fast I work through this process. I’m happy with the results so far, but I have ways to go still. In a way I’m working on iterating my self as a game & level designer.
Thanks for reading!