Skip to: main content or site footer.

Programmer Art And Scribbles

Avatar for James Spafford
James Spafford Spaff

At Double Fine, rather than demanding our team stays in their lane, we encourage them to stray far from it and contribute to the many aspects of building a game no matter what their key talents may be.

Even so, It's unusual for a programmer to contribute art to a project that makes it all the way to ship, or vice versa with artists coding. But behind the scenes, they are generating a special art of their own - we call it Programmer Art.

It's purpose is not to be pretty, and at first glance it might look simplistic - often line drawings created in something like MS Paint - but these drawings are usually created to convey a problem or a solution that requires a way of thinking that most mere mortals would find impossible to grasp. This gives them a visual quality that is beautiful in its own right..

The making-of / concept work of our engineering team is often hard to share and convey, but through this collection of Programmer Art, most of it from Psychonauts 2, we think you'll get an interesting glimpse inside their minds.

To aid you, we've included annotations from the programmer (artist!) behind each piece explaining their inspirations.

"This was coupled to a lengthy email explaining how the player's head moved in real space way more than they thought even without moving their body." - Silvio Terra

"Visualization of how the auto-aim picks targets. It ignores dudes outside of the view cone (sad red dudes) and prefers robots closer to the view direction (happy green dude) over targets at the edge of the cone (neutral yellow dude)" - Oliver Franzke

"Tornado pathing" - Matt Enright

"Figuring out the camera for Bob Z" - Matt Enright

A diagram that can explain a few terms regarding Trapeze swinging:

• Max Swing Angle: the highest this particular trapeze can reach if the player has pumped it up to it's full potential

• Current Max Swing: this is how high this trapeze will reach right now, with the amount of pumping the player has already done

• Current Angle: this is where Raz is currently in the swing

-Devin Kelly-Sneed

"Maligula Boss Fight Phase 3 - Gravity Plane Slice" - Chad Dawson

"This is a drawing made to help figure out the shader logic for parallax corrected cubemap sampling, which I’m going to try to use for cheating portal rendering when the camera is far from the portal." - Aaron Jacobs

"HangarEscape: We were trying to figure out how the hangar area (on the right) might be connected to the outpost (on the left). Including relative scale, door placement, Harold the rat placement by the door." - Chad Dawson

"Turnip" - Amy Price

"Camera Planar Relationship" - Amy Price

"Planning out how to construct / stretch a volume around Raz used to render a 'fake shadow' which is used to help the player line up jumps while platforming." - Aaron Jacobs

"Here’s a drawing from back when I was experimenting with Catmull-Rom splines for camera interpolation. The top drawing shows the simple (linear) interpolation of a camera from point A to point B. The bottom drawing shows how the camera would react if, while in the middle of the first interpolation, we decided we instead wanted to go to point C. I ended up solving the problem a different way (by maintaining a camera stack), but it was an early test." - Aaron Jacobs

"Demonstrating all the places positional sound could be coming from in Broken Age (more parentheses indicates longer sounds)" - Anna Kipnis

Skip up to: site menu or main content