Indie Game Development - "Having fun, making fun"

Saturday, December 27, 2014

Dev Log - Working on the Environment

For the past few weeks I've been working on a host of smaller tasks all aimed at supporting the artists and finalizing the environment.  These include:

A skybox is a series of images of the sky and mountains that player's can see in the distance.  The temp skybox art we were using did not match the theme of the game, so I spent some time searching online for a website that licensed skybox art.  To my surprise there were none.  I then began researching how I could create one myself.  I found a software package named Vue and after a few tutorials was able to create a new skybox.  Our castle now rises up out of the clouds.

Procedural Terrain: 
Next I experimented with creating terrain using a height map.  This terrain would extend from our castle toward the skybox, creating a middle ground visually connecting the two.  This did not prove to be difficult and is actually pretty cool, but I could not pull off the look that we are going for, which is a series of columns rising up out of the fog.  It turns out we can achieve the effect we are looking for by simply modelling the columns we need.  In fact, we can do it with even less polys than the procedural terrain which is good for performance.

Instancing is a method of drawing multiple copies of the same model at a fraction of the cost in performance.  It is great for drawing trees and other objects that you can position procedurally and even animate.  I looked into using it for portions of our environment or for light fixtures.  However, it turned out not to be well suited for the limited number of static objects I was going to use it for.

Mip Maps:
Mip Maps are a way of reducing the texture size used on models that are drawn at a distance.  It can improve both the look and performance of a game.  Luckily, the Sunburn engine I'm using can automatically generate and manage mip maps.  I also tested the environment with a special texture provided by the Sunburn community that displays the recommended resolution of textures based on distance.  Our current max texture size is 1024, which looks pretty good but does become blurred at very close range.  If we have enough memory, I may increase texture resolution so they hold up even at close range.

Normal Maps:
The Sunburn engine supports both normal maps and emissive maps.  An artist had explained normal maps to me in the past, so I had a vague idea about how they worked.  I took the time to research how normal maps are made, and this is going to enable us to create much better looking props while keeping the poly count low.

LOD Models:
While doing some tests, I discovered that all the character's weapons add up to almost as many polys as our environment itself.  Ouch!  I talked to a producer friend of mine about plans to switch to different level of detail models for enemy weapons, and he suggested simply using a lower detail model for enemy weapons all the time.  We will try that out, and if it doesn't look good we can always switch between different detail levels later.

Cover Art:
We will be featuring avatar's on our box art as we did for Kick'n It and Ultimate Dodgeball.  Since we have three different character classes, I would like to show each class on the box cover.  So I searched through all the costumes available for avatars and chose a costume that best exemplified each class.  I then put weapons into their hands and animated the characters into different poses.  The screenshots I took of the characters can now be used to create the box cover.

No comments:

Post a Comment