Piranha Games

Playing God so Mechs can fight: How the MechWarrior Online team creates worlds

Playing God so Mechs can fight: How the MechWarrior Online team creates worlds

Ben's note: The team behind MechWarrior Online shared a behind the scenes look at the insane amount of work that goes into the creation of a mech in the past, and they're back to walk us through the creation of a new environment for the game. The next you think throwing a new environment into the game is easy, come back and take a look at how much work, and how many people, it takes to create each new world.

Dennis de Koning (Art Director): Creating a new world for MechWarrior Online is a long and complex process. A world will pass through many phases and iterations before it is ever seen by the public, and will continue to be refined and updated long afterward.

The process of creating a Mech is linear, like passing a baton, whereas the creation of a map is largely holistic.  It is not unheard of to have many assets, and the level itself, be passed around and modified many times during its conception. The terrain and the assets that populate and decorate it are integrated wholly as well as the visual effects and lighting. All artists must be in constant communication as one thing can have a fundamental effect on another.
The team brainstorms map ideas long in advance of starting them. This gives us time for R&D, addressing technical and artistic challenges, and maybe even swapping the order (of creation) if we feel a different color, texture palette, or theme would be prudent.

The exploration of lighting and color palettes will often start with a very rudimentary process. I prefer working from a large block to get an over-all feel for what any map might look like. Keeping it simple to start prevents over-thinking and getting lost in details that shouldn’t even be thought of at an early stage, muddying the waters so to speak.  It’s surprising what ideas can potentially arise from a simple word, swatch of color and/or nebulous shape or idea.

We will often look to previously created palettes to decide what we think should come next.  Sometimes this can be as obvious as rounding out the universal palette to create variety, as we did when our maps were few in number but as our collection of worlds grows, we are able to explore more complex and daring palettes and textures in an attempt to create a more dynamic and/or off-world feel.

I start painting concepts months in advance as it can potentially be time consuming, and maintaining a balance between concept art and my duties as Art Director has to be considered.

Early iterations are mostly for the purpose of exploring the general feel and mood, and allow me to toss around ideas and visualizations as well as gather feedback from Bryan (Creative Director) and the team before gravitating to a more cohesive notion.  These will inevitably be modified as the thought process grows and ideas evolve.

It is important to note that at these early stages, the concept art is in no way meant to reflect the gameplay or layout of the final plan.

Kevin is our Art Lead and lighting guy and one of his (many) responsibilities is putting all our ducks in a row.

Kevin Meek (Art Lead & Lighting Artist):  We maintain the art production required to release a map every two months by staggering which levels are going to require a lot of new content and which levels will (almost entirely) re-use existing assets.  I keep an eye on the scope of ideas while avoiding the stifling of any of the creativity in the room during brainstorming.  Most of our level ideas are fairly lofty to begin with, and as they get bounced around the room they can grow substantially. Once we gravitate to one focused idea, we begin fleshing it out.   Upon review, I suggest resolutions or alternatives to mitigate any technical or artistic challenges that will keep it ambitious yet not impossible within our deadline.

By the end of the meeting the level designers should have a solid idea of the direction they want to take, Dennis should have enough of an idea to expand on initial level paintings, and I will know of any R&D that’s necessary prior to art production.

Dennis: Paul is our Lead Designer and is responsible for all major gameplay aspects and working with the Creative Director to make sure the product meets expectations.

Paul Inouye (Lead Designer): For the first stage of level design, the designers create a top down sketch of the level; it is at this time where critical gameplay decisions can be made.  These decisions include scale, pacing, pathing and zones where certain types of gameplay behaviour are to be addressed.
Scale is important to make sure maps do not get too big or too small and pacing helps determine this because it requires the level designer to time movement across the map.

Pacing is determined by estimating the amount of time it would take a medium speed Mech to get to various areas on the map in question.  Using this information helps determine scale as you will find out how big your map really feels.  If you expect a 65km/h Hunchback to take 1 minute and 30 seconds to get to the center of your map, your center point radius is about 1.625km.  At this point, you would need to take into consideration a character traveling at 54km/h and one traveling at 155km/h;  is the timing for each of the characters going to feel right or is it going to feel like it takes forever to get into the action?

