In a previous article I discussed what goes into making a strong level in Portal 2 and what you need to consider as a level designer. In this article I am going to take a more hands-on approach to help you understand those concepts by building a level, to show you the process I go through and how to apply the ideas I discussed earlier.
Before We Begin
In the last article I spent a lot of time discussing the elements of a Portal Test Chamber. However, I know from personal experience working on Portal levels that creating a level can be much more challenging than just understanding the ideas and applying them. So in this article I’ll explain in more detail how to develop a level, with a concrete example you can follow from start to finish to help you understand what problems you are going to encounter and how to handle them.
You may remember from the previous article that I also showed some concept art of the level idea I was working on for this article. It looked like this:
I’ve been working on this concept more since the last article was posted and, although it has potential, I found the idea to be much more complex than I originally envisioned. With that in mind I thought it was best to focus on a simpler idea in this article .
My goal here is to give clear examples of what I’ve already discussed in the previous article, and; although there are good examples in the level above, it would be beyond the scope of this article to go through every problem I would face while developing it and you would end up losing out on the chance to see the whole development process.
Developing an Idea and Concept
I’ve decided to go with a level where the player has to get a cube and bring it to the end of the puzzle so they can open the exit door. I also decided that I was going to work with tractor beams because they are one of my favorite puzzle mechanics. From this starting point, I began considering what sort of puzzle I could make with these constraints.
A tractor beam in Portal 2.
With tractor beams the player needs to be in a situation where they are trying to get an item which is out of reach, or trying to go somewhere they cannot go with portals alone. I decided I wanted the player to use the tractor beam to move around the level and to use it as a means to attain the cube. This information helped me decide to put the tractor beam on the ground since the player needs to get into it, and to put a lot of water within the level to make walking around difficult for the player.
From here I decided I had enough to start coming up with simple concepts. I threw around a couple different ideas but the one I went with was fairly simple: the room is divided into four sections by two lines of water which cross in the middle of the room, like so:
The player enters the room in section A and leaves in section D.
To leave the room the player needs to use a button, which is next to the exit, and to use that button they will have to use a box which starts on platform B.
There will be a wall which prevents them from getting from B to D and forces them to go from B to A to C to D. To get between sections the player will use a tractor beam.
At this point I needed to determine where the tractor beam would go. I knew the Tractor beam would probably be at either A or B and decided it should be at B because I wanted the player to use the Tractor beam to get the cube.
If I put the tractor beam at A then I would need to make it face B since I want the player to look at B before C, and having the tractor beam facing B means that its possible for the player to accidentally get to the cube if they step into the beam before processing what is going on. I didn’t like this option because it meant they could complete the first step accidentally, so I put the tractor beam at B.
Since the tractor beam is located at B there also needs to be portalable walls around A that allow the player to use the Tractor beam to go from A to B and B to C.
There also need to be portalable walls at C which allow the player to use the tractor beam to move from C to D.
While looking over my puzzle I realized that it was possible for the player to go past the C platform without stopping and just continue using the tractor beam to go across to D if they placed the portals correctly. To prevent this I decided there should be a fizzler on the empty edge of D and put the button which disables the fizzler on C. This forces the player to get out of the tractor beam, and determine how to turn the fizzler off before proceeding from C to D.
I chose to use a button that has to have something on it to keep the fizzler disabled. This means that the player has to put the cube through the Tractor beam while they keep the fizzler off so that the cube doesn’t get destroyed by the fizzler. Then, once the cube is on the other side the player can go to D with the tractor beam, pick up the cube, and open the door.
At this point I knew that even though my puzzle wasn’t particularly challenging it was complete enough that I could take it into the editor and test it, so that’s what I did.
Analyzing Your First Draft
Here is an image of what the map looked like in the editor:
This video shows me playing through the puzzle, and narrating a few of my thoughts on it:
In case you can’t view the video, it shouldn’t surprise you that I found the level to be incredibly simple. The problem is that there is no real challenge to completing this level since every step is obvious and requires little forethought on the part of the player.
This is not an uncommon problem to encounter early in the level design process for a Portal map. To solve it I like to list the actions the player has to take to complete my puzzle and then find places I can make things more difficult for them.
These are the current steps the player must take to complete the puzzle:
- Use portals with tractor beam to go from A to B.
- Pick up cube
- Take cube from B to A with tractor beam.
- Use tractor beam or portals to go from A to C.
- Turn off fizzler by standing on Button at C.
- Set up tractor beam so it goes from C to D.
- Put cube in tractor beam while fizzler is off to move it from C to D without destroying it.
- Once cube is past fizzler, step off Button and into tractor beam to move yourself from C to D.
- Once on D, use cube to open exit door.
- Exit room.
The problem I noticed after listing the actions the player takes was how easy it is to get the cube, and then how easy it is to get the cube from A to C. Those two actions are very important to solving the puzzle and yet they can both be boiled down to a single statement action. Contrast this with how the player gets from C to D with the cube, which is half the listed actions alone, and you can see why this is such a simple puzzle. Clearly, this is where the puzzle needs to be more complex.
Creating Challenge
Getting the cube should be the first challenge for the player. To effectively make this part of the puzzle more complex, I needed to find a way for the player to use the tractor beam to get the cube. This would introduce the tractor beam as a complex puzzle element earlier, and make the act of getting the cube more interesting.
The easiest way I found to introduce the tractor beam at this stage of the puzzle was to move the cube dispenser into the middle of the map. Doing this made it so that the cube will continue to spawn and fall into the water until the player does something to prevent it. This forces the player to catch and move the cube with the tractor beam before they can pick the cube up, and effectively makes the task of getting the cube involve active participation on the part of the player.
(From this point on, I start implementing ideas directly in the editor without sketching them out first. I try to start on paper or in Photoshop so that I can think through the major aspects of the puzzle such as the player’s goals and a general idea of how they may accomplish them. However, once I move into the editor, the iterative process is so fast that it’s not worth going back and forth unless I’m making a huge change like adding a new room or re-designing a large section.)
After moving the dispenser I also realized that to catch the cube the Player will need a few more portalable walls so I added them in these locations.
This video shows me solving the puzzle after the newest changes:
Now, what I’ve just done has made the test slightly more difficult since the player has to determine how to retrieve the cube and it did add more steps to the puzzle as a whole, but it hasn’t had a huge impact on the overall difficulty since a larger portion of the puzzle – getting the cube from A to C – is still very simple.
At this point I need to find a way to add an element to the puzzle which the player will truly have to ponder before they can take action. Generally when I get to a point like this, where I have very few ideas about how to complicate my puzzle but don’t want to add any major new elements, I find a good method is to make the puzzle impossible and then find an interesting way for the player to solve the puzzle.
What I mean is, I am going to add an element to the puzzle which in its current state will make it impossible to complete and I’m then going to find a way to modify that element’s impact on the puzzle which introduces a new challenge to the player and makes the puzzle possible to complete once again. In this scenario I am going to add a fizzler as shown in the image below so that it is impossible for the player to actually move the box from A to C without destroying it.
As you can see my puzzle is now impossible — primarily because the fizzler is also preventing the player from getting the cube in the first place.
To change this I am going to put a pillar in the corner of the C platform which will end the area the fizzler affects and give player access to the white wall they use to catch the cube again.
As you can see I also made the pillar two spaces long rather than just one. I did this because after testing my map I found that it’s possible for the player to go to the edge of the B section that faces the D section and put a portal into the C section if they are fast enough. Making the pillar two squares wide prevents this workaround.
To find a new solution for the puzzle I spent some time in the editor and in the level trying to figure out what I might be inclined to do as the player. I determined that if I added white portalable walls to B it would allow the player to place a portal at B from C when you are standing on the edge of C that faces D. This would effectively create a way for the player to get around the fizzler and get their cube back so they could complete the puzzle.
I implemented this idea and then went back into the level to try and use the solution:
I actually really like this solution as it is simple but not overly so, and because it subverts the players expectations by relying less on the tractor beam than previous parts of the puzzle.
After some testing I also found that many of my friends did find this final step sufficiently challenging. If I were building a larger-scale puzzle I would probably continue developing and find another use for the tractor beam, or a place to integrate a new puzzle element, but since this is supposed to be a relatively quick puzzle I think this is a good solution to continue with.
Finishing the Puzzle and Finding Exploits
While the puzzle looks like it’s complete, it’s actually not. At this point we still need to do some testing and see where the puzzle can be exploited. To find the exploits, you should play your level as much as you can in as many ways as you can and get lots of others to play it too. In my testing, and in having my friends test the level, I found two solutions that I didn’t like and one area I wanted to consider changing.
This is a video demonstration of how the player could exploit the level in its current state and the two solutions my friends came up with that I felt went against the intended solution too much:
The first exploit was that they could place the tractor beam in the column of white walls directly next to the open edge of platform C and then simply jump from the tractor beam onto platform C. This avoided my intended solution for the puzzle and required timing and accuracy to accomplish, not thought or understanding of the environment. I eliminated this solution by making that column of white spaces on the wall black so that the player could not portal there:
The second solution was that a player portaled to the top corner of the white area between C and D and then jumped down on to C and again avoided the solution I had intended in a very similar way. I accounted this by stretching the level, pushing everything from the white wall onwards one space farther from the C platform. This makes the gap too far to jump and eliminates the exploit.
If I continued testing with more people I would probably find some other solutions I didn’t like, but you have to be careful during this step that you are only eliminating solutions which go against the intent of the puzzle and are not eliminating every solution that isn’t yours. Remember, you want the player to have the restrictions to find the solution you intended, but the freedom to do it in their own way.
The other thing I found was that if the player got to D without the box, they would be unable to return to C because of the positioning of the fizzler on the edge of D. To adjust for this I added an extra row of standing area in front of the fizzler on D so the player would be able to make their way back to the important areas of the puzzle and wouldn’t get stuck.
I also had to make sure at this point that the white walls on the CD side which allow the player to get back to the other areas of the level were not going to allow the player to drop the cube on the D platform without using the tractor beam, but found nothing except that they could accidentally destroy the cube. I thought this would be okay to leave because it would lead the player in the direction I wanted.
I did some more testing and couldn’t find any other major issues so at this point I decided to consider the puzzle finished. Like I said, I am sure if I wanted to I could do more testing and explore the puzzle even more deeply, but you have to know when to stop and at least take some time away from the puzzle. I may revisit it at a later date if I get feedback saying it can be improved, but for now I decided to move on.
Calling It a Day
I hope this article helped you understand the process of developing a level from start to finish. While some things you do will be meticulously planned and thought out, others come up without you realizing it while you were focused on something else. Really, you just need to go with the flow and consider how your actions and any new solutions will impact what the player can and cannot do. It’s also important to know what you want the player to do so that every change can be considered in how it affects the player’s ability or inability to accomplish the goals you want.
Also, take a lesson from this article and how I tried starting with something much more complex than it needed to be. An idea doesn’t have to start huge and ambitious to become good, you just have to put in the time and energy to make all the elements work.