At Crystal Dynamics, I worked on Tomb Raider (2013) from its early prototypes up until first announcement. I built the core shaders for the project, and a large number of the art and animation tools.

All work shown here was a collaboration. I was fortunate enough to work with exceptionally talented artists and engineers at Crystal Dynamics. Together, I feel that we built an engaging world and forged tools and techniques that made it possible.

I worked directly with the Lead Character Artist and Art Director to hand tune Lara Croft’s shaders and materials. This include a system for dynamically inducing wetness, muddiness, and bloodiness on any part of the character that needed it.

The game used a light pre-pass renderer, which makes me particularly excited about images like the one above. Lara’s hair and skin display complex lighting effects, even though they’re drawing with the same basic illumination data provided to the whole scene by the generic light pre-pass.

I built the shaders for almost every artist-authorable material in the game. This ranged from high fidelity characters, to ultra-cheap effects and foliage. I created a set of reusable environment shaders that would allow artists to both prototype semi-procedural environments, as well as carefully craft set pieces. I also worked with our Render Engineer, Conor Dickinson, to prototype a new ambient occlusion system influenced by Stephen Hill's work on Splinter Cell: Conviction. This system provides both the soft ambient changes and the contact shadows that help give the game its somber mood.

When the technology team began to rewrite the level editor, there was a strong desire to make all props and environment models small reusable pieces, as opposed to the monolithic Maya files traditionally used in Tomb Raider production. This would prove to be amazing for design, but artists feared that they would not be able to make highly polished levels. I spearheaded an effort called “Edit in Place”, which would allow an artist to quickly prototype a scene in Maya, and then shatter their file into modular components. I also wrote the Maya nodes and hooks that allowed artists to continue working on these pieces in the context of their level with a live feed to and from the editor. This system was showing in Jason Yao's 2013 GDC presentation, Horizon and Beyond.