Pathing and zones come into play when determining the type of gameplay I would expect to occur at various time intervals while traversing the map.  When players start off in a base, the next phase of gameplay is exploration and tactical staging; this is where players are maneuvering into position prior to engaging in combat.

The next zone to be concerned with is first contact, or where you’re highly likely to see the enemy for the first time. This is where your long range combat begins and players jockey for position. The next zone or zones concern the main skirmish areas of the map; where does heavy combat take place?  These are essentially the meat-grinders of a map.

It is at this point that it’s ideal to start thinking about key moments and landmarks for the map; big identifiable structures or natural barriers that help players identify their location.  It is also at these points that gameplay needs are addressed which include bases, capture points, spawn points and the like.

Once these fundamental details are finalized, the level designer moves the map’s development into the grey block phase as all big, sweeping changes should have been caught and covered in the paper sketches.

Dennis: Thad and David are our level designers, with gameplay as their highest priority. Each will take on a map in a staggered fashion.

Thad Jantzi (Level Designer): Level ideas usually begin with a fairly loose brainstorming meeting in which very general concepts get tossed around. Eventually we'll settle on something vague with a couple of key gameplay ideas, eg. a canyon with high mesas and pathways on different levels.  After that I'll typically sketch out two or three basic top-down map ideas and solicit input from different people. That will give me a good idea of what ideas most people are interested in pursuing, and I'll then put together a very basic grey-block test level that we can immediately playtest.

Playtests will inevitably reveal adjustments we'd like to make at this early stage, eg. the cliffs are too high, or the canyons are too narrow. I'll then make those adjustments and run another playtest. After two or three iterations of this process, the playtests will invariably get more fun. Once the playtests are consistently fun, the map is ready to be handed over to the artists.

David: Once we’ve decided what the theme of the level will be, I will begin my planning phase. I usually start by drawing something simple on paper to figure out how I want to plan the routing.  In the process of designing I will talk to my art director regarding any specific art features he would like included. After sorting those details out, I will begin importing my final paper design into the level.  The first phase is to create a clean level with no art, just simple geometric shapes and rough terrain. The point of doing this is to resolve travel distances and pathing so it’s easier to modify the level. After a few play test sessions and approvals, I will hand the map over to the artists to make the level pretty.

Kevin: We are generally developing two levels at the same time, with one finishing up while the other is being finalized in its design and starting to get an art treatment.  To keep us on schedule we have a planning meeting every two to three weeks to review our progress and add any new tasks to the backlog that have arisen since the last meeting.

Thad: The terrain is the basic floor of the level. CryENGINE supplies us with a robust terrain feature which allows us to create a square matrix of polygons represented by a grayscale heightmap.  In addition to the terrain geometry, a number of different materials and details can be applied, painting and blending them as needed.  In addition to these materials, we also create an underlying diffuse map which is what we see on distant terrain that is too far away (from the viewer) to bother rendering the detail texture.

The terrain also has a vegetation feature built in which lets us rapidly distribute things like trees and grass about the landscape in accordance with various parameters such as slope, density, rotation, etc.  In addition, the terrain system has built in occlusion and LOD functionality to help process and render it as efficiently as possible.The 3D assets that populate the maps are built by the artists in 3ds Max, textured, fitted with simpler collision hulls for the Mechs and weapons to bump into, occlusion planes to cull out objects behind them, and lower detail LOD models which the renderer switches to when the viewer reaches specifically assigned distances from the asset.  These assets can be anything from elaborately detailed, enormous building complexes only used once, to a clump of grass that gets made into vegetation and painted onto the terrain a thousand times.

Dennis: For more complex maps, I will create a Visual Target Document (VTar) for the team to reference.

In addition to concept paintings, it is often beneficial to take screen shots of the map in progress (while still in the rough grey-block phase) and create a paint-over to assist in visualization.

At this point, while juggling the multitude of effects related to the Mechs, Ryan begins to investigate the visual effects treatment for the map.

