Early Days: Processing and the Geekfeazel

Around the age of 12, I took a game-programming class at a summer camp, which is how coding captured my interest from such a young age. The class was taught in the language Processing, a superset of Java built specifically for graphics and animation.

Being a big gamer at the time, I naturally loved creating my own games. I was only making boxes bounce around a screen and creating a basic “Pong” game, but it was interesting. In my free time I continued to tinker with Processing and eventually got pretty good at it (In fact, I still use it for data & concept visualization). Some Processing sketches can be found here.

Some of my favorite sketches are described below. Most notably, the game Gravity Ball, which I spent way too much time making one summer. Everything in this game is coded from the ground up—including the spinning gravity, bouncing physics, and the for-loop-generated color gradients, glossy overlay, and rounded corners on the buttons. When I made the game, I didn’t want to hardcode each of the 30 levels, so instead I wrote a level-designer (featuring snap-on grid and resizing!) which, once I had a level just how I wanted it, generated code I could copy & paste into the program itself. Self-writing program?

Another Processing sketch, called Physics, I wrote when taking a physics class in high school to help solidify the concepts of the class (friction, projectile motion, springs, angular velocity, gravity, thermodynamics). Pretty straightforward.

If you want to be mesmerized by something trippy, check out Particle Vortex. If you want an Objective-C version compatible with OS X to use as a screensaver (this is what I use for my screensaver), shoot me an email.

Natural Selection...

The title of the article says “Geekfeazel” but what is a Geekfeazel? In my high school biology class, we did this group activity called “Natural Selection with Geekfeazels.” A Geekfeazel is a fictional creature with various characteristics (e.g. big eyes/small eyes, green feathers/red feathers, long neck/short neck). Students would be put into groups of Geekfeazels who shared similar characteristics. The teacher would read off environmental catastrophes and certain groups with useful or harmful traits would die off or flourish. It was basically a demonstration of natural selection.

I was pretty good friends with my biology teacher (shoutout Mr. Wilson), and he knew I liked to code. So I ended up making a program which runs the in-class activity virtually. It has some entertaining features as well, like the Geekfeazel eyes will follow your mouse and they’ll quack when you click them:

At the end it shows you the populations of various Geekfeazel groups after different environmental stimuli occur:

My teacher furnished me with the teacher’s manual and solution set, and I actually published the program on the site “Teachers Pay Teachers”. Every now and then someone will buy it and I’ll get $5! Keeps food on the table, you know?