Sony Santa Monica projects

God of War (2018)

I could not have asked for a better transition from film to games than joining the God of War team at Sony Santa Monica Studio. I was beyond excited to see the new direction of the series as I went through a new beginning of my own. Within the first year, I contributed to a new breakables pipeline, took ownership of the wind system, and worked on and attended the E3 2016 reveal, which had an absolutely incredible reception. It was a once-in-a-lifetime event. Then we had a game to finish and a promise to keep.

Over the rest of the project, I focused on pushing our team's art and environment interaction as far as it could go. I developed one-click workflows for LOD mesh reduction, model consolidation, and card cluster impostors. I also built an automated LOD performance validation pipeline, allowing us to spot and fix expensive models as they got checked in. With Rendering Engineer Rupert Renard, I co-developed a state-of-the-art dynamic wind system. I shared how we built this wind system in a highly-rated Game Developers Conference session (video / slides). It was an honor to be invited to present it again at Advances in Realtime Rendering later that year at Siggraph.

God of War won several Game of the Year awards. A second once-in-a-lifetime series of events with this amazing team.

Web projects

RetroRemix

RetroRemix is a lot of things. It's playable fanart mashups. It's HD texture packs for NES emulators. It's a live, collaborative development environment. It's Twitch-Draws-Pokémon (if it were an NES game). It's like visual Game Genie. And it's a passion project that I've been working on for the better part of a decade. I play games for an audience, while they draw over the game together and see it update in real-time. You can browse some previous broadcasts on my Twitch channel.

A sampling of challenges I had to overcome: Indexing remixed sprites at runtime so that I can sparsely specify override variants for sprite flips and palette swaps. Palette-swapping remixes at runtime if alternates aren't defined and doing it in a visually pleasing way. Designing a single-file remix spritesheet spec that is readable by humans and editable in existing editors while reducing the tedium of layout adjustments. Making a paint webapp with multiple simultaneous users that supports cloned regions and batched action queues. Intuitively communicating those behaviors to users with minimal surprise. Tools to reward key contributors and to quickly and easily identify and moderate bad actors. A unified zoomable, moveable, paintable canvas that works with mouse, pen, tablet, phone, or touchscreen. I could go on and on about each of these topics for up to half an hour. I promise I'll try not to.

It's Murda

My friend Mike Urda is the nicest, kindest gentleman you will ever meet. So, naturally, his nickname is Murda. Whenever we would hang, I could not get Ja Rule out of my head. At least, not until I made the idea into something. It's Murda is a prank that grew a life of its own: a hype-man in your pocket. Click it to send him some love.

gifspkr

gifspkr is what happens when a music visualizer collides with internet gif culture. I was inspired by the photography of Micaël Reynaud. When I saw his timelapse of bread dough rising, it looked to me like a speaker. Well.. why shouldn't it be? So I built a quick prototype using processing. It was a fun experiment, but I shelved it.

A couple months later, I needed to learn javascript for a large project. To get my feet wet, I wanted to build something of smaller scope when I remembered that bread speaker prototype. A few coding sessions later and gifspkr was born. Built with Javascript, not jQuery (learn to walk before trying to run), HTML, CSS, Canvas, SVG animation, Web Audio API and Buzzfeed's libgif.js, to which I made several feature and speed improvements. (Pinecone timelapse by Louie Schwartzberg)

Pixar projects

Digital Archaeology and Stereo 3D Rendering

Pixar has an incredible history of classic films. Unfortunately, as their technology has progressed, the data building blocks of those films drifted away from what the modern tools understand. In order to represent these experiences in stereoscopic 3D as authentically as possible, that data had to be transformed to fit into the current pipeline. After doing that, we have to adjust everything that looked fine with just one eye rendered, but suddenly looked broken when viewed from the second eye.

Some shots in a sequence were marked final on the original show, while worked continued elsewhere, overriding some things in the neighboring, finished shots. This meant that a decade later we put on our spelunking hats and dug into the old file systems to recreate the exact conditions that got the original director approval. It was such a privilege to explore the inner workings of some of my favorite films: Finding Nemo, The Incredibles, Monsters Inc., A Bug's Life, and Wall-E. The "dream come true" was being the project lead for the conversion of For the Birds 3D, which is hands down my favorite short film of all time.

Cars 2 Pipeline Tech

On Cars 2, I continued my vegetation work from Day and Night, laying the groundwork for the background vegetation pipeline. Tree meshes and shaders were converted into a mipmapped voxel representation at build time, which could be accessed by the renderer in a memory-efficient way. I also shaded background characters and did scene pruning work to help the renderspeed of heavy sets.

