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.

An Example of Blocking In

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.

Resources

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!

Advertisements
    • Robert
    • May 16th, 2011

    Pralie,

    Hey. I just ran into your blog, while looking for information on texture scaling in the UDK. I’m also a student, currently working towards a BA in Game Art & Design. I just started working with the UDK, well…after 12 years of not messing with it. I’m having problems scaling my material over my 64×64 terrain. It wants to tile. Everything I’ve read about scaling the material doesn’t appear to do anything. Any suggestions? Thanks for the tips!

    Robert

    • You don’t want your material to tile? In that case, you can try to adjust the scale in UDK, or you could make the texture larger so it shouldn’t tile. Honestly though, it’s better to let the material tile, since having a single, un-tiled material is likely going to look blown-up and pixelated. I’d recommend correcting the texture so that it looks better when tiled, i.e. no lines or anything that makes the texture look like it’s just stuck together. Hope that helped!

        • Robert
        • May 21st, 2011

        Pralie,

        I don’t want it to tile, because the terrain is a 64×64 patch grid. It’s so big, that no matter what textures I put on it from the list, you can see the tile splits. I’ll figure it out.

        I do have one other question. I just made a tent for a game level I’m working on…think of it as a round merchant tent. If I import it from Max, it loads fine, except that when you walk inside the tent, you can see right through it, as if it wasn’t there. It’s as if it’s culling the inside out. If I walk around outside the tent, it looks just fine. The walls are 1 plane thick, so I shelled it to see if that would help before importing. It did. However, by doing so, my geometry goes way up. Thoughts?

        Thanks again,
        Robert

      • That’s really strange. I’ve never had an issue with the preloaded textures for terrain. If nothing seems to correct the problem, you could try having four smaller terrain surfaces. This might solve the issue, but it would make it more difficult to have variations in the terrain. I’ve never had tiling issues on terrain, but if you’re using non-natural textures like metal, that might be part of the problem. You might want to try making your own texture to see if that works, but it sounds like the size of your terrain is the problem. Try my suggestion by splitting it up and hopefully that will help. If not, sorry I can’t be of more help!

        As for your second question, I’m afraid I can’t really help you out. I’ve only used Max a few times, so I’m certainly no expert. It sounds like there’s an issue when you try to import it into UDK. UDK is very picky about which file types can be imported properly, if at all, so make sure it’s the right file type first. I know UDK accepts .fbx files, but other file types don’t always import properly. That’s about as much as I can help you with regarding that, so sorry I can’t help you too much! I hope you manage to find the answers you’re looking for, and I recommend asking around the UDK and Max forums.

    • Robert
    • May 24th, 2011

    Pralie,

    Thanks. I was using one of the rock textures for the map. Oh well. It’s not awful, but I notice the texture split more than a player might. Anyway, I got a mountainous terrain, with appropriate lighting, fog, rays of light from the sky, and a few of my own textured models in the level. I still don’t know what’s going on with the tent. Doing a shell on it fixes it. However, it also almost doubles the poly count.

    I guess, all things considered, if the game engine accepts it, then that’s fine. I moved on to another model of a lamp that would hang off a building. It’s turning out quite nicely, and I can’t wait to see it in one of my levels.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: