Level Design

What is a level?

In video games, a level is typically defined spatially. A level, and the design of that level, includes all of the space that player can navigate at the current stage of the game.

In some games, the entire space is visible to the player at the beginning of the level. In many games, the player must navigate through the space to reveal the bounds of the level.

Most games consist of a sequence of levels.

Levels can represent a section of a larger space or world.

A player typically has to solve puzzles or defeat challenges to finish one level and advance to the next.

Levels tend to increase in difficulty.

From a technical perspective, levels are collections of data that collect a series of references to the components that make up a game.

This data provides a sort of recipe for the game engine to recreate the designers level in the build of a game.

The level files contains references to all of the media (images and audio files), scripts, fonts, scenes and other resources that make up the level.

godot file

This image is the text of the MainScene.tscn file from a Godot Engine lab.

godot file

Notice anything familiar?

In theory, a designer could create an entire level for Godot with nothing other than a text editor and knowledge of the location of various assets.

But for the sake of practicality, there are many tools that allow designers to create levels visually.

In early video game development, interval editing tools were used for designers to create and add levels to be read by the game engine.

The level of sophistication of these tools has increased with the overall level of sophistication in games, allowing for the separation of roles among a design team. Level designers no longer need to be programmers to use the tools.

Some games, like ZZT, began to share their level editing tools with players, leading to communities around user generated levels.

Popular games like Doom and Half-Life also shared tools leading to libraries of user created levels and full game mods.

Mods like The Stanley Parable have been authorized by the makers of the platforms they were built on and gone on to become commercially sold and historically important games.

Another style of level design, procedural generation, uses code to generate new levels based on a series of choices.

Games made in this style are often called Roguelikes after the procedurally generated dungeon crawler Rogue, which used the process in part to make the game file smaller to make it more easily distributed on early internet networks in the 1980s.

Level design principles

Level design principles are not rules, they are more like guidelines that will help a new designer in their process of designing.

Like any other art form, level design requires its own process of discovery through practice.

Guidance

The first thing a level must do in a game is introduce the mechanics of the game.

Some games use tutorial with explicit instructions. Others use visual cues to guide the player to discover the mechanics.

It is also important to intoduce the goal of the game.

The goal of each level should always be clear to the player.

In cases where the ultimate goal of the game may be mysterious, there must be something else compelling the player to move forward, such as a narrative or visual interest.

Obstacles and rewards

Once the mechanics and goals are established, obstacles and rewards are introduced to complicate the experience of the level.

Obstacles or challenges should be fun and engage the player to progress through the game.

Rewards should reinforce the goals of the game and lead the player towards mastery of mechanics.

Perfect player principle

This principle states that there should in theory be a perfect player that can complete a level without any prior knowledge of the mechanics or design of the level.

Unique levels

The levels within a game should have unique qualities.

A good level could be described easily to any player of the game and they should know which level is being described.

Pacing

A level should offer a series of challenges without ending too quickly or requiring arduous or repetitive tasks.

Level design techniques

This is not an exhaustive list, but includes some common techniques used in level design.

Signposting

Signposting is using literal instructions, visual or audio clues, character dialog or narrative, or other signals to direct the player through a level.

Gating

Gating is restricting areas of a level, requiring players to find literal or figurative keys to open doors.

Risk vs reward

Risk vs reward is a scenario where a reward or goal is placed in a dangerous area of a level. The player must evaluate the value of the reward vs the danger of the risk.

Safe zone

The safe zone technique gives a player a safe area to move in and out of as they navigate a level.

Foreshadowing

Foreshadowing is revealing future rewards or challenges to the player before they reach them in the level.

Branching

Branching is giving a player multiple options to complete a challenge, avoid an obstacle, collect a reward or reach a goal.

Bottle necking

Related to branching, bottle necking is when the possible paths coverge on one area or challenge.

Layering

Layering is when two or more previously introduced game mechanics are present in one level or scene.