Ryan Van Vliet (VFX & Technical Artist): Ambient effects like rain and fog add atmosphere to the maps but specific effects such as geysers, pillars of smoke, dust devils, etc. add a heartbeat.  With some effects I look to tell a story: oil fires in River City are barely burning, leftovers from a battle the night before; the river flowing through Canyon Network is pristine, until you get to the landfill, that is.

Visual effects for environments are often inspired by concept art, and then refined by videos of a real life equivalent.  Key aspects I look for include shape, scale and speed.  Take the oily columns of smoke in River City: they are large and so will need to move relatively slowly, rising and then collecting in the atmosphere; if I have the smoke move too fast, it will feel small, no matter how big I make it.

As with almost everything else in a modern game, visual effects are built out of polygons.  These polys move through the air according to preset physical properties, such as gravity, speed and air resistance; which I assign in the engine.  Each poly also gets a texture, usually animated, that defines what the effect is going to be.  In the case of smoke, the texture (or image) is of a puff of smoke that runs through a couple dozen frames.  When stacked together with another thirty, slightly different puffs, the illusion of a column of smoke is formed.

To create textures for effects, I gather source material from video footage or create it from scratch.  FumeFX is my fluid dynamics simulator of choice because the alpha (transparency) channel is created for me, avoiding the messy and time consuming task of keying and rotoscoping; I then edit, clean up and retime the clip in AfterEffects.   Because of texture limitations, the animation is generally limited to around 60 frames which, at 30fps, equates to two seconds of animation.  To get around this, some of my faster moving effects must be looped.   Finally, I compile the frames into a single texture sheet using Photoshop where I also have an opportunity to tweak the colour and intensity of the effect before placing it into the engine.CryENGINE is a robust engine, adept at handling a wide variety of effects, right out of the box. However, on occasion I am faced with creating an effect that would be quite difficult to achieve with the default toolset.  In these situations, I work with our Rendering Engineer, Weihua Jin.  Currently, Jin and I are working on a lava shader for Terra Therma.  In this instance our main goal is to achieve dynamic visuals, without having obvious repetition (a common problem in video game art).  Our solution is to use multiple textures, blended together and moving at slightly different rates, which are then broken up with various shader techniques such as glow, refraction and displacement mapping.

Kevin: Through conversations with Dennis and using any level concepts that he has already completed, I rough in a lighting scheme that will at least have the bones for the final lighting.  Having an early approximation of the sun direction, level brightness, and general ambiance will help the environment artists minimize future iterations that may be required if the lighting changes dramatically later on.  Having an approximation of the lighting really helps define the mood of the level early into its development, and helps the level take a seemingly large visual leap forward after many weeks of looking at the greyblock design.

Dennis: Although it is standard practice for the entire team to work very closely, it is often necessary for VFX, Engineering, Environmental Art and Lighting to collaborate more synergistically than usual to achieve the desired outcome.  Terra Therma is a good example of how the combined efforts of Ryan, Jin and Viona to create realistic lava, in conjunction with the ongoing process of finalizing Kevin’s lighting pass, results in a pretty convincing visual.Once Dave or Thad are ready to hand off the level, a higher, more detailed level of terrain painting can be started.  Viona, our senior Environmental Artist, does the lion’s share of terrain painting and blending.

Viona Halim (Senior Environmental Artist):  Depending on the type of map, the terrain painting process can take anywhere from 2 weeks to as long as 4 or 5 weeks. A map that is heavily terrain-based, in the likes of Tourmaline Desert, Canyon Network, and Terra Therma would generally take much longer to complete compared to geometry-based level such as River City, where most of the areas that needed to be painted only encompass the surrounding background mountains.

While the words “Terrain Painting” would generally mean applying different textures to cover the terrain surface, the real process in itself overall would include sculpting and smoothing of the terrain, placing and blending of 3D assets with the terrain, and in some cases placement of decals would be done as well to achieve the final desired look.

1) Rough grey-block2) Asset inclusion and primary terrain paintEven though the process of terrain painting can be labor intensive, it is a necessary step that cannot be over looked as it what gives the map that attention to detail and a level of finish, especially when terrain covers the majority of the screen space.  A Level Designer would generally start the process with World Machine to generate the height map, base colors, and placeholder textures for the terrain. 

