Sponsored By

Creating Modular Game Art For Fast Level Design

This article, written by a long-time artist and FPS level-designer, explains how to speed video game level creation by creating modular art assets for building fast, clean, and easy large 3D environments.

Paul Mader, Blogger

December 2, 2005

14 Min Read
Game Developer logo in a gray background | Game Developer

This article, based on my experience working on multiple FPS mods and commercial products and my current work on Unreal Engine 3 titles, explains how to speed up production by creating modular art assets for building fast, clean, and easy large 3D environments, talking from a level design perspective.

Most artists know how to make art look good, while staying within limits of texture size and polygon count but it is also important to make it easy to use, modular, and seamless. The key to achieve this, and empower the level designers to make the best game possible, is through use of the grid and pivot points.

Working with Grids

Every level editor has some kind of grid system. Some game engines use a grid system with meter units (for example Far Cry or Max Payne). The way the meter grid system works is fairly simple: the size can be set to straight values like 1, 5, 10, 20, or 50 meters and every 10th grid line is highlighted. The player size is about 1.80 meters tall. This makes it easy to compare objects in relation to their real-life counterparts.

The other grid system is the unit grid system, like in Id Software's Doom series and Epic Games' Unreal series. Here the player is about 96 units tall, which means 1 meter is about 53 units. This system is a little bit confusing at first, but once you get into it, it's very easy to use. The grid spacing here is set to the power of 2, like texture resolutions for games. To make it easier for the eye, every 8th line is highlighted.

The unit system is the much more common system, and I prefer it to the meter system. For the purpose of this article, I will explain everything using the unit system, but all this can also be used with the meter grid or any other grid system.

Seamless Worlds with Modular Models

The idea of modular models for 3D environments is to create fast environments with small tiling models and maximum flexibility. Before you start modelling, be sure that your grid for the 3D package you use is exactly the same as the grid of the engine you make the model for.

Aligning with Gridlines

To make the model as easy to use as possible, always align it with the grid lines. To make it exact use the “grid snap” function in your 3D package.



Measurements to the Power of 2

Another attribute of easy-to-use models is to fit the model measurements to a power of 2. This means when you model a wall segment, don't make it 248 units wide and 240 units high. The best matching value here would be 256 units, which is 2 to the power of 8. So the perfect solution here would be to make the wall segment 256 wide and 256 high.

One advantage of this is that a level designer can easily plan the usage of the models. Because of the highlighted grid lines, a level designer can see just with a quick look how many wall segments he will need for a wall accompanying a 1024 units long floor. This gives him the ability to build other parts of the environment without having to worry about the size of the wall.

Sometimes, especially when you try to model for real-life environments, it is almost impossible to get the right proportions of a model with measurements to a power of 2. In this case, you have to add the next smaller power of 2. For example, if the proportions of your wall segment doesn't fit into a span of 256 units, which is 2 to the power of 8, then you can add 128 units which is 2 to the power of 7. You can now fit your model to a width of 384 units. If it still doesn't fit, you can add or subtract the next smaller power of 2. Here it would be 2 to the power of 6, and you can the fit the model to a width of 448 units or 320 units. You can repeat this step as often as possible but the more you repeat it, the more you go away from an easy-to-use model.

Models that Match other Models

When you start to model a set of models that will be used together, try to make sure their measurements match. For example, when you have a 256 unit-wide wall segment, and you want to model a ceiling and a floor segment, then also make them 256 units wide.

Pivot Placement

The pivot of a model is the origin for every translation you will do inside a game engine editor. A poorly-placed pivot point can slow down the production time of a 3D environment, and makes it hard to place the mesh and align it to other geometry.

The aim here is to place the pivot in the most useful position for the level designer, so he can place the model quickly and easily in the 3D space. There are 5 steps for pivot placement that can be used with every model, and will result in a perfect pivot position.

The 5 steps to a perfect pivot

Every successive step has more weight than the previous step.

1. The focal point

The first step is to place the pivot in the focal point of the model. While some models already have a good pivot, for most models, you have to refine the pivot position to get an easy-to-use model.

2. Symmetry

The next step is checking your mesh for symmetry lines. As soon as a mesh has one or more symmetry lines, the pivot should be on this line or in the point of intersection. The intersection point of all three symmetry lines is also the focal point

3. Alignment

The third step is to think about how the model will align with the environment. There are three basic types of alignment: aligned to the ground, to the ceiling and to the wall. The aim is to place the pivot where the model just touches the ground, ceiling or wall. When we move the pivot of a model to the very bottom of the model, and we place the model on the floor, it will stand exactly on the floor without clipping into the floor or floating a little bit above the floor.


4. Tiling models

As soon as a model is made as a tiling segment, the pivot has to be moved to a point where it matches with the next model. The advantage of this pivot position is that, when you want to scale the mesh inside the editor, one side of the mesh is always fixed. So it is possible to place it aligning with the mesh on one side and then change the scale value until it aligns properly with the other side.


5. Rotation point

Some modular models are created as a part of a circle, and need to be rotated in the editor to make bigger curved geometry. In this case, the pivot must be in the circle center of the model.

On some models this can result in a pivot that is very far away from the mesh. This is usually a bad pivot position, but in this case it is much more easy to use as a pivot that is in the focal point of the mesh.

_____________________________________________________

Read more about:

Features

About the Author

Paul Mader

Blogger

Paul Mader is a level designer and 3D artist. He was born in Germany in 1983. With a strong focus on gameplay, visual, and technical quality, his work has won or placed in contest such as the “Rune Halls of Valhalla Level Design Contest” by Human Head Studios and the “$1,000,000 Make Something Unreal Contest” by Epic Games. From 2001 to 2003 he worked for Reakktor.com on the MMORPG Neocron and Neocron 2. Currently he is working for Acony Games on a not yet announced Unreal Engine 3 title.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like