Prototyping and optimizing aesthetics first in Unity, 5 steps

I have been slowly building up this prototype and idea I had about making a driving game which is as gritty and high-octane as the music video for Carpenter Brut’s Turbo Killer. The aesthetic could be described as ‘cliche nostalgia’ where strong, 80’s-like glitch and VHS effects are placed on top of a very vibrant but dark 3d animated video. Though there is one little thing.

I have a terrible computer.

It’s a 4 year old ‘Microsoft office use’ engineering windows 7 piece of trash laptop. I will not get a new one, because computers cost lots of money and so does keeping your kids at home with the spouse for their early years. In the question between giving your kids a comfortable life and getting myself a comfortable gamedev computer, this is a no-brainer. Get good or go home.

Well, at least, get average, because if it barely works on a potato computer, it should be passable even in a slightly better one which is most of your target audience.

1. Get Unity Standard Assets and Post-processing Stack and learn how to use them

You don’t want to stick with Standard Assets movement / physics / especially animations, because so many are already doing it, but at least it has ready-made characters which can move around the game world, like 3D characters, a car and a plane. That’s enough to get you started.

officeclimber

(Off)Ice Climber, a prototype I made during this summer.

Play around with the post-processing stack. Bloom, ambient occlusion and field of view in particular. The latter helps if you are using distance based billboarding, or just hiding far away vertices behind the skybox-colored fog and having a near camera view distance.

2. Get Makehuman and the Pixar texture libraries, use free3d

These are nifty little tools that streamline some of the most challenging and time-consuming parts of game development. Crafting a human is a huge time sink even for a well established indie studio, let alone a single dev making a prototype. That’s why Makehuman is such a great tool, although the clothing/hair library is a bit sparse at the moment.

The Pixar texture libraries are an absolute prototyping gold mine. They can be found here and here. I use the base color and normal map textures and rarely touch the bump map because it would need a tessellation shader and that affects performance.

Free3d is a database of free 3d models, some which are for non commercial use, but remember to give credit to the maker after usage. Lots and lots of models there.

3. Choose your aesthetic, and remember: More is more – Yngwie J. Malmsteen

If you had to make an 80’s metal music video aesthetic, the first things you need to determine are tools and how much time it would consume to get that aesthetics. This is how I would think this through:

  1. The humans are rather easy to make by combining default clothes with custom skins to make the rubber/leather pants and by reskinning some blazers that are meant for female characters. Female hair models obviously, because lion hair for males is rare in ready made assets.
  2. Some sort of scratch/vhs/glitch effect. Try to do as much of it as possible with post processing stack. Chromatic aberration is best, grain is good, so is bloom, color grading is essential, badly aimed depth of field is a plus and a slight vignette on top of all that.
  3. Colored smoke with particle emitters and lights. There should be more than enough stuff in standard assets to make that possible.
  4. The backgrounds need to look painted. Google image search an image of paint, make it repeatable in the image editor, make grayscale and use it as a normal map. Might have to paint the objects myself, but it’s best to make them simple enough for prototyping.
  5. Also something non-painted to emphasize the difference between painted and non-painted objects.
  6. Bloom and flares in lights make it look more aggressive. Always go for aggressive. Subtle is for triple A studios.

4. Remember to compromise so it will work on as many systems as possible

If you don’t want to and have a system that can render complex scenes, that’s fine. Just don’t go ‘dude simulator’ on it and make a simple looking low poly game that doesn’t work on a mid spec computer.

The best ways to compromise are to adjust the poly count of the models, draw calls (terrains are usually very draw call heavy for some reason) and the number of objects appearing simultaneously on screen. Post processing effects tend to be performance heavy as they usually require deferred rendering, but usually they’re worth it.

5. Learn how to use normal mapping and metallic mapping

Normal mapping makes the models you are using bumpy and is quite performance effective, although it could work better on low poly models. There are several non-unity tutorials which give light to how metallic mapping work and you can edit the models almost on the fly because of unity’s asset pipeline.

artoss

Above: screenshot with a character made with fuse, using post processing effects’ impact on quality. The stadium model is a decimated low poly model, so blurring reduces the blockiness while keeping performance high even in sharper graphics settings.

Leave a comment