I started by making gameplay mods for Command & Conquer by Westwood Studios. Next I moved into making maps for Command & Conquer, and replacing game sprites to create new units. Next I hacked in new weapons, characters, and levels into Doom, Descent, Doom II, Quake, Red Alert, Quake II... and around that time, modding was no longer enough to keep me happy.
By 6th grade, I was programming crude games in C: a two-player dogfighting game, text-based Battleship, and an overhead tank driving demo. The now archaic assembly routines I used for direct handling of input, audio, and graphics makes it tricky to run them on OS's newer than Windows 98. DOSBox can be used to run these, and many other old games, on modern machines.
This is a seven-in-one game designed for an English project. It's designed around the radio broadcast of War of the Worlds. Each level acts as an isolated game. The entire project was designed and released in three weeks.
Cheat: Press the "N" key to skip to the Next level.
Freshman year I wrote Who Wants to Be a Millionaire to present history trivia questions. I also worked at that time as the 3D artist for a PC Bomberman clone created by a programmer living in Europe. The code/content for both of these games has vanished into history, but both served as excellent learning projects.
Burn 2: 5 on 5 Gravitar-style interplanetary deathmatch. Fair AI, 0-5 human players, randomly generated terrain, joystick input, moused-based menus, colored lighting, different times of day, tiny innocent bystanders... to this day Burn 2 is one of my favorite games that I've assembled.
Interactive Android Simulator. The "humans" are designed via one program, and imported into a map designed with its sister program. Most of the project's appeal was in its presentation, but the project had a serious research purpose beyond that: to expose the dangerous errors in thinking that have historically led to unwilling human experimentation. This program was the core of my senior year science fair project, which received a fourth ranking at the ISEF International Fair.
Guile of Dybbuk. 3D shooter with a variety of weapons, a handful of enemies, 3D particle effects, and a half dozen levels. This is more of an engine than a finished game - content was just taking too much time to create and I had to move on. 100% of the graphics, sounds, level designs, and other elements (except the MIDI music) are my own.
SNES style Mode 7 Effects engine, in much higher resolution. This is the world travel system for The Guinea Pig. It allows the player to fly a helicopter around a self-tiling world map, adjust altitude and perspective smoothly, switch to an overhead view, and connect to other areas of the game by landing in soft-coded regions of the map.
The Guinea Pig featured a unique 2D approach to skeletal animation, clothing/skinning, blood/bullet decals, real-time fully destructable terrain, weapons mechanics, parallax scenes, dynamic particle systems... 100% of it is my work, and it worked. When it came down to it, however, I simply couldn't commit the time to generate art and dialog content to do the game's engine justice. This project became my own little personal Tower of Babel, collapsing under the exponential complexity of its unabashedly ambituous goals.
The Guinea Pig is one of my few canceled projects, and I offer no beta or other releases at this time. It exists as a playable open world of interesting but otherwise disjoint in-game experiences. I've applied a number of the lessons, technologies, and design techniques that I learned while developing TGP to nearly every project since.
Here are some artifacts of the game's creation, including a few pages of screenshots for the curious:
I wrote a Sesame Street game in 3 days for my fraternity's Spring Carnival booth. The controller interface consisted of a torn apart joystick (I had an ECE major's help) glued into a wooden frame, and the question ideas came from my fraternity brothers. Special thanks to Tuscan Knox for helping me image search and edit some of the 160+ images used.
USE Q, W, A, AND S AS THE "CORNER KEYS" TO MAKE YOUR SELECTIONS. Hold Escape to quit.
This represents my first experience working with a large, local team on a project. Design decisions were made as a committee of five (note: BAD IDEA). The team consisted of a producer/programmer (myself), artist/writer, musician, and sound effects gofer. See the readme for full credits. Check out the image's link for more details - it leads to an artificial back of the box to read.
Note: Dragon of Shiuliang is not very well designed or fun to play. Nor was that the point of making it. Creating DoS was primarily an exercise in RPG game engine programming and elementary project management. It played a key role in building the first momentum inside the Game Creation Society during the club's formative semesters. It's more of a curious artifact than a game per se. Consider yourself warned (!).
This is a screenshot from GoD 2, the sequel to Guile of Dybbuk. Your player is invincible, but to win you have to protect helpless people from scent-seeking zombies. Instead of being about self-preservation, the game is about efficient use of ammo and keeping on the run, switching roles between proactive hunter and defensive guardian. AI find freshs targets through a pathfinding node network. While the game is finished (playable, content complete), I'm ultimately displeased with the overall presentation, and I don't intend to publish it to this site.
SpellCaster is a puzzle game I put together in just under three days. 100% original gameplay, design, and presentation made this a fun little polished package to assemble. I made this the Summer following my Freshman year in college.
As an exercise in studying old game mechanics, I rebuilt the Bubble Bobble engine in six days one summer. All level and graphical content is included from the original (proper wind vectors are only set up for a few maps), the spring enemy's behaviors are not configured, and only 1 enemy has projectiles. The special items do not work (ex. umbrellas won't skip levels). The goal here was only to understand the game's fundamental AI structures and bubble behavior.
Game Creation Society members helped make music and levels for this reaction-puzzle title. Gameplay concepts, menus, artwork, and other elements in the game are my work. The main exception are the sound effects, which are royalty-free sounds.
Story writing, special effects, unit graphics, interface graphics and music were all handled in this project by other GCS members. I tied them all together, handled the bulk of the programming, and designed/balanced the gameplay. Although the game mechanics were my original concept, it evolved quickly in brain storming sessions with one of the project's musicians and our group's writer. Credits are available in the included text file and in-game.
This 3D stickman fighter features two-player co-op and vs modes, challenging single player levels, original music & sfx, seven characters, unique fighting dynamics (26 fighting moves for every character!), and a subtitled cinema ending with an unlockable character. I designed it for console-style controller input, so cheap $5 USB controllers are needed to get the full experience (you CAN play single player with the keyboard). Updates from 1.0 to 1.21: More aggressive enemies, fixed various bugs, made game speed adjustable in the settings.ini file, updated HUD.
A group of 3 of us had an assignment to design and prototype an interface for an HCI course. Since I was doing the programming, I went all out and pushed the prototype to completion... here's the downloads, if you're interested in making a custom card:
Swapping Action is an original puzzle game created by the Game Creation Society. I served a strictly support role for this project - advising, code debugging, and publishing - but the artwork, design, and bulk of the programming was all done by my fellow GCS members. See the credits in the readme.txt for more details.
Sigma Phi Jamilson is a dressed up music remixing table, and it represents 2 sleepless days of work. Play up to six instruments simultaniously, selecting from 8-15 loops for each of 7 songs, and on-the-fly you can tinker with channel volumes, positioning, and total pitch. You can even scratch on the turntable!
I was Lead Level Designer for Shotgun Debugger, with a couple of other level designers working with me to complete the game's 8 levels (4 of which I was responsible for individually). I also helped with a few of the game's design decisions, and produced a majority of the sound effects. Most of the project decisions and low-level details were handled by Matt Sarnoff, our project coordinator, writer, lead programmer and interface designer. See the full credits in the included documentation, or via the in-game credits. Note that this game is available for PC, Linux, and Mac OS X.
I handled instruction manual & interface design/implementation, conducted formal playtesting, did all of the programming, worked with my artist on game design, some texture mapping, and brought together/coordinated all assets and team members for this strategic arcade style real-time sea battle game, Battleship 88: Iron Hero. See the full credits in the included documentation, or via the in-game credits displayed in the options menu.
(This is currently my favorite game that I've worked on!)
Fellow game developer Raphael Mun created a 3D engine, and he needed someone to make a basic game demo. After a day of tinkering with 3Dreams (Raphael's engine), this is what I came up with. It's something like Pac-Man, in 3D, with nowhere to hide. Have fun:
Excalibur was a summer effort to create a heavily data-driven codebase with automated resource management, high level input handling... I further refined this package into the school year, and it formed the foundation for Hatchling Smasher and Brad and Roxy's Amazing Downhill. (Most games that I have made since have built upon code from some part of my work with Excalibur.)
I wrote a small book on July 30th, 2005 to pass the time and organize a few thoughts.
It's titled Everything I Need to Know I Learned From Video Games, and it's available as a tiny 36 kb PDF. You're encouraged to download it, read it, and pass it around. I provide this document "as is" without warranty of any kind, either expressed or implied, including, but not limited to, warranty that my writing is any good.
I filled a Technical Game Design internship at Electronic Arts Los Angeles in summer 2005. Naturally, that is where most of my game development time went. MOHA spent this summer on feature exploration and prototyping, the details of which I won't mention since they trace back to the commercial project's roots/practices; read about my Electronic Arts Internship in Summer 2006 for more information.
Hatchling Smasher is the first GCS finished for Fall 2005. Acting as Producer and lone Programmer, I managed a team of 7 game designers, 2 artists, a writer, and a musician to design and build this into a novel puzzle-arcade-style experience. Hatchling Smasher was created in less than one month, so we were on a highly aggressive production schedule throughout the process.
Hatchling Smasher features two player co-op, a variety of powerups and bosses, an original soundtrack (courtesy of Ross "RossDude" Lafond), 4 unlockable modes, and challenging puzzle design... you can find out the rest by giving it a try:
Brad and Roxy's Amazing Downhill is my first time (since Road Rage) making a sports game. In this case, it's extreme skiing... while being chased by a monster. Four of us threw this project together in a matter of weeks, as a late-in-the-semester attempt to keep our imaginations active and our minds busy.
Rocker Madness is a Mega Man-inspired platformer with a musical theme. I served this project as a development director, assistant programmer, and backup artist. I also acted as a game design consultant in the team's formative first few weeks.
"Phi Fighter" Attack, known also by the name SigEp Wars, was one of two games I made for Sigma Phi Epsilon's Carnival Booth in 2006. This was designed as a highly accessible action-arcade game, and we integrated it into a swiveling chair input (built by Bill Lukens); when the player swiveled the chair it turned the on-screen view in sync. This was also my first time writing out to the parallel port in real-time to operate LEDs (with the help of Joe Trapasso), but it allowed action onscreen to activate flashing colored LEDs behind the monitor. I did the game design, programming, sound effects, and most of the 3D model work. I've disabled the LED outputs, and ported control to mouse/keyboard (ASDF keys simulate the chair swivel) so the game is now playable on any home PC.
SigEp Trooper Trivia was the second game I developed for the 2006 Sigma Phi Epsilon Booth. This is a four-difficulty trivia game, where the player is interrogated on Star Wars history by a fully animated 3D storm trooper. I programmed, designed, and created most of the content for this game, including the 3D models/animation. The major parts that weren't mine include voice acting (Alan Katz & Tim Dimond), music (Caleb Overman & Vishesh Nandedkar), and picking the questions (Namek Zu'bi & Derrick Steigerwalt). See the in-game credits (wait through the demo loop) for more information.
Eternal Storm was, when it was made, the largest undertaking I had finished. A glimpse at a work-in-progress version of design document should hint at the scale of what we set out to do. Things didn't turn out exactly according to the plan - but fortunately they did turn out for the better.
Eternal Storm is a sequel to Saturn Storm built upon the engine/technology from Battleship 88: Iron Hero, both of which were other GCS projects I produced/programmed in past semesters.
Other GCS members took care of the story writing, vehicle/building graphics, music and half of the level design. We had a team from Full Sail behind the project's audio. I served as producer, programmer, voice actor, (co-)level/game designer, 3D building artist, static 3D cutscene artist, interface designer, and technical writer. Credits are available in the included manual and in-game.
I spent the summer of 2006 back at Electronic Arts Los Angeles, where I enjoyed my second internship as a Technical Game Designer for the Medal of Honor Airborne team.
Tasks that I performed or played a key role in:
Class hierarchy diagramming to assist engineers
Game flow diagramming for directors
HUD design/mock-up/programming
Test maps designed and built for feature testing/tuning
First-pass weapons tuning
Overseeing early version of sky "spectacle" (number and positions of background flak effects, other planes, paratroopers, spotlights)
Engine/tool shortcuts documentation
Data entry for animators
Gameplay spatial standards definition and visual documentation
First distribution proposal for X-Box Live Achievement points
Coauthored and documented default control scheme (for a non-target platform)
Aesthetic iteration and the script implementation for a few key animated in-plane lights
Outside of my internship requirements, I co-planned and drove "Intern Game Night," when we gathered consoles, LAN games, food and a few full-timers for a social night event.
Update from Feb 2007: I have subsequently accepted a full-time position with Electronic Arts Los Angeles, continuing my work there as a Technical Game Designer.
I served as a lead game designer, sound effects composer, and (the only) level designer for Power Monkey. This is one of the few 3D projects I've worked on, and I'm relatively pleased with the results, albeit the level texturing came out a bit funky due to relatively tight engine limitations. It's a time-centric collect-all-the-bananas platformer, so somewhat of a gameplay cross between Super Mario Brothers and Pac-Man. Full credits are available in-game.
I served as the lead game designer and 3D artist for this turn-based military PC game based on Advance Wars dynamics. The game programming was done by peer GCS developer Kent Devillafranca, GCS officer Greg Peng helped as the interface designer/artist, and Sam Chien composed the game's original title music.
To install, simply unzip both zip files to the same folder. Current version: 0.98.
G2 - short for Gehdiun 2 - is a blitz project concept I sketched up in mid-February. The game recently hit first playable, and I'm aiming (aggressively) to pull it together into a completed package in the week following the GDC. Check back mid-March for more updates!
Not all of my projects are directly in software. I also have a strong interest in teaching and helping others.
Past
(Feb 2004) Cofounded the Game Creation Society as a means for undergraduate game developers to network, share knowledge, and support one another throughout team projects. I managed the GCS for the following 3 semesters, after which the organization was transitioned to a set of new officers. Read more about the GCS's latest accomplishments in the "GCS Resume" I put together for the Game Developer's Conference.
(Jan 2006) Taught 3 days of 2 hour game design workshops; each student provided a design doc and received personal feedback.
(Sept 8 - Nov 2, 2006) Created/delivered a series of weekly talks on assorted game industry topics (project management, industry job titles/roles, differences between indie and professional project strategy, applying for videogame internships, etc.).
(Jan 2007) Ran another 3 day workshop on game design; covered misconceptions, techniques, and public perception of the medium.
Present (As of Spring 2007)
Just finished giving a 3 week series of Developer Communications workshops (covering interaction diagrams, design docs, resume presentation, maximizing effectiveness of electronic communication, etc.).
Recently gave a talk on gender issues and videogames, as part of the 2007 Mosaic program at Carnegie Mellon.
Currently providing biweekly one-on-one lessons in game development to 4 talented, passionate CMU undergraduates (all-inclusive; basics of design, programming, art, and project planning). [Update: one student, R Berkowitz, finished a full game - Mission Nutrition!]