Cellular Automata (2017)

For a class project I created my own variation of cellular automata with JavaScript, initially in 2D and then visualized in 3D with WebGL.
The tile colors are meant to represent things such as forests, fields, wildlife, civilization and such.

View 2D Cellular Automata

View 3D Cellular Automata (Download Source)

Retro (2015)


This was another college homework assignment, created in Processing. For this we had to recreate an asteroids-like game to test our knowledge of vectors. There were some pretty tight restraints on what we had to make gameplay-wise, so I decided to try to have fun with the graphical side of it with shaders.

Download (Windows Only)
Download includes source code

Sandbox Zombies (2015 - present)

Sandbox Zombies

Sandbox Zombies is a god game where you can place a variety of units with a variety of powers and weapons and watch them fight to the death.

I built this from the ground up in native Android with OpenGL, then "ported" it to LibGDX and released on iOS.

It has 500,000 downloads on Android with a solid 4.4 rating.

Click here get it on Android

Click here to get it on iOS

Deep (2015)


Developed in Processing for a college homework assignment, we had to create a scene with a moving character and had to use a few forms of random number generation. This was my result. I used Perlin noise for the ground and reeds, guassian for the fish and bubbles, and added a simple post processing shader to give a bit of a wavy underwater feel.

Download (Windows Only)
Download includes source code



Polterspook (2015)

Polterspook preview

Developed in Monogame, Polterspook was a group project for class in which my group and I went above and beyond the requirements to make a solid, fun, polished game.

It's an asymmetrical 4v1 multiplayer game. 4 Players use controllers to control heroes trying to fight their way through an endless haunted house, while a fifth player takes the role of a poltergeist, spawning enemies strategically to thwart the players.

Download (Windows Only)

For the level generation, the levels are generated in chunks of pre-determined terrain structures we called "nodes." We made a tool to create those easily:

Download Node Editor (Windows Only)