Portfolio of Programming Projects |
|
Index:
|
|
Word Mess |
|
|
|
|
|
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 XML recipe can be interpreted in different ways to achieve various stylizations. A "coloring book" style is shown below. The 2D-fied creatures can also be painted using a procedural texturing system much like that in Spore. Examples are shown below. This work was presented at SIGGRAPH 2009, "Spore API: Accessing a Unique Database of Player Creativity" |
|
Spore 2D-Fier: Stylization |
|
Spore 2D-Fier: Procedural Painting |
|
Procedural
Texturing and Ambient Occlusion |
|
As
a part of Spore's core engine team I helped deliver our
procedural texturing and asset baking systems
|
|
a)
film noir b)
original c)
watercolor Andy
Warhol Print for
Spore Creatures (compress, threshold, colorize and tiled
rendering) Film
Noir filter
(threshold and mix in noise grain)
|
|
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. The plane at which the split occurs is
dynamically tuned based on camera height on the planet. |
|
I
wrote all the off-screen capture systems for Spore such as
screenshots, thumbnails, super high res renders 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!
|
|
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: |
|
I
pitched this project at Carnegie Mellon University with Kyle
Gabler and Kyle Gray. See experimentalgameplay.com Blackout Bunny
Blaster
Cytoplasm |
Advanced
Graphics course work |
Real
Time Graphics: Cg shaders
|
Subdivision
Surfaces Tool |