Making of Grimrock 2: level building blocks

|

Creating graphics for games can be quite technical at times. A game artist needs to keep in mind that there’s a finite amount of memory available for graphics in the game. In essense the less an individual art asset takes memory, the more of them you can have which results in visual diversity. Basically that means more varied wallsets, monsters, items etc.

Textures are real graphics memory hogs. That’s why in game art we use all kinds of tricks to keep texture count and sizes low. In this post I’m going to be talking about a method of using the same pieces over and over again to create multiple different assets without any new textures. Sometimes this is called kitbashing.

Exhibit number uno: Wooden supports for the mine environment



(click on the pictures to enlarge them)

I was tasked to create a wooden support structure for our mine wallset. The environment required multiple kinds of configurations ranging from a fence like wall piece with support pillars and beams to a bridge piece for connecting over chasms.

It wouldn’t have made much sense making every asset unique, meaning that every asset has it’s own set of textures, since that would have taken a lot of memory. The assets needed had also pretty big surface areas which means that to keep texel resolution (size of texture pixels in the 3d world) consistent, the textures would’ve had to be big. In grimrock we’ve aimed to keep our texel resolution 1024×1024 pixels per 3x3meters. (our grid size)

So with these limitations in mind I set out to design the assets needed. First we made a simple sketch of what the assets and the environment might look like with Antti. Antti described requirements from a gameplay standpoint and dished out some environment artist wisdom from his Alan Wake days. I also looked at some reference pictures of how supports like these are usually built.

Next step was trying to figure out what kind of pieces I’d need to create them in 3D.

I tried to keep the number of pieces to a minimum, and to figure out how to accomplish that I used a technique we call whiteboxing. It’s essentially just another type of a sketch, but in 3D and placed in game. Using this technique has the advantage of seeing very early on how the asset might appear in game and what kind of dimensions it occupies. Later after the high detail modeling is done, it’s usually difficult to make changes if problems like intersecting with other objects in the environment arise. For example, some of our bigger monsters might intersect through the asset while prowling through the caverns of our mines if the assets are not carefully measured. This technique also helps with making sure the pieces have correct proportions. It’s easy to make planks, nail heads, etc. too big so that they appear cartoonish in game compared to the surrounding environment.

My solution to making multiple mine assets from a single set of textures (diffuse, specular and a normalmap) was to make a collection of different sized planks, beams and some metallic binders I’d use to attach the wooden pieces together. It’s probably what you’d get from a trip to the hardware store in the grimrock world! To create the textured assets I took the whiteboxed pieces to zbrush and sculpted them into what I needed and then created game resolution meshes and textures from the sculpts.

After that it was just a matter of assembling the pieces into what I needed.

When I was finished with assembling the assets we could let Antti off the leash and create our exciting environments!

The added benefit of this techique is that these pieces can then be used elsewhere also!

… and in the case of this collection of hardware store material, everywhere. 🙂

Aaaand that’s it. I hope this was an interesting read and if you have questions just post them in the comments and I’ll try to answer them!

– Jyri