A particle engine written in WebGL that uses shaders to process all particle motion. 200,000 particles are simulated in the browser. 8 shaders provide different animation modes that can be accessed via the number keys.
Beautiful Programming is a collection of generative design experiments made with Processing. I’ve always been fascinated by generative design. At an early age I discovered my grandfather’s old spirograph set in the back corners of a dusty attic. I was amazed at how the combinations of mathematical relationships created different patterns. I’ve since learned how to create these effects using only computer code. What started as a fascination has turned into a life long passion. These sketches are the descendants of the tiny spirograph doodles I made as a boy.
While working at IDEO, I had the great opportunity to help with the NYC launch party for the book “Creative Confidence” by Tom and David Kelly. I built some software using processing that simulated painting with a brush. To generate the colors, images were loaded from Instagram that were tagged with #creativeconfidence. Attendees of the party could sit down and paint pictures from the party. A second computer projected images on the wall that were painted dynamically by a brush simulation particle engine. 10 different effects animated and painted while loading various images of the party.
Colordoge.com is a personal website. It is a place where I created a number of visual experiments in Actionscript 3. The project represents some of my favorite explorations of visual creativity and demonstrates a number of useful dynamic animation techniques. In a way, this site was the precursor to Uzu, as many of the techniques I use for particle engines and animation came from what I learned during these projects.
Johnson Controls hired Colossal Squid Industries to create a new web presence. As part of the site, three games were to be developed to help drive the primary marketing goals – the first game was Coconut Run. In Coconut Run, users can draw their own car and use it to transport coconuts across a challenging terrain. I created the concept, and worked closely with a designer and illustrator, building a robust game that integrated the Box2D physics engine for realistic and fun game play. The game was a viral success, and soon many youtube videos appeared showing off the impressive and hilarious variety of vehicles users had created.
When Scott hired Colossal Squid Industries to build a new web presence, they wanted an interactive web app that would help encourage users to be more “green”. Working with the overall Scott team, I designed and built Little Greenie: a flash-based web app that allows users to choose green promises and plant them as trees in an interactive environment. The engine is a fully realized dynamic genetic plant growing system that contains over a hundred varieties of plants. I created the high variety of plants by having the engine generate random variety, and then choosing the best variations. The entire app content is xml driven and integrates with facebook and twitter.
While working at Pixel, the creative team was tasked with creating a fun web presence for the Ball Park Franks brand. Hunger Land is a top-down driving game used to explore a world of fun surprises. Users drive a number of vehicles across a crazy world containing deserts, swamps, forests, plains, and ice worlds. I created the initial concept and layout, and I worked with an illustrator to create the map for the fictional Hunger Land. I also built the site – including custom AI, a tunable driving engine, and multiple particle engines.
The second game in the Johnson Control’s trilogy is Particle Pro. Particle Pro allows you to take control over the energy use of a home by directing the flow of particles using various tools. The Box2d engine is again used as the base for the physics engine, and a number of tools were created to bounce, funnel, slow, accelerate, and redirect particles. I contributed to the concept and worked with a designer and illustrator to build the final product.