The bulk of my contribution to Cars 2 was in the matte paint department, where I worked directly with the painters to streamline their process and maximize their output. I did this by creating pipeline tools that consolidated similar shots, visually tracked differences in paint layers over time, and supplied them with up-to-date contexts to paint in. They were very happy that they never had to leave photoshop.

Day and Night

Working on Day and Night was a phenomenal experience. It began, as many things seem to begin at Pixar, with lunch. Director Teddy Newton and I were discussing ideas for his upcoming story pitch and I was intrigued by the challenges presented by his idea for Day and Night. Disney had just announced that Up and subsequent films would be in stereoscopic 3D, something that seems obvious for most films, but not for this one. What does it looks like in 3D if a hole passes in front of another hole, hiding it? These were some of the questions I tried to answer with a number of preproduction image and video tests.

Teddy and I agreed that these tests were successful and he asked me to show them as part of the pitch to John Lasseter and Ed Catmull. We came out of that meeting a little astonished; suddenly, we were going to be attached to Toy Story 3, Pixar's biggest film ever. It all happened so fast! From there, I built the 2D animation pipeline, procedurally modelled ground vegetation, and consulted heavily with the Director of Photography on stereoscopy. Day and Night won a Visual Effects Society award for Outstanding Achievement in an Animated Short.

Presto Animation Software

Every Pixar film up to and including Toy Story 3 (2010) was made using specialized software built on the same core that was used to create Luxo Jr (1986). That's an impressive lifespan for software, but its age was showing to its users. Presto is Pixar's reimagining of an animation software suite designed from scratch with 25 years of experience in mind.

Defining the next era of computer animation for Pixar was no small task. My contributions to this monumental effort included: storyboarding experimental workflows to rapidly test new ideas without the expense of full implementation, managing hundreds of hotkeys from many different tools and unifying them into a single hierarchical layout, designing new tools both by document and by prototyping with Python and PyQt so we could pitch them in context, and illustrating icons for use throughout the software package. Brave was the first film to adopt Presto.

Lifted

When first joining Pixar as an intern, I had the remarkable opportunity to shade the two hero characters in Gary Rydstrom's short film Lifted. A prototype shader existed, but its render times for a character were measurable in days. Ray-marching can be expensive! I was able to modify the approach and bring render times down to minutes while maintaining an output of similar visual quality. Bubbles needed to feel more spatial context, so I devised and implemented a solution that would defocus deeper bubbles and attenuate environment light based on the shape of the character around them. I was honored that Pixar chose to use the visual breakdown of this shader's components on the front page of their Renderman website for about three years .

Red Bull Soapbox Derby

Brütal Legend Soapbox Racer

The second dumbest thing I've ever done was try to build a professional-grade soapbox racer with three of my friends and zero welding or composite material experience amongst us. Starting with public concept art from Brütal Legend, we had three months to build from scratch, requiring us to learn and do for the first time: MIG welding, CNC milling, fiberglass molding, metallic paint, laser-cutting, vinyl transfer, and steering, braking, and chassis engineering. Thank goodness for TechShop! (RIP)

The absolute dumbest thing I've ever done was to then get in this contraption and pilot it downhill in front of 100,000 people at record-breaking speeds of nearly 50 mph. I survived and we won first place. The vehicle now has a permanent home in the lobby of Double Fine Productions thanks to the gracious Tim Schafer (pictured) and has even travelled the world as part of a game art exhibition.

Want to see more? Check out the build gallery, build blog, and video by international media.

Jurassic Park Soapbox Racer

Having had a taste of sweet, sweet victory, we had to return and defend our Red Bull Soapbox Derby crown. But life happens; our team now lives in three separate cities hundreds of miles away from each other. No problem! Through internet collaboration and some creative allocation of vacation time, we were able to assemble for the final week of the build.

With the first race, so much of our success was because we put on a good performance. This time, we tried to amp that up, creating a complete Jurassic Park gate for the starting block and a seven foot tall walking dinosaur costume. We set out to break records again; Well... we broke something. Either way, it was a spectacle. Always wear a seatbelt! Despite coming to a complete stop during our run, we still managed to place fifth out of forty teams. Thankfully, there were no injuries, just some bruised thighs and egos. And the cart suffered zero functional damage despite doing a cartwheel on its front wheels at 30 mph.

Still hungry? There is a build gallery. Christine did a great writeup of the build on her blog. And I know you want to see a foam jeep disintegrate at high speed.