In 2009, I joined Ignition Entertainment as Technical Art Director on Reich. I helped drive the implementation of new technology that had scarcely been achieved on consoles at the time, including fully dynamic destructible environments with deferred rendering in Unreal Engine 3. My job was to establish and manage the entire art pipeline including art tools, optimization, materials, VFX, and destruction. My team and I were also responsible for a fair amount of rapid gameplay prototyping revolving around destruction, dynamic lighting, and VFX. Notable innovations on Reich that I had a key role in:
- UE3 Deferred Lighting and Rendering
- Dynamic HDR Lighting Zones
- Deferred Material Lights
- Deferred Split-Pass Decals
- Robust Destruction Pipeline
- Fully Destructible Environment including Lights
- Volumetric Lit Particles
- Human Eye Lens Flare
- Luminosity Variance Film Grain
Dynamic HDR Lighting Zones
Lighting with HDR can be a trial-and-error process, especially when dealing with extremes such as moving between indoor and outdoor areas. Inspired by traditional camera exposure techniques, I wanted to create a system where lighting artists could set up lighting exposure zones to focus on in isolation without worrying about balancing HDR lights from other zones. As a final pass, the overall HDR multiplier is set for each zone to control brightness relative to other zones in the level.
Dynamic HDR Lighting Zones were made possible by our console-friendly Deferred Rendering implementation, which was able to adjust the HDR brightness of all lights within each zone at runtime. Because ambient occlusion was calculated separately in a light-sensitive post process effect, light and shadow mixed together seamlessly for cheap and convincing results that required no extra memory and minimal processing power.
Rapid Prototyping Example – Mech Destruction Sequence
One example of rapid prototyping I directed brought together 1 environment artist, 1 kismet designer, and 1 tech artist to create a single player sequence mixing heavy destruction with enemy AI (a critical problem we needed to solve for the game). I was confident we could create the illusion of smarter AI through scripting and careful spawn placement without having to implement a more expensive system where the AI processed dynamic destruction objects in the environment. This sequence also justified putting more destruction in the game, easily running at a high frame rate on XBOX 360.
The first task I tackled on the project was improving the art pipeline tools. Creating destruction assets was tedious and the artists needed a way to export static mesh assets arranged in 3DSMAX. I created a 3DSMAX scene manager GUI that managed static mesh, collision meshes, and destruction assets from the same interface. Exporting unreal levels was added as a checkbox.
After the initial bugs were ironed out, the tools programmers worked up a .NET version of the Reich Scene Manager that was faster and more robust. It is still in use at Ignition today for various UE3 projects, and I have since updated it to export FBX files and animations as destruction assets.