Workflow example

Creating a desert map for MOA

Tools Unreal Development Kit, World Machine 2, Photoshop, 3DCoat, 3dsMax, Meshlab

Done in 2010 - today

The Map

This Level is a work in progress map for MOA - Multiplayer Offroad Action with a desert setting.

You may ask yourself why the development of a single map can span over multiple years, the reason for that is that the map was developed in parallel to the game itself, not in one go but through several iterations. Level Design and Game System design are interlinked, a good example for that are vehice handling and terrain structures influencing each other. If one part was modified, the other part had to be changed too.

Please have a look at the MOA - article to see what kind of work i did for MOA that was not directly Level Design related.

Development parameters

Maps for MOA are supposed to be relatively open and non - linear, allowing the player to use different routes that are meaningful alternatives and offer different driving challenges and experiences, such as jumps, wallrides, slopes and various obstacles. A match is divided into two halftimes, allowing asymetrical level layouts without giving one team an unfair advantage. Key elements are two flagbases, one per team, two team - owned spawnpoints that can not be lost, as well as a number of spawnpoints that start neutral and can be captured by driving through them.

First generation testmaps

As part of evaluating the Cryengine2 and the Unreal Development Kit, i had familiarized myself with the Terrain Editor, and later the Landscape Editor when the terain system of the UDK got updated. I quickly realized that exclusively using the in - engine tools and manually painting the heightmap with brushes would be way too slow. So i searched for external tools for terrain editing and creation, and found World Machine 2. That program can import and export heightmaps and texture layers. It offers various tools such as noise generation and erosion, and it is based on an easy to use node - system.

I created two kinds of testmaps, the first type was to check technical parameters, such as terrain size vs. time to drive from one end to another, terrain resolution, performance when placing a large number of objects, texture layer import and manipulation. The second type was to test basic vehicle handling. For that, i created and imported some static meshes, such as loopings and halfpipes, created trenches and mounds of different height, width and profile, and placed obstacles at different distances.

Second generation testmaps

Once we established the base parameters for our vehicle's handling and performance, i created more testmaps with the goal of finding out what kind of structures would provide the best driving experience, and how they would influence the general feel of the level.

For that, i drew some abstract structures and obstacle patterns, scanned them, used Photoshop to create simple heightmaps, imported those into World Machine 2, where i manipulated them further, mainly adding different types of erosion.

Lessons learned were
 - to avoid small terrain bumps, for they would lead to unexpected
  and frustrating spinning of the vehicles
 - to make sure erosion channels would not cross main driving lanes,
  but instead run parallel to them
 - to avoid large structures in the center of a map, for they would
  block line of sight for the players and make it harder for them to
  judge the game situation
 - to place spawnpoints in raised positions, to allow quick orientation
  for spawning players

I also experimented with different terrain noise patterns, creating hills of different size, frequency and steepness, in order to find the best base for interesting jumps. I found a method to create dune - like structures, that are a lot of fun to drive on, through those experiments.

Creating the basic layout

The experience with the testmaps lead to the decision to go for a valley with raised spawnpoints on the outer slopes and sand dunes on the valley floor. The sand dunes also defined the setting to be that of a desert map. I created different valley shapes and combined them with dunes. I picked a combination i liked and started adding details by hand, using the Landscape Editor and ingame brushes.

Adding terrain features

Features added were
 - raised platforms for the flags
 - a two - way jump ramp in the center of the map
 - small paths on the central hill
 - a curved trench leading down from one of the flagbases

The map was playtested multiple times by external testers, and their feedback was the base for further refinements, for example the central jump ramp was changed to be easyer to use during a match where multiple players might chase each other over it.

Establishing a colour set

A set of colours and surface texture patterns is important as a reference for texture and environment artists. We wanted a set that would match the desert setting, be bright and friendly to support the mood of the game, and provide a good contrast for the team colours on our vehicles. To create it, i used greyscale screenshots of the map, and overlayed them in Photoshop with different grayscale photos in a first step, and colours in a second step. I used photo material of various natural terrain colours i had collected as a reference. From the colour variations, i picked the final set.

Adding details | Asset placement

As our team currently lacks someone who can concentrate on creating environment assets and textures, i began to build my own set of simple rocks to start detailing the map. For that i use 3D Coat, a voxel sculpting program. I also retopologize the models in 3D Coat, either automatically or manually, depending on their complexity. I use Meshlab and 3dsMax to reduce the polycount and clean up the mesh, before importing it in the UDK. I created a simple rock texture in Photoshop from photo sources.

The rocks serve as obstacles, orientation points and guidance, and are fitted to the terrain's contours.

This is an ongoing process, a major part will be the setup, painting and blending of different texture layers, once more textures are available.