Scotty Hoag
Programmer Portfolio
 
scotty.hoag@gmail.com  (209)-298-2622
NES Mug


Misc. Projects for
LCC-6310: The Computer as an Expressive Medium

The projects listed below were written in Processing and made for grad school class assignments. I had to raid a decade-old old hard drive to track these down. Each ZIP file should contain the source code and executable files for Windows, OSX, and Linux. (Ignore the JAVA applets - those don't run on ANYTHING these days.)

Conway's Maze of Life

Create a maze by "painting" a seed onto your map and watch it grow via cellular automation. Then try to find your way to the exit. You can make the path more complicated by putting down waypoints that the solution has to pass through.

Controls
WASD - Move and strafe.
Mouse Click+Drag - Turn, draw on map
Mouse Click - Drop waypoint onto map.

M - Toggle Map

Q - Ascend (Fly)
E - Descend (Fall)
1 - Cycle through solution display modes.

Energy Hog

Watch as "Ball Lightning" floats up from the many energy inefficient states.
The size, speed, and color of the balls is determined by the cost of energy per kilowat hour accross residential, commercial, and industrial sectors of the state.

Controls

WASD - Move and strafe.
Mouse Click+Drag - Turn

Critters

This is an experiment in flocking behavior. Click+drag to place an attractor or detractor and watch the flocking happen.


Controls
Left Drag: Move mouse attractor target.
Right Drag: Move mouse detractor anti-target.

Critters

C
ritters run around hunting for your mouse pointer and avoiding obstacles. Each critter's movement is determined through various forces acting upon them including attractive forces from the target and repellent forces from obstacles and other critters. This results in natural flocking formations.

This is an update of Flocking that uses 3D models. I got tired of using model loader code from other people that didn't work, so I finally bit the bullet and wrote my own OBJ Model Loader for this one.
 
Controls
Left Drag: Move mouse attractor target.
Right Drag: Move mouse detractor anti-target.