Tips & Tricks: Blocking In Levels
I’m currently working on a level in UDK, which should be of no surprise, but this time around I decided to do things a little different. All too often I find myself writing pre-production, then jumping straight into building the level, often focusing more on the aesthetic design and implementing gameplay at the end. What’s bad is that I even know that I’m going about this process all wrong, and yet, time and time again, I find myself doing the same thing. So this time, I decided to stick to a rigid process of writing the pre-production, blocking in, implementing gameplay elements, adding aesthetics and meshes, and polishing, while tweaking every step of the way. This is the typical process most level designers follow, so it’s good to get in the habit early. I’ve already discussed parts of this process in previous posts, but today I’d like to focus on the one that always seems to elude me: blocking in.
Keep reading to learn a few tips and tricks on how to block in levels!
Why it Needs to be Done
Blocking in, sometimes referred to as blocking out, simply means that the level designer is building a solid foundation for what the level will look like. It’s actually relatively easy to do, and will really help bring your design from a mere concept into a tangible level. Of course, you may not realize the potential behind this seemingly meaningless step, just as I didn’t prior to the level I’m working on now. In a nutshell, blocking in levels will give you a good idea of how the level will look and feel, as well as provide valuable feedback on flow, scale, and overall design. Before ever adding in any details, you can adjust and iterate on your level until it plays through the way you want. This is a good habit to get into, as it will be required to do at most industry level design positions. Think of blocking in like an artist sketching out how they want their painting to look: it allows for quick changes and provides a solid basis to build off of.
Concept to Reality
Taking an idea from paper to a 3D space can often be difficult, but blocking in your level will ease that process. At this point, you should have all of the pre-production completed, along with a map of the level. The easiest way to begin blocking in is to create a terrain layer in the editor of your choice, and apply a texture that resembles the map. Before you even do anything to the terrain layer, add a few lights and test it out; run around on the map and try to get a feeling for the level’s scale. If it seems to be too small or too large, you can quickly adjust the size before actually building anything. The next step really depends on the kind of environment you want to create: for an exterior level, you can build the basic shape of the terrain quickly using the terrain editor, while you probably won’t need to mess with the terrain too much if at all for an interior level. You can use the map texture as a guide to shaping terrain, as well as for scaling and placing blocks, so just leave it as the texture on the terrain for now. For both interior and exterior levels, you will want to begin placing stand-in blocks to represent how the space will look. If you’re using UDK, you can just use BSP brushes to make up the basic shapes of everything that’s going to be in the level, but if you’re using another editor, you may need to build your own shapes in the editor or even model them in a program such as 3DS Max. Remember that at this step in the development process you are just trying to get the general shape of the level, so don’t worry about any details or things like props; it really should be as simple as you can make it. Nothing needs to be exact and you don’t even need to make your shapes look relatively like what it’s intended to be, so long as you know what it is. The reason it’s called “blocking in” is because you can literally construct the entire level out of blocks. If you’re having trouble remembering what everything is supposed to be, try color-coding everything with basic textures and remember to refer back to your map often.
Probably the most important thing to do when blocking in your level is to playtest. This is absolutely necessary since the whole point of doing this is to test and adjust everything before adding in all of the details. One of the biggest things to look for while playtesting is scale; you need to make sure the level is scaled properly in comparison to the player character. By finding issues with scale now, you can avoid having to re-size all of your assets later on. Another thing you’ll want to look for is critical path: is it easy to find and navigate? If the player can’t find the critical path, they are going to have a lot of trouble getting through the level. You also need to check the flow of the level, as well as the overall design. Does player progression through the level flow naturally? Does the design of the level make sense, or does it feel too unrealistic? Is there a single path through the level, or are there multiple paths with varying difficulty? How long does it take the player to run from one end of the level to the other, and is that time appropriate for the genre or type of game? These are only a few questions you should be asking yourself as you block in, and there are plenty more. If something needs to be adjusted, now is the best time to do so, so play through carefully to ensure that everything functions as it should. Sometimes it helps to bring in another level designer or a friend to run through the level and provide feedback on how things are laid out.
Once you have the foundation for the level, you can then begin adding in gameplay features, followed by the art assets and textures. If you can make a fun level out of blocks, then you’re going to have an awesome level once you add in all the aesthetic details. Remember that the primary function of a level is to enable player progression and interaction, and while aesthetics are wonderful, a level that is only nice to look at won’t serve much of a purpose in a game.
What to Include
Even though this is intended to be a very simple step, sometimes you might get carried away and include things that you probably don’t need to. The trick to successful blocking in is to only include things that are absolutely necessary for the level to function. The list below describes a few things to consider:
- Terrain or Floor: You want to have something for the player to walk on, so definitely include whatever those parts of the level are.
- Walls and Boundaries: Every level has its limits, and you want to make sure they are clearly defined in the level. They are also going to help guide the player through.
- Critical Path: If it is part of the critical path, include it. This will help you to determine the flow of the level.
- Key Areas: Any areas, landmarks, or buildings that are relevant to the gameplay, story, or quests should be included.
- Progression Features: If the player needs to be able to pass through it in order to continue gameplay, then you need to include it. This could be stairs, doors, elevators, gates, etc.
- Quest-Related Elements: If there is something that has to do with a quest in the level, block it in.
- Gameplay Elements: You want to include gameplay elements, such as cover, crawl holes, or jumping platforms.
- Multiple Paths: If the level calls for multiple paths, include those, but try to focus on the critical path first. You can always add in multiple paths later if you feel like they don’t need to be included during blocking in.
- Things with a Purpose: While this may sound strange, you want to include anything that serves a major purpose in the level. Don’t add a bunch of cylinders to stand in for trees if trees are just there to make the level look better. If the trees have something to do with the level (perhaps there are treehouses), then you want to include them.
There is an entire chapter on blocking in levels in the book “Game Development Essentials: Game Level Design.” I highly recommend reading this book if you are looking to be a level designer, as it provides some valuable information. Other than that, I haven’t really found a lot of resources for blocking in, so I hope that this post was helpful! If you know of any other resources or your own tips, let me know!