Week 5-6 Creating first level: Terrain

This entry marks the intro to level creation, mostly dealing with terrain.

The basic idea is to use the Terrain Editor to generate terrain and control various parameters, such as height, area, smoothness, etc.  Upon initiating a new level, you control the meters per unit (the initial terrain texture is a grid) and the height map resolution of the basic land mass, then you generate the terrain. At this point you have a flat, square terrain under a few feet of water, a basic sky and some basic lighting.

Various tools help shape the terrain. Open the terrain editor via the icon in the tool bar across the top of the UI, or right-click in an empty area to add the particular tool bar you need. The first thing you want to do is modify the basic terrain level so you don’t see its edges under the surface of the water. This can be done under Modify (more below) in the menu. You can flatten terrain, smooth it, randomize it with noise, basically anything is possible. You can also use brushes to paint physical terrain, remove it, modify it, etc. You may also import an 8-bit bitmap file (grayscale, a la Photoshop) to generate terrain, with different light and dark values corresponding with different height values on your landscape. It’s similar to the terrain editor used in Vue but this seems easier and faster to use. Same idea, though. Within the editor, under Modify, you can select water level, max height, flatten (light or heavy), smooth, smooth slope, smooth beaches, reduce, noise, randomize, erase, resize and invert.

cryengine_03a_materialEditor

Once you are satisfied with the general landscape, geographic features, slopes etc you can begin to apply textures, via layers, to your terrain. This is very easy and intuitive, and accessed via the Rollup Bar. Each layer has a name within the Material Editor, and each layer has textures, colors etc that can be painted onto your landscape. Once you are finished with the Material Editor you can use the Layer Painter in the Rollup bar under the Terrain tab to control all the associated parameters. It is ridiculously easy. For example, one of the features than can be controlled is painting by slope degree. If you want a certain texture only on certain angles, for instance on more vertical surfaces, such as those of a cliff, you set the appropriate angle and quickly paint your area. Recalling your slope data and making adjustments for a new material on a different slope enables quickly adding a new material without damaging what you have already created and without being time-consuming. Once you are satisfied you can go in and add further detail as much as you like.

cryengine_03b_terrainRollup

For each layer you simply go to “Add Layer”, pick your texture, then go to the Rollup Bar and paint it, repeat as often as needed. You can have up to 15 layers for each level. While this does not sound like much, when you consider that you can change colors, add decals and add content through the environment, it is more than enough. One thing to keep in mind is that when you make changes in Paint Layer you have to click “Apply” (above) so that as you switch between paint layers you keep your settings.

The next section was a brief look at lighting. This is not the complete lighting section, but an intro related to establishing the basic environment. The Light icon is in the same tool bar as the Terrain icons.

cryengine_03c_lighting

You can control the Time of Day and save it as a .tod file. There is also a graph editor that enables control of changing time, so you can control the current time, start time, end time, playback speed (how fast a “day” passes) etc.

cryengine_03c_lightingb

Also within the above editor, on the right, you can see myriad settings. Notice the scroll bar is short; there is a lot in there that can be controlled. This was not covered in depth but you can control haze, fog, color intensity, saturation. depth, etc, all in very fine detail. This, combined with Time of Day, gives you precise control over the lighting, visibility and also the mood of your environment. Another awesome feature here are DoF (depth of field) controls. It is really amazing because you get instant feedback as you change your settings, as opposed to needing to render a scene in a typical CG application. Given the popularity of the lens-tilt effect and DoF in general, I would call this very important. The effect as seen here is nice, too. You can also control grain and various other attributes. I find this exciting because these capabilities change the way we think about designing levels. I mean I have an idea for a couple projects, one is humorous and toylike, in  a Jetson’sesque setting, and being able to depict a game environment using a lens-tilt effect only adds to the toylike nature of the environment.

When you think about how games and visualization are no longer defined by the limits of the most advanced engine as they were during the old days circa Quake, you realize that we have only scratched the surface regarding potential interactive environments. The more I go through this the more excited I am about what I can accomplish down the road here at UNM. For example my capstone project could be both a game level(s) and a short film based on one of my two project ideas: Wraitheon or Gamma Roy. In fact I really want to do that as an experiment to see how much can be accomplished. If you consider creating assets that can be used for two different projects, but each in the same entertainment franchise, you’re accomplishing twice as much while saving tons of time.

Something I want to explore is this idea that our cumulative work, as individuals, at UNM is all part of the same project. So for example not just skills, but ideas, that a student has in Pipeline and other classes, such as modeling, would be connected to the final capstone project. Anyway, I’ll chew on that as time goes by and I make progress here.

Couple last notes for today:

Use CTRL F1 to set camera angles, then use Shift F1 to go to that camera angle. As with other CG apps, saving camera locations is useful and time-saving for comparing locations and perspectives.

At any time you can enter the level via CTRL G, to immediately get feedback about interacting with your environment. Esc to reenter editing mode.

When you update your terrain colors or textures, you apply the update in real time via Export to Engine. You need to apply the change because while you save to the .cry file, your environment in-game mode is saved in your .pak file. Sounds complicated, it’s not.

Leave a comment