Titanfall is a First Person Shooter that features acrobatic, double-jumping, wall-running Pilots and giant mechanized robots called Titans. Players start off on the ground as Pilots and earn credit towards their own Titan as the match progresses. The Titans are summoned out of orbit and come slamming down onto the battlefield through the titular Titanfall.

As a designer at Respawn Entertainment, I helped design and implement in script many core gameplay systems:
- Pilot Melee (Jump Kick, Neck Snap abilities)
- Titan Melee (Titan Punch, Titan Termination abilities)
- Pilot Rodeo
- Titan Dome Shield
- Pre-match Dropship Insertion sequence
- Post-match Dropship Evacuation sequence

One of the goals of Titanfall was to bring a more cinematic experience (akin to what you'd normally find in a single-player campaign) to online multiplayer. To that end, I also helped script:

- Angel City and Fracture E3 demo level-specific cinematic scripting
- Hero character Visual Display Unit announcement system (Sara telling you your Titan is ready, etc )
- Titan OS Announcements
- AI Grunt Chatter system
- Music system

You can see an in-game demonstration of many of the systems I worked on in the following trailer for Angel City, made for Gamescom 2012. It also features Angel City, one of the levels I helped script:

Post-launch, we've also committed to supporting Titanfall with constant updates. In addition to general bug-fixes, I was chiefly responsible for the new game modes, Marked For Death and Wingman Last Titan Standing, as well as the Titan OS Voice customization packs.

Titanfall is available on XBox One, XBox 360 and PC.


Crystalline is a First Person Puzzle-Platformer which features a pair of force-beams, one which propels the player around the environment, and one which attracts objects towards the player. Players will use these powers to sneak by enemy robots, smash turrets against the walls, rip doors off hinges, and solve engaging puzzles.

Crystalline features a task-based engine created from scratch, Bullet Physics to power realistic interaction with the environment, usage of Google Sketchup as a level editor, and complex AI that actively seeks out and chases the player. The Crystalline engine also features fully functional Kinect controls.

Click here to download Crystalline from Digipen's servers (Note that this version does not have Kinect enabled, see note below for more information)

Crystalline is my second year game project at DigiPen Institute of Technology, and is shipped in May 2012. It is made by Team Awesome Possum, a group of second year Masters' students as programmers joined with several artists.

Team Awesome Possum is comprised of:
John Calsbeek: Tech Director, Graphics Programmer
Michael Myers: Physics Programmer
Fanny Paola Vadillo Herrera: AI Programmer
John Yednock: Tools Programmer
Chin Xiang Chong: Designer, Producer, Gameplay programmer
Yi Liang Siew: Artist
Erik Miles: Artist
Ian Hampton: Additional art assests
Jeremy Kings: Music

Kinect version:
Although the shipped version of Crystalline supports Kinect controls, we made the decision to not include them in the final product. There are several reasons for this, but the main ones are:
1. Noticeable control input latency, especially on laptops/older computers.
2. It became tiring after about 5 minutes of waving your hands around.
3. Controls were less precise than mouse/keyboard controls, and made the later levels more frustrating than fun.

However, if you're interested to try it out, I've made the Kinect enabled version of Crystalline available for download here.

Note that you'll also need Microsoft's Kinect for Windows SDK Beta Version 2 installed. At the time of developing Crystalline, the official Kinect for Windows SDK had not been fully released, hence we used the Version 2 Beta. We also developed with the Xbox 360 Kinect plugged into a PC, so we can't guarantee that the PC version will work.

Adaptive Resonance Theory-based Recommendation System

This is my graduate project for my Artificial Intelligence class at Digipen. It uses Adaptive Resonance Theory (ART) to create a recommendation system. Specifically, in this case, a survey was created with a list of 20 chocolates, and respondents were asked to rate each chocolate from 0-10, 0 meaning never tried, 1 meaning tried but disliked, and 10 being tried and liked a lot. The recommendation system takes the survey data, clusters users with similar chocolate tastes together, and tries to make a recommendation to users for chocolates that other people with similar tastes have liked.

The implementation itself is based on M Tim Jones' chapter on Adaptive Resonance Theory in AI Application Programming from Charles River Media. It does however have 2 specific enhancements: the ability to cope with non-negative integral vectors as input (as opposed to just binary vectors) and the ability to group people into hyper-clusters. Although this system in particular is meant to recommend chocolates to respondents of a survey, the techniques and code involved are generic enough that it should be applicable towards other uses.

Click here to download the source for Adaptive Resonance Theory-based Recommendation System. The code is written in C#

Kinect Gesture Recognition

This is a demonstration for Kinect gesture recognition using a Dynamic Time Warping algorithm. For my full-year game project at Digipen, I'm currently planning on integrating Kinect controls, so this is an important proof-of-concept to see what can be done.

The framework is heavily modified from its original source provided by Rhemyst and Rymix from http://kinectdtw.codeplex.com . Specifically, I've upgraded the functionality of the code to be able to recognize gestures in 3D (previously only limited to 2D), and also to specify particular joints to be used when recording gestures. In addition, I've also greatly increased the efficiency of the core DTW algorithm by rewriting the loops such that unnecessary operations like deep copying, then reversing the input sequences are now unnecessary.

Choosing resolution to be 480p and full-screening it is highly recommended!

Change log:
31 October 2011:
- Changed format of gesture file (Removed the "@" sign from the gesture name. We now use "@" in a line by itself to denote that the following line is the name of the gesture).
- Significantly improved efficiency of DTW by rewriting the loops that do the calculation. We no longer need to reverse the input, nor deep copy it when entering the DTW function. Apparently I was not thinking too hard when I blindly copied what the original source was doing :P This will probably be the final update I have for this project.

26 September 2011: Initial Upload

Click here to download the source for Kinect Gesture recognition. The code is written in C#, and requires:
Windows 7
Kinect SDK
Visual Studio 2010
XNA Framework (Only because I am too lazy to write my own Vector class! :P)
Decently fast computer


Elsia is the first game I worked on. Created from August 2005 - December 2005 as part of the CIS300 course at Cornell, Elsia is a 2D platformer that features asymmetric cooperative gameplay. One player controls the main character Spike via the keyboard, and another controls the fairy character Friday through the mouse.

I served as the Team Lead and Designer for the game, which meant my duties were designing the game mechanics, levels, and managing the production of the game by setting and adjusting milestones, dealing with team conflicts, etc. I didn't actually do any coding for the game as I was already handling 2 other programming courses that semester, but that allowed me to concentrate more on the design and production issues in developing a game. It is interesting to see the contrast in level design between Elsia and my later game, Leshy. Elsia has the honor of being selected as a highlighted game for the Game Design Initiative at Cornell (GDIAC)

Elsia was made by:
Jeremy Awon: Tech Lead
Nolan Leung: Programmer
Eric Tobis: Programmer
Nate Burba: Programmer
Brenda Chen: Artist
Chin Xiang Chong: Team Lead, Designer

Click here to download the executable for Elsia
Please Note: Unfortunately, the game was written with a dependency on DirectDraw, which is now deprecated. If you install an old version of DirectX (9.0c, click here to download) the game should work fine, otherwise it is likely that the game will not work for you, especially if you're running Windows 7 and have the latest DirectX drivers installed.


Leshy (former title: Quicksilver Blaze) is a 3D 3rd person platformer, where you play a ball with the ability to grow and shrink. It was developed as a Master's game project at Digipen over January - May 2011 by Team Radioactive Dodos. Leshy was nominated as a Finalist in the 2012 Indie Propeller Awards in the categories of Best Design, Best Audio and Technical Excellence. Leshy was also awarded Best Master's Technology and Best Master's Game in the 2011 Digipen Game Awards.

I am the Designer of the team, which means my responsibilities are chiefly in design of levels, gameplay mechanics, and general feel of the game. In addition to design, my programming contributions to the game so far have been implementing the behavior for environmental objects such as checkpoints and moving platforms/objects, level editor functionality, the HUD, the 2 time attack modes and general bug fixes.

Team Radioactive Dodos are:
Fanny Paola Vadillo Herrera - Producer
Malte Skarupke - Technical Lead
Andrew Friedland - Physics Lead
Chin Xiang Chong - Designer

September 25 2011 - Update to Version 1.21
1. Minor graphical and difficulty tweaks.

September 03 2011 - Update to Version 1.2
1. Some tweaks to level in light of PAX Playtesting. Difficulty of jumping set-pieces was lowered, some extra check points added.
2. Fixed springs playing sounds when they were not supposed to.

Aug 12 2011 - Update to Version 1.1.3
Final build before PAX Playtesting!
Added extra diagnostic checks: warning message will show if OpenGL drivers are not up to date/graphics card cannot handle Leshy.

May 29 2011 - Update to Version 1.1.2
1. Slight adjustments to level
2. Added missing sound effect for old style derez zones.

May 28 2011 - Update to Version 1.1.1
1. Slight adjustments to level
2. Arrow no longer changes color when reaching advanced area

May 26 2011 - Update to Version 1.1.
1. 2 new set pieces in level, slight adjustment of some previous set pieces.
2. Cut down loading time in half
3. Use Windows' common documents folder instead of user's personal documents folder.
4. Miscellaneous behind-the-scenes engine improvements.

April 26 2011 - Initial Release

Click here to download the installer for Leshy Source code for the game is available on request for purposes of code samples for employment!