Tools and Pipeline Tech

A few of the pipeline tools I’ve created.

All tools and code on this page copyright © Electronic Arts.

Madden 15 Houdini Head Tool

Houdini with Python

Madden Football, Tiburon, Electronic Arts, 2014

Madden 15 included significant improvements in the likeness of coaches and star players. Coaches and players were photographed at high resolution and these images were brought together using an internal tool in order to create a detailed model of that character’s head.

After the finishing touches were applied to the character models and textures by artists, the assets needed to be processed and exported to game.

Use Case: Character artist who is modeling and texturing the likeness of a game character needs to assign traits and export the asset for a Gen4 or Gen3 console game build.

Summary: I worked with a lead artist and Houdini specialist to develop the Houdini head tool, which manages hundreds of unique player and coach heads.

Production problems addressed:

  • Takes raw ZBrush output and maps it to two sets of standard head topology, one for a Gen4 console build and one for a Gen3 console build
  • Lets artist easily assign skintone, eye color, and iris/pupil size
  • Allows for individual head placement and sizing while conforming to standard neck geometry, eye size and mouthbag geometry
  • Uses Houdini’s compositing tools to map the artist’s Gen4 textures onto a Gen3 UV layout
  • Drop down menu allows artists to select a character by name, updated in real time from the main asset database
  • Batch tools allow technical artists to specify a list of heads to be processed at once

HandPoser

Python with wxPython and MotionBuilder

Madden Football, Tiburon, Electronic Arts, 2009-2011

A visual interface for assigning keyframed hand poses to football characters in cut scenes.

Use Case: Animator working in MotionBuilder needs to quickly pose the hands of the selected character.

Summary: An animation tool for posing character hands. The animator can right-click on a pose to apply it to any character in their MotionBuilder scene. Poses can be organized and categorized under tabs.

Details: This tool was written before MotionBuilder had good user interface controls available to the scripter. Instead of being integrated into the MotionBuilder GUI, it is a standalone app that communicates with MotionBuilder 2009 or 2011 through telnet. It is written in Python with wxPython for the GUI.

SceneBuilder

Python with wxPython and MotionBuilder

Madden Football, 2009-2012

A tool for assembling scenes with cutscene characters in MotionBuilder.

Use Case: Animator working in MotionBuilder needs to assemble a scene with the specified characters and animations.

Summary: An animation tool for assembling a new cut scene. The animator specifies the character types, rigs, and optional source animation they wish to use, and the tool builds the scene so that the animator can begin work.

Details: The first revision of this tool (left) was written before MotionBuilder had good user interface controls available to the scripter. Instead of being integrated into the MotionBuilder GUI, it is a standalone app that communicates with MotionBuilder 2009 or 2011 through telnet. It was written in Python with wxPython for the GUI.

The second revision of the tool is integrated into MotionBuilder 2012 using the new user interface scripting controls.

Montage of character faces from Dragon Age: Veilguard, with different skintones.

Dragon Age Veilguard: Skin Materials

2024 As the Character Materials lead for Dragon Age: Veilguard, I overhauled the skin treatment for characters to increase visual quality and to be more inclusive of all skintones. Originally skin only covered a range from pale peach to mid brown. The lighting team believed it was too difficult to

Read More »
A holographic map of alien terrain from the video game Mass Effect: Andromeda

Mass Effect Andromeda: Procedural Map Generator

2016 I created the procedural map generator which was behind the blue holographic maps in Mass Effect Andromeda. The core functionality operated in Houdini, with a Frostbite wrapper and GUI to make it easier to export levels for map generation. There were two types of map: large outdoor areas composed

Read More »
Icon showing a portion of the Dragon Age Veilguard character creator

Dragon Age Veilguard: Character Face Materials

2024 I was responsible for character materials in Dragon Age: Veilguard. Our character creator was one of our headline features, and we wanted to give players as broad a range of inclusive options as we could. Throughout production, I advocated for players to have exposure to maximum customization options. Those

Read More »
Frostbite and Houdini software icons with arrows pointing one to the other

Frostbite-Houdini Integration R&D

I’ve been involved since the early days in EA’s R&D related to integrating Houdini with their Frostbite Engine. I started working with Houdini professionally in 2006, as a Render TD in animated film. Later, on the Tiburon studio team at EA, I worked on the development of a Houdini head

Read More »
The main character from Mass Effect: Andromeda setting off a large fiery explosion

Mass Effect Andromeda: Lighting and Grading

2017 Lighting technology Mass Effect: Andromeda used the Enlighten lighting system, and I was the primary tech art contact for debugging artist issues related to Enlighten. For performance reasons, most of the game environment used Static Enlighten lighting bakes. Each game asset needed Enlighten geometry to be authored according to

Read More »

Film Lighting and Compositing

Before I moved to game development in 2008, I worked as a Render TD and a Lighting and Compositing artist for feature film. Here are some example shots where I was responsible for sequence or shot lighting, and compositing. Kung Fu Panda Sequence lighting and compositing Open Season 2 Sequence

Read More »