3) Additional assets and terrain paint4) Final asset integration and terrain blendingOnce gameplay-related items have been placed, the level is then be handed off to an Environment Artist to refine the terrain and apply final detail textures.  While the terrain needs to look natural, it also needs to have clear pathing for players to navigate throughout the map. 

Terrain painting is never a one-step process, but rather a process that goes through several iterations.  Once a map is finished being painted, it will go through several playtests where further adjustments and optimizations will be applied before the map goes live.

Dennis: While the terrain painting is in progress, art assets are being built and added to the world; some of which are designed and created for specific purposes and placed in specific spots in the world such as landmarks, whereas others are ancillary and are placed more randomly, at the artist’s discretion. 

The artists will utilize quite a bit of photo reference often accompanied by concept art.  At times I will keep my concepts very loose and leave the detail up to the modeller for interpretation. This will not only expedite the completion of the concept but will allow for a more diverse artistic license.

Viona: When it comes to environment asset creation, we are often provided with concept art from the Art Director.  This concept art is often fairly basic, to give the artist enough crucial information regarding the scale of the asset, the silhouette, and the feel and look of the overall asset while leaving enough freedom for the artist to add their creative juice in the details. The Drilling Platform is a good example:

Upon receiving the concept art from Dennis, we usually have a quick sit-down to run through the details and discuss his vision; from where he drew inspiration, must-have items on the list, and any details that may affect how the asset will be created eg. is there animation involved? If so, how will the parts move, will the Mechs be able to stand on it, etc.

Photo reference is also provided to help inspire me because despite having the creative license to create something that doesn’t exist, it still must make sense, be believable and appear to be built to have real function and purpose. Having a somewhat clearer picture, I can now begin building the object.

At this early stage, I don’t care about putting in details as much as moving fast to build all the major components of the model and get the silhouette as close to the concept as possible.  It’s impossible to have the model 100% the same as the concept as what is drawn in 2D doesn’t always mean that it will translate well into 3D. 

There is also a time-constraint aspect involved, so I have to make sure that I could complete the model on time, on quality, and on budget (asset-wise); that’s why we embrace the tenet: reuse, reuse, and reuse some more.  I was able to speed up the modeling process by grabbing parts made for other assets, tweak them, and apply different textures to make them look as if they were built for the drilling platform.

Mechanical objects always take a great amount of detail to achieve that machinery look and feel.  There has to be a balance of how much detail needs to be modeled and how much can be left through texturing alone. 

Too much modelling and you’ll end up with geometry that is too expensive, which can bring down performance, while too little modelling and excessive texturing will make the model look too flat and blow up the texture budget.  In the case of the drill platform, since the Mechs can get very close to it, I had to make sure that all the details could hold up.

As far as texturing goes, Dennis would usually leave that up to the artist to determine while giving some suggestions as to what would go well to achieve the desired look. “I want some of that industrial red and yellow tape color and some of that grey steel; take a look at oil drill platforms for color reference,” Dennis would say…Then he walks away.

Once Dennis is happy with the final look, the model would then be handed off to Ben or Enrique for animation (if necessary) and Ryan for particle effects.

Dennis: Although we will take advantage of repurposing and/or modifying existing assets in order to save time, there is also the added benefit of helping to retain a consistent look and feel of the game across maps.

Yousuf is one of our Environmental Artists who typically models the industrial vehicles, but also creates static assets.

Jousuf Housainy (Environmental Artist): In videogame development, time is a highly valued asset; meeting or beating deadlines is very helpful to a project.  Over the course of several months, the artists will create assets for the various worlds that are in the game.  Once a prop is finished another artist can modify certain parts to change its look and feel for a completely different environment.

When a new map is designed and built, the Art Director and artists will throw in input on different ways to use and reuse props to populate it.  Dennis will create a new visual target for something that already exists and we’ll discuss how to implement it.

