Current Projects

Raspberry Pi DMX Light Controller

I've been working on a custom DMX controller to use while on-stage during performances so I can adjust light effects on the fly. I'm using a Raspberry Pi model B+ running Raspbian with software written in Python. I'm using the Open Lighting Architecture service and their Python libraries, and use scripts to start up the OLA service and my program that sends commands based on keystrokes. For convenience while on-stage, I purchased a USB number pad for entering commands, and I've structured the controller around the limited key layout.

I'll post some video soon, but current working features include adding colors by presets, preset lists, and by 9-character RGB values, toggling a strobe effect, toggling intensity phasing between connected lights, a manual intensity impulse button, color interpolating between colors added to the fader list, smooth sine-wave interpolation between intensities/colors, fade speed adjustment, and tap-tempo averaging for applying to intensity pulses.

Planned features will include light configuration Json files to specify channels and groupings, a menu for light groupings to specify what group to apply subsequent commands to, hardware to allow for polling of volume thresholds for applying instructions based on music intensity, and many more preset effects menus.

Java Game Engine

Since the Python engine, I've ported the code and expanded on it with a Java port. I got some demos running in Android on the Ouya game system and on phones using several types of input, including the Ouya controller, bluetooth devices, and touchscreens. I also added support for stereoscopic rendering, so output to a 3D television with HSBS conversion support allows for actual full 3D gaming!

Past Projects

Python Game and Engine

This is a 3d game using Python and OpenGL. It began December 2012 as an excercise to learn Python. The game prompts abstracting code away from the game into the engine, which I will then use to add new games to the repository. My goal is to provide an easy to use game engine and plenty of examples to aspiring game developers. I remember how long it took to begin writing full games, and I know it would be a tremendous help for beginners to see the code for full examples.

The game is a project I started in 2007 (VB6), right before Project: Wallrider (C++). It's a base for a racing game, where track pieces are modular, and can be easily designed (even loaded from files). The modular and scaleable track pieces also inspired my approach to Wallrider. The direction for the game isn't so much as important as the expansion to the Awe+ game engine.