Technical Art

During the first half of my career as a developer, my time was divided between 3D art and programming. As a technical artist, I draw upon my past programming experience to help: identify and debug art and game engine interactivity issues; communicate and promote pathways which are mutually efficient to artists and programmers; develop tools/scripts to increase artist productivity and capability.

Custom Max Scripts.

For Dirty Drivin' (2011) I developed a custom Max script to facilitate the quick and accurate UV mapping of the racing surface. Beyond enhancing the games visual quality, this allowed for rapid iteration of the levels increasing playability. The script, and the accompanying tread-marks texture I created, were used on every level of the game.

Max script

UV Mapping Script and Treadmarks Texture


Treadmarks in game

Shader Design and Suspension Rigging.

For Dirty Drivin' (2011), I designed a dynamic mud and dust shader fitting of the games title. This system used one texture map and provided for independent, dynamic control of: mud and dust colors and amounts. Shader programming by Steve R. I also developed a suspension rigging system which supported realistic suspension designs utilizing standard keframing and skinned elements.



Mud and Dust Shader

Suspension Rigging

Maximizing existing technology and resources.

Batman (2013) - Faced with tight time constraints, I made use of available technology to create a dynamic damage system. Repurposing the existing skinning and animation system for damage was very quick to setup and implement with minimal programmer support. The damage was convincing when coupled with real-time physics and particle fx systems.

Dynamic Damage

Complex Environment Creation Pipeline.

At Clairvoyant Systems, I developed a complete race track generation pipeline. This process began with on-site track data collection including: centimeter-accurate differential GPS site surveying; photo and video reference gathering. I created a suite of Max script tools which spanned the many steps from importation of GPS data to the creation and UV mapping of the racing surfaces.

The Racetracks created using this pipeline were used in conjunction with race car GPS data to create visualizations for: 2008 Indy 500 broadcast; R&D testing with the Formula 1 governing body, the FIA; various F1 team marketing efforts including 2006 world champions, Renault F1.


Racetrack in game

Track Surface Tools

Track Surface created with 3D Studio Max script

Virtual Indy - 2008 Indy 500 Pole Day Coverage

GPS Surveying - Circuito de Jerez, Spain

GPS Base Station - Circuito de Jerez, Spain


This segment aired on ABC's pole day coverage of the 2008 Indy 500. In this clip, the previous years battle for pole position is shown in virtual reality. Tony Kanaan's #11 car is shown as a ghost car alongside Helio Castroneves's #3 pole winning run.