Aubrey recently posted about the artwork he did for a pre-Overgrowth game prototype, called AWOL. Today I'd like to show some of the technical work I did for that prototype.
The first thing I did is make a quick level editor to test out the basic movement and aiming controls. This allowed us to easily create simple test levels with enemies and walls:
Next I focused on the shooting, trying to get it to feel right. Part of my design philosophy is that the basic verbs like 'shoot', 'jump' or 'run' are just as important as the macro design. If it's not fun to just shoot into environment, then it won't be much fun to shoot at the bad guys either. The first step was just to figure out how the gun and the bullets should look while shooting:
I ended up making all the bullets into tracer rounds, which leave smoke trails that are affected by wind turbulence. This added a little visual interest even to rounds that are just shot up into the sky. The muzzle flash had a few fast-moving gas sprites along with occasional sparks, and the shell casings also had subtle smoke trails until they cooled off.
Shooting at objects created bullet holes and impact effects, and occasional ricochets at grazing angles.
Since there would be a lot of bullets flying around, I had to optimize the decals until they could be created and drawn very efficiently:
These decals also worked well on enemy characters, to gruesome effect:
While thick metal walls could not be damaged by bullets, I also wanted to support more brittle, destroyable cover like brick, concrete, and wood. I started testing out the internal mechanics of how this could work, but never finished the final graphics of it. Here is a video of a wall placeholder being destroyed. The sound effect timing was thrown off by the video recording, so please forgive the irregular gunshot sounds.
I also wanted to have destroyable characters, and worked on various approaches to character mesh fracturing:
I also experimented a bit with different skin shading techniques, such as gradient maps and rim lighting.
A big part of the environmental art direction in AWOL was an apocalyptic-looking sky, with thick black clouds and a firey sun. To achieve that, I worked on a shader that used multiple overlapping normal-mapped cloud textures to create some ominous clouds with the appearance of fractal movement.
Here is how it looks in action with a timelapse of 3x. Sorry for the low resolution!
To integrate that kind of sky with the playable scene, I experimented with volumetric lighting. Here is an attempt that used multiple additive shadow-catching planes to simulate volumetric light.
A more subtle technique I experimented with is adding automatic texture bands at the intersections of scene geometry. This helped make disparate objects look more like they belonged together, and eliminated some of the common 'CG look'.
I hope you enjoyed this look into some of the technology in AWOL! In Overgrowth, I am saving most of the flashy graphics tech for closer to the end of the project, so that I can focus on gameplay scripting and character animation first. Do you have any questions about the technology I created for AWOL?