Portfolio of Programming Projects |
|
Spore Creature 2D-fier |
|
An XML "recipe" for every Spore creature is stored on the Spore servers and is publicly accessible via the Spore API. The 2D-fier reads in this XML information and renders animated 2D creatures using Flash in a web browser. |
![]() The 2D creatures are articulated as ragdolls using hierarchy information available in the creature XML. Here are some more 2D-fied creatures: ![]() |
Procedural Texturing and Ambient Occlusion Spore's "baking" technology |
|
Player Driven Texturing
|
|
Filter Chains Real Time Image Processing |
|
Andy Warhol Print for Spore Creatures (compress, threshold, colorize and tiled rendering) Film Noir filter (threshold and mix in noise grain) Oil Paint filter (image space lighting with 3 lights, use "strokes" normal map to distort the scene) Crayon Rendering (Change edge shape using distorter texture and add noise grain)
|
|
Depth of Field |
|
After many iterations and approaches, I was able to develop a depth of field system for Spore that performed well on a wide variety of graphics hardware. I render the scene twice but split it into two parts in each render by offsetting the near and far planes of the viewer. The "far" scene is rendered into a texture, processed for atmospherics and blurring and composited with the "near" scene. |
|
Buddy Browser |
|
![]() |
I developed the Buddy Browser to demonstrate the use of the Spore API. It is a neat little way of browsing Spore content by jumping from user to user through the social network of Spore "buddies". This app took 10 days to make from concept to deployment on Spore.com. |
Creature Battle |
|
![]() |
This is yet another demo app for the Spore API. This one was built entirely in just 1 day! It shows off the Spore creature stat service. |
Word Clouds |
|
This is a work in progress application that fits images and words pixel accurately into a word cloud. You can try the prototype here. Click to add words. ![]() ![]() |
|
Edit Capture GIFs |
|
I wrote all the off-screen capture systems for Spore such as screenshots, thumbnails, super high res renders for marketing etc. One of the coolest captures in Spore is the Edit Capture. Every time a player makes or edits something in Spore, a 36 frame GIF summarizing their creative choices is automatically generated. Below are some examples. Our fans loved this system and made creative uses of it like re-enacting Pong and Tetris! ![]() ![]() ![]() ![]() ![]() ![]() |
|
Panoramic Screenshots |
|
Another cool capture technology I added to Spore is a one button panorama capture tool. The panoramas can then be rendered in a Flash app I developed using Papervision 3D. Here's one such panorama: |
|
Graduate Work at Carnegie Mellon University |
![]() ![]() exe doc exe doc ![]() ![]() exe Unreleased Prototypes!! |
Experimental Gameplay
www.experimentalgameplay.com 1 person
per game |
|
Real Time Graphics:
Cg shaders Made with
OpenGL and Nvidia's Cg shader language. |
![]() zip |
Subdivision
Surfaces Tool: A subdivision surfaces tool with multiple resolution control mesh editing and sharpness features at per vertex, edge and face level. Implemented for Doug James' Advanced Graphics class |
![]() avi |
GodBlaster! |
![]() avi |
The Merry MIDI
Makers: |
|
Panda3D
- Game Engine and Tools We developed a generic level editing toolset for Disney's Panda3D engine featuring editable motion curves, animation blending, particle systems tools etc. As an intern at Disney's Virtual Reality Studio I also had the opportunity to add Cg shader support to the engine. Panda is powerful, well supported and free! Check it out: www.panda3d.com |
![]() zip |
Split-Screen
Water Racing Demo This demo was made for James Kuffner's Game Programming class and demonstrates data driven world-loading, a split screen two player mode and Cg shaders for rendering ocean water. |
![]() zip |
Infinite Terrain
Demo:
|
![]() avi1 avi2 |
Summersend: An independent study exploring the application of improvisational acting to game characters. We built a procedural animated system that modified artist created animations based on properties like the character's status and relationship to other characters. We also implemented a textual conversation system, responses of which drove character animation. This work was further improved upon by Project Improv |
Undergraduate Work at L.D. College of Engineering |
ISRO:
My undergraduate project as an intern at the Indian Space Research Center. A 3D visualization tool for digital elevation models generated from satellite imagery. more |
|
Facial Expression
Synthesis for Entertainment Robots:
|
|
Aerokombat
3D: Pod-racer type game demo... with the "Screaming Engines Expansion Pack" that basically used mic input to drive the pods- the louder you scream, the faster it goes! |
|
![]() wmv |
TrueShare:
An online stock portfolio management software. We tried to make a point by designing a super-slick interface for some rather boring business software. unreleased |
Of
Historical Interest |
|
![]() |
Aerokombat
2D: My first real game.A top-down, 2D, two player aircraft dog-fighting game made in Visual Basic. I made this in high-school. and had the honor of working with the likes of Mr. Rahul Nanavati who did all the sprites... you will now enjoy his work on the latest Madden Football games. screenshots |
Key: |