A good example is the Crawler that was originally created (by Gabe, our Mech texture artist) for the Forest Colony level, but with some alterations I was able to easily modify it to fit the Canyon and Alpine themed maps.  Over the course of a few days I’ve added to, and removed from the model; as well as changed the colors and dirt on textures to match the environment of the world that I want it to flow with.  Communication and feedback from the Art Director is key to getting it finished to a desired level.

Dennis: Sometimes I will provide concept art for an asset, other times, like in the case of the snow-cat; I didn’t; so Yousuf had to wing it.

Yousuf:  A point that may be overlooked by some gamers is the creation of collision meshes.  They’re always invisible during the gameplay, but all objects in the world that you’ll come in contact with need a model around them; otherwise you’ll walk through the assets or won’t be able to hit them with your weapons. 

This process is very fast; all that’s needed is a simple block around the prop and you’re done.  The reason we don’t reuse the prop’s geometry as the collision box is because it would be very expensive on the system resources.

Dennis: Stan, one of our three Environmental Artists, typically handles buildings and industrial looking assets but as with Viona and Yousuf, is likely to have a bit of everything cross his desk.

Stan Siebert (Environmental Artist): As an Environment Artist, I am part of a team that creates the worlds that the player sees and plays in.  I am generally given an area or a specific type of element in the map to complete. 

Regardless of what my task is, it usually starts with receiving concept art from Dennis (or sometimes finding my own reference pictures) and then discussing any specific vision that Dennis has for this particular area or object.

After this I will usually have a quick meeting with the maps Level Designer, make sure I understand his vision and get any further input that he might have in regards to gameplay and layout.  With so many creative minds being involved, it is easy for us to all see the same situation in very different ways; therefore, it’s always best to do your homework before starting any actual work.

1) Rough grey-block with some geo terrain

2) Exported terrain geo with grey-block of catwalk

Once the actual work begins, I’ll often start by exporting some of the terrain from the area of the map that I am working on into 3ds Max.  Many objects I am creating need to fit precisely into the map and using the existing terrain as reference is the best way to accomplish this. I’ll start by modelling the basic shape and export it to the engine, placing it in its proper position; once I’m satisfied with the basic model, position and scale; I’ll get into the details.

Modelling something to look good, having no budget restraints is actually pretty easy.  The real challenge is modelling the objects in a way that makes the best re-use of newly created textures and/or textures created for previous levels; and has enough detail to look good up close, but also as efficiently as possible as to not tax the memory, making the game run slow.

Once I am happy with its basic look, I’ll have Dennis take a look at it; and armed with his feedback, I will continue refining the object until we are both happy with it.  Any new model will get a once over by Kevin to make sure it is technically correct and ready for use.

3) Cat-walk grey-block tested for placement

4) Final placement of finished catwalk model

Once I’ve placed my new object in the map, I’ll do any fine tuning necessary to make sure that everything works and looks as it should; I’ll then create the LOD’s and collision boxes and run a final test.  The last thing I need to do is some slight terrain modifications and terrain painting; add a few projected texture decals here and there, to make everything fit into its surroundings in a more natural looking way, and my job here is complete. 

Dennis: It is not uncommon for any given map to contain several hundred uniquely built assets; many of which can and most likely will be duplicated many times.  A little over 470 objects were built specifically for River City alone and an extra 60 or so were borrowed from Forest Colony.  After duplication, the number of assets grew to over 2400 with an additional 1450 objects which include particle systems, decal projectors, lights and spawn location-nodes. 

Forest Colony, our first map, has about 1700 geometry objects and over 15,000 vegetation objects created from 57 unique foliage pieces.  Geometry is used to model everything from fire hydrants and light standards, buildings and bridges to trees and terrain; some of which can be massive: Tourmaline Desert contains the biggest geometry at over 577 meters tall (1890ft), or 175 stories.

Kevin: During those weeks of creating art for the level, we have also explored and hardened the lighting concept and have a much more specific idea of the feeling, atmosphere and color palette we want to for this new planet.  At this point I dig much deeper into the lighting parameters, often tweaking numbers by decimal points for hours and saving dozens of slightly different lighting files that I can jump back to when I’ve slowly taken myself in the wrong direction. The smallest tweak to any setting will lead to additional small tweaks to other parameters, and suddenly the entire feel of the level is different.

