Rumble Box was a collaborative effort between myself and Joe Bourrie as our college senior project.
It was a winner of the 2006 Slamdance Guerilla Gamemaker Competition and a runner-up in the 2006 IGF Main
Competition for Innovation in Game Design.
Rumble Box is a fast-paced beat-em-up with a unique premise: every character remains present after being defeated.
Defeat waves of enemies to stack up their bodies and create piles high enough to
get out of the box!
As far as rapid prototying goes, Processing is my default. What Microsoft has done with C# is pretty great, but I can write Processing pseudo-java in my sleep.
The following programs were done in Processing and you'll need Java to check them out. Click on the respective picture to launch
the program in a new window. Also, make sure the applet has focus when using it (click on it to be sure).
Quick prototype of an idea I had for a "collect the objects" puzzle game where a majority of the information is hidden to the player. The player guides a lightning bug around the playspace, seeking out the lost ladybugs. Dangers and puzzle pieces are uncovered as the lightning bug shines light on them.
Click and drag to create a path for the Lightning Bug. Click and Hold to make the Lightning Bug shine brighter. Collect three ladybugs to advance to the next level.
I love stealth and wanted to test out an abstract representation. The enemies respond to observed movement by yelling
(emitting circle bursts), calm down when left alone, and can be killed by being touched. If the player moves
slow enough through the terrain, he won't be noticed, or he can instantly pounce a short distance for a cooldown penalty.
Press spacebar to pause/unpause. Click the player and drag to move him. Hold the right mouse
button to charge and release to pounce.
A friend had an idea for a game that involved controlling three characters
(à la Lost Vikings) with the limitations that one could only see, one only hear, and the other only speak.
This was a quick proto I mocked up for that idea. The balls bouncing around represent sound.
The prototype wasn't a failure, but the obvious flaws are that the sight character is a tad "over powered"
and there's no benefit to splitting the players up.
'q', 'w', and 'e' switch players. Number pad moves current character. Press space
to shout with 'e' character. Shouting destroys enemies and some walls. Avoid enemies and traps, get to the goal,
and keep an eye out for secret areas.
An evolution of the Color Connection Prototype above, the Color Grid Prototype retains the suffocating black squares, but replaces the matching element. In this prototype, you have to slide the grid's rows or columns to create a rectangle of matching colors.
Press spacebar to pause/unpause. Click and drag a tile to slide the row or column. Slide tiles around to create rectangles.
Five Forgotten Stones of San Francisco is a free, community-based activity centered around
the exploration of public parks in the city of San Francisco.
Part scavenger hunt, part interactive puzzle, the Five Forgotten Stones project was inspired by modern treasure hunts. Read the 'About' section for more information.
I am a software engineer working atDouble Fine Productionsin San Francisco, CA. I graduated from the DigiPen Institute of Technology
in Redmond, WA in 2005 with a Bachelor's Degree in Real-Time Interactive Simulation.
I've worked on several commercial games, includingDropchord, Kinect Party, Double Fine Happy Action Theater, Iron Brigade, Brütal Legend, MX vs. ATV: Reflex, MX vs. ATV: Untamed, Shadow Ops: Red Mercury,
and the award winning indie title,Rumble Box.I've been playing games my whole life, but experimental and innovative gameplay
is what keeps me interested in them.
Experience with C, Lua, Java, C#, Managed C, and STL
Experience with PC, XBox 360, PS3, Leap Motion, Oculus Rift, and Android developemnt
1 year experience with the Leap Motion Controller
2 years experience with Microsoft Kinect
3 years experience with Bullet Physics Engine
1 year experience with Havok Complete 5.0
1 year experience with the Unreal Engine 2.0
Presented a 60-minute lecture at the 2013 Game Developers Conference
October 2008 - current
Double Fine Productions
[San Francisco, CA] Project Lead on Dropchord [February 2013 -]
Prototyped game concept with Processing and an Android phone.
Involved in internal and external pitch meetings for project funding.
Managed a team through pre-production, production, and release.
Designed, concepted, and implemented game mechanics and game flow.
Maintained original vision while navigating a changing scope, schedule, and targeted platforms.
Engineer on Kinect Party [January 2012 - September 2012]
Worked with core DF:HAT team on Double Fine's first sequel.
Explored limits of Kinect technology relating to player skeleton association and player gesture input.
Developed augmented accessory technology allowing up to six players to wear computer generated outfits.
Presented summary of work as a 60-minute lecture at the 2013 Game Developers Conference.
Engineer on Double Fine Happy Action Theater [March 2011 - January 2012]
Worked on a small team with a very fast design to iteration to polish workflow.
Used limited and noisy input data to define player mechanics that registered at a consistent and responsive level.
Maintained gameplay for 18 unique player experiences.
Lead Gameplay Engineer on Iron Brigade [November 2009 - March 2011]
Created data driven mission structure, enemy pacing, and special event timing for procedural gameplay.
Wrote Chatter Manager to handle all in game dialog for player character and NPC reactions and banter.
Worked with the audio team to sequence special events, score boss fights, and integrate dialog.
Scripted boss fights, wrote logic for player weapons and emplacements, and helped implement AI behaviors.
Responsible for all things gameplay.
Gameplay Engineer on Brütal Legend [October 2008 - Rocktober 2009]
Extended existing codebase while working with the animation team to implement context
sensitive character animations and behaviors.
Worked with the design team and other gameplay engineers to create game missions using
Lua scripts and assets placed in Maya.
May 2005 - October 2008
[Phoenix, AZ] Tools / Gameplay Engineer on MX vs ATV: Reflex [January 2008 - September 2008]
Created and maintained support for an animation tool that allows users to combine a
collection of animations with basic logical commands to create a more complex "behavior" while maximizing animation reuse.
Created and maintained support for a visual timeline tool that allows users to set various
timed events. The timeline can be exported to a Lua script which is then used to direct an in-game cutscene.
Gameplay Engineer on MX vs ATV: Untamed [April 2006 - December 2007]
Worked closely with the animation team to develop tools and asset pipelines necessary for
all our in game animated models.
Maintained existing engine code, ported legacy code to new development platforms, and
managed cross-platform development.
Gameplay Engineer on an unannounced title [May 2005 - March 2006]
Helped implement a data driven state machine for handling large, complex character state trees.
May 2004 - August 2004
[Seattle, WA] Engineering Intern on Shadow Ops: Red Mercury
Worked with the Unreal Engine to set up and facilitate the use of the in-game dedicated
server, localized the project for international release, and created a new set of menus for the multiplayer portion of the project.
August 2001 - May 2005
DigiPen Institute of Technology
[Redmond, WA] Co-Designer and Engineer on Rumble Box [August 2004 - April 2005]
Slamdance Guerilla Gamemaker Competition award winner and IGF Main Competition
Innovation in Game Design finalist.
Developed a physics engine for lifelike collisions between cubes and spheres that
balances realism with efficiency.
2001 - 2005
DigiPen Institute of Technology
[Redmond, WA] Bachelors of Science in Computer Science
1999 - 2001
Arizona State University
[Tempe, AZ] Mathematics