Level Design

Level design is an extremely important aspect of the game design as the levels are your direct line of communication with the player. As a designer, you may serve as the level designer for your team, so it is a good idea to build up your experience with it now.

In this lab, we ask you to use a level editor to design a level for a game called PyroKid.0 We understand that this game might be drastically different from your own game, but the point of the lab is to get in the level design mindset. Each of your own games will also have a level editor application, so this may also be a good chance to start thinking about how you want your level editor interface to look.

PyroKid and Level Design

Download: Pyrokid.swf

Right away, you will see that PyroKid is in flash, which means that it is no longer directly playable in Kongregate. We were this close to an HTML5 replacement this semester. But unfortunately we found some last minute bugs. This means that you will need to download the standalone Flash projector and use that to run the game. We recommend the non-debug version as the game appears to be a bit slow in the debug version.

Take some time to familiarize yourself with the game and some of the levels that have already been designed by the original team. After playing through several levels, take note of the levels you specifically enjoyed playing and what aspects of those levels made them better than others. If you don’t have time to unlock all the levels but want to see the more complex level designs, you can watch a walkthrough of all 60 levels.

Using the Level Editor

From the main menu screen, choose the Level Editor. You should see what looks like an empty level of PyroKid.

The set of blue buttons to the right of the screen is the level editor menu. The first button sets the editing mode, which by default is the Editing Objects mode. This mode allows you to fill a selection of tiles (click and drag) with the current gameplay object (highlighted in red on the menu). Below is an explanation of each of the objects in Editing Objects mode:

[4] Empty

Erase all objects in the selected tiles

[5] Dirt Tile

Place the standard dirt tiles, which do not catch on fire and are not affected by gravity

[6] Eternal Flame

Place lava tiles that stay ignited unless a water bat douses the flame

[7] Quick Burn

Place wooden box tiles that burn up and disappear

[8] Metal

Place metal tiles that are impervious to fire and fall if their connection breaks

[9] Water Bat

Place water bat enemies that shoot water that kills only the player and douses flames

[10] Bomb Exit

Place the bombs that blow an exit hole in the wall when set on fire

[11] Hole Exit

Place an exit hole in the wall

[12] Immune Enemy

Place salamander enemies that can catch fire without dying

[13] Player

Set the player’s start location

[14] Spider

Place spider enemies that take one hit to kill

[15] Armored Spider

Place spider enemies that take two hits to kill

The New Level button [16] clears the entire level of all placed objects.

The dirt tiles will clump together automatically, but for all other platform types, you will need to switch the editing mode to Clumping Objects. Click on the Editing Objects button [1] to switch to Clumping Objects mode. Then click and drag to highlight the tiles you want to clump together.

Selecting the platforms (left) to clump them together (right)

To keep tiles from falling, switch from Clumping Objects mode to Connector Mode. All objects are affected by gravity except for dirt, so in order to keep from falling they must be connected to a dirt tile. Click and drag to highlight the tiles you want to connect. These connections will break if one of the connected platforms is destroyed by fire.

Selecting the platforms (left) to place the connectors (right)

To increase the size of the map, just change the numbers in the Map Width [2] and Map Height [3] text boxes and then click on the corresponding blue button to apply the change in size.

You may also find these keyboard controls helpful:

  • Enter key: switch between Edit mode and Play mode
  • Z and X keys: zoom in and out of the level
  • WASD keys: pan the camera to move around the level
  • P key: export your level as a text file level.txt
  • O key: import your saved level.txt file

Important**: If you do put an exit on your level, be sure to save the level before hitting enter and going into play mode. If you complete the level you have made and go through the exit, it will take you to the main menu again and you will lose anything that you have not saved.

Lab Instructions

Now that you understand how to use the level editor, it is time to get started with the lab. You will be creating your own levels for PyroKid, but we want you do that in a methodical manner.

Create Some Design Goals

Before you actually create your level, you should first think about the player. Part of your goal as a level designer should be to present the player with a smooth progression of challenges both within a level and throughout the game. Some important questions you should consider while designing your level include:

  • Is this a tutorial level that teaches the basics?
  • Is this an intermediate level that challenges the player?
  • How does this level compare to the previous levels?
  • How should this level introduce new gameplay mechanics?
  • What kinds of frustrating elements should it avoid?
  • What happens if this level combines mechanics X and Y?
  • What kinds of chain reactions can the player set off?
  • What kinds of challenges do you enjoy in PyroKid?
  • What do you want to make the player do?
  • How do you want the player to solve to this challenge?
  • Where do you want to lead the player?
  • What kind of pace should this level have?
  • Are you able to beat this level in a reasonable amount of time?
  • Are you having fun?

As you think about these questions, try experimenting with different designs in the level editor. When you are ready, answer these questions in a text file, goals.txt, the first file you will submit for this lab.

Create Your Level

Use the level editor to design a level for PyroKid based on your design goals. This level should be creative and made completely by yourself. However, there are some guidelines you must follow while designing your level. A good level should be made up of several sub-challenges that prepare the player for a larger challenge that combines elements from the previous sub-challenges. In other words, it should make use of both the reinforcement and recombination of challenges, as shown in this example-level.txt.

Panel A requires the player to set the salamander on fire to clear a path

Panel B requires maneuvering around armored spiders on eternal flame tiles

Panel C reinforces both Panel A and Panel B in the BBA pattern

Panel D recombines A and B to set the salamander on fire without igniting the eternal flames.

Pyrokid is a platformer consisting of four different platform types and four different enemies, all of which react differently to fire and gravity. In designing your level, make sure you understand how these different elements interact with each other under different conditions. We will grade your level based on the following:

Sub-Challenge A

There should be an interesting combination of gameplay objects that challenges the player.
It should be more complex than a single enemy on a platform, but not so complex that your level takes more than five minutes to play.

Sub-Challenge B

There should be a separate combination of gameplay objects that challenges the player in a different way than Sub-Challenge A. For example, you might present the player with salamanders that set fire to connected platforms for Sub-Challenge A, and then fill pits with armored spiders for Sub-Challenge B.


Each of the sub-challenges are repeated in some order that prepares the player for the final challenge. For example, you might use a pattern such as AABB, ABAB, or AABA when presenting the player with your sub-challenges.


The final challenge combines sub-challenges A and B in an interesting way that results in an even greater challenge. Sticking with the earlier examples, a final challenge might be to ignite an eternal flame platform that causes a platform carrying a salamander to fall in line with another platform full of armored spiders. The player would then need to set fire to the salamander so that it can clear the path of all armored spiders.

When you are finished creating your level, press the P key to save your level as level.txt, the second file you will submit for this lab.

Playtest Your Level

Once you have finished your level and are satisfied with the placement of your gameplay objects, get at least three friends to play your level. Silently observe their actions and take notes on how they attempt to beat each challenge. Compare these notes to the design goals you wrote earlier and assess how well your level design met those goals.
Tell us how you tried to design your level, how your implemented design compared to your design goals, and what you would try to change in order to improve your design given the feedback from your playtesters. All of this should go in the last file you submit for this lab, review.txt.


Due: Thu, Feb 24 at 11:59 PM

You should create a zip file containing the following files:

  • goals.txt
    This is the text file containing your answers to the design goal questions.
  • level.txt
    This is the text file of the level that you created and exported from the level editor.
  • review.txt
    This is the text file containing your playtest results and ideas for improvement.

Submit this zip file as lab4design.zip to CMS