Most of our initial levels have monochromatic lighting tones, but we do not make use of photo filters to achieve our colours.  Instead we utilize our sun, ambient, and fog colors to tie everything together.  This allows our Mechs and assets to naturally fit within the lighting of any planet, regardless of how vivid its colors are, without simply washing over everything with a single color.

In the end it is visually similar, but a Mech reflecting green sunlight is different from a Mech reflecting yellow sunlight and then having everything tinted green afterwards.  With players having the choice of paint colors to apply to their Mechs, and dropping into planets with substantially different color palettes, it is important to make sure those colors reflect as realistically (in each environment) as possible.

Once the lighting is approved, I update all the cube-maps (pre-baked reflections) in the level which further ties all the assets into the world; any glossy asset in the level will now reflect the actual sky and a rough estimation of its surroundings.

David: After the level art is complete and a lighting pass is nearing completion, I will do a final pass on collision to make sure the game flow is smooth. The last stage is bug fixing, where I try to resolve as many stuck bugs before the game goes live; this stage will continue even after the level goes live.

Dennis: Ricky is our lead Dev. Support at the studio and is responsible for flushing out bugs and setting up testing for new maps, new features and old fixes.

Ricky Cheung (Lead Dev. Support): Every Friday, I will host an internal playtest for the purpose of testing specific new feature(s) and/or content and most likely, the newest map.  We usually playtest a new map internally multiple times throughout its design and production process before it gets released to our publisher for testing.

I like to keep our playtest as simple and entertaining as possible so we can actually see if the map is fun to play as well as what kind of strategies and paths the players use.  After the playtest, usually there’s a short survey to fill out which includes the opportunity for our staff to provide any additional feedback regarding the play space. Once the design and art is finalized, we’ll push the new map to our publisher’s Q.A. team for testing. The new map will then stay on our test server until it is ready for release.

During the testing period, our main goal is to find and fix all of major issues such as missing or incorrect collision, texture, and geometry. Another main focus is to make sure the map is free of lobster traps (places to get stuck) and holes (to fall through), the last things we want is players getting stuck during the heat of battle or falling through the level into the virtual abyss.  Usually it will take about 4-5 weeks to test and bug fix before a map gets released to the public.

Dennis: The last thing on the agenda is streamlining.  Kevin sifts through the map with a fine-toothed comb just prior to release to ensure everything runs as smoothly and economically as possible.

Kevin: After the Environment Artists are done with the level, I complete a final beautification pass.  I flag any areas that could use a little extra polish or aren’t meeting the quality standard of the rest of the level and refine them. This could include object revisions, tweaking textures, adding detail to the terrain, adding new projectors or meshes, or fine-tuning material settings like gloss values or Fresnel settings to make textures reflect more realistic in the sunlight.  If there are any last minute changes or high priority alterations that Dennis requires for the level, or important tasks that somehow slipped under the radar, I race to tackle them in this last week or so.

Now that all of the meshes have found their final resting place, and the level won’t be changing in any significant manner, I create the final mini-map and load screen images.
Next, I utilize the engine’s built in diagnostic tools to highlight areas of the level that could perform more optimally. I then focus on ways to reclaim performance while minimizing the impact on visual fidelity.

I ensure all objects have multiple working LODs; this allows an otherwise expensive object with multiple textures and thousands of polygons to be reduced to an object with a single texture and hundreds of polygons as the viewing distance grows.  It’s inefficient to expend the memory budget on distant objects since it is difficult to see any of the detail at longer distances anyway.

I switch my computer to emulate a medium spec machine and decide what distances would be acceptable for an asset to reduce and eventually disappear. I then go through every asset in the level and set the maximum view distance, the distance from the player that the LOD switching happens, and whether or not the object will continue to cast a shadow. 

I highlight types of vegetation, particles, decals, or objects that are expensive or purely set dressing, and hide them completely on lowest spec machines.

MechWarrior Online is free-to-play, so go give it a shot. We're big fans over here.