How to make a level
Overview of general workflow and concepts for video game level design
Most 3D level design projects involve this process:
If you don't know where to start, try doing everything. With more experience, you will learn when to skip or expand a phase.
underpass in de_dust by Dave "DaveJ" Johnston, for Counter-Strike 1.6
Every level / project has different needs. There is no single foolproof way to make a level.
- Group projects need more pre-production and planning, like pacing outlines and layout drawings. Without enough communication and documentation, collaborators can't collaborate.
- Combat games / multiplayer maps need more blockout time to tune encounters and map balance with a strong focus on playtesting.
- Single player levels with a storytelling focus benefit less from a long blockout period. That may sound appealing but it's actually a special hell with zero certainty. When is a story "good enough"? You'll need a lot of iterations on scripting and environment art. If your story changes, you'll have to redo everything, and it's hard to keep everything in sync. Ever play a game where the story doesn't make sense? That's probably going to be your game too.
Pre-production is about planning the basic shape and scope of the project. What is the project about? What are the design goals and constraints?
Beginners often neglect project planning entirely, while experienced designers sometimes over-plan. Big commercial studios often spend months or even years in pre-production. When collaborating in a group, this phase is very important because this is when you all align your expectations. When working solo as a hobbyist, you can probably get away with less planning.
Pre-production plans are usually text documents, boards with movable cards, and spreadsheets.
photo of internal planning board for The Last Of Us (Naughty Dog), from "Videogames" at Victoria and Albert Museum
If your project is about combat, then what does a typical fight look like, what is a battle made of? How do players prepare? How can you make fights feel varied and fresh?
Combat is like any other game system or mechanic. You should define these experience design goals before you make levels for them.
If you're making a combat game from scratch, the fights won't "feel good" until programmers and artists make it functional and readable. You basically have to make the whole game before you'll know what the combat feels like! Because it's so much work, we recommend modding combat games so you can practice on pre-built battle-tested systems.
spreadsheet breakdown showing the moveset matrix for valkyrie bosses in God of War (2018), by Jason de Heras (via Twitter)
The layout is the basic structure of the level, usually a flat 2D drawing of core areas and elements.
For a small solo hobby project, a simple layout sketch, even a scribble, can be enough.
For a group / big project, detailed layout drawings are important communication tools. No one can read your mind; if you don't visualize it and talk about it, then no one will know what you want.
Layout drawings are usually top-down 2D floor plans, but isometric / perspective drawings are common too. Remember, this isn't about being a great artist; it's about communication! The drawing is a visual plan for where the player can go and what they can do.
layout drawing of multiplayer map "Warpath" for Team Fortress Classic, by Robin Walker
A blockout is a playable rough draft of the level, built with simple blocky 3D shapes in low detail.
We prototype the basic structure of the level so we can playtest it within the game engine. Playtesting helps us decide whether the level is too small or too big, confusing or entertaining, balanced or broken, etc.
This playtesting is important for any combat game, or anything where rearranging a room can cause big changes in player behavior. If you realize a room design isn't working, then you can modify it more easily when it is made of simple shapes.
Blockout files are playable game levels / scene files loaded into the game engine.
blockout screenshot for a cliff level in Uncharted 4 (Naughty Dog), by Em Schatz
Scripting is about integrating behaviors, events, and game logic into a level.
Door scripting is one of the most difficult problems in game development. Trains and moving platforms are even more complicated. It's better to start with buttons and collectibles.
Mission objectives, quests, cutscenes, choreography -- and any AI control / combat / encounter design -- often rely on scripting. If you're scared of coding, don't be afraid, many game engines and toolsets have special scripting languages and tools to simplify the programming process.
Level design culture tends to underappreciates scripters, yet scripting is what makes a level feel "alive" and is crucial for transforming a map into an experience.
in an early version of Gone Home, doors didn't quite work correctly... from blog post "Code Judo" by Johnnemann Nordhagen
Lighting adds shadow and depth to a blockout, helping players understand the core shape of the level.
Without light, the 3D game world will feel more like a flat 2D image, and it will be difficult to gauge distances or understand the full layout. Light and shadow also serve as a form of cover / layer of information essential for combat gameplay.
While the game industry usually treats lighting more as a decorative facet of environment art, we argue that lighting has crucial gameplay functions and must be crafted in deep consultation with level designers.
Once you have enough certainty about the overall shape and flow of the level, you can begin adding more environment art, or visual detail.
An art pass is the process of adding these details. Most projects will require multiple art passes.
Many people think art passing is the "fun part." Beginners often rush too quickly into art passing without adequate planning, layout, or blockout work. A premature art pass locks-in early design mistakes because it becomes "expensive" to change the level and thus redo all the artwork. So, resist the urge! Don't rush into an art pass!
animated GIF of development process for a snowy military dock level in Sniper Elite
When the project is complete, it is time to release and make sure it reaches your audience.
For commercial projects, the game launch is just the beginning of the nightmare -- you must continue to market and publicize the project, gauge user feedback, ship bug fixes, and even build out additional post-launch content.
For personal portfolio projects, you must document the level design properly, or else no one will understand what you did. Without effective documentation, the project basically does not exist.
Beginners often do not put enough time into the release phase, and assume the project will speak for itself -- but if no one knows about it, then your work has no one to speak to.
Level design usually involves multiple steps, in this general order: (1) pre-production, (2) combat design (unless it's not a combat game), (3) layout, (4) blockout, (5) scripting, (6) lighting, (7) environment art, and (8) release.
But every project is different. Sometimes you may want to skip a layout phase, or expand a scripting phase, or do environment art before scripting, etc.
If you are early in a project or early your level design career, you should probably try doing everything until you figure out what process works best for you.
- Start with the beginning -- learn about pre-production for level design. Even just a little bit of planning will help a lot. It will help you figure out what the hell you're doing.