Welcome to my coding page
I started out with ANSI C (K&R second edition) but the newer code is usually in ISO C++. Straight C is still a pretty useful language for smaller demos and embedded microcontroller projects. I tend to use C++ when having the STL and the Boost library available would make the project much easier.
I usually use a ZLIB-like license but some source is released under GPL v2.
Projects In The Works...
Gravity Blocks Game 2007-2008
[50% complete] Late 2007 I took my Ogre3D + Bullet Physics framework and started building a 3D game around it. My goal is to build a 3D platform puzzle game.
Even with incredibly powerful libraries like Bullet Physics and Ogre, a 3D game is difficult to do right. My largest hurdle right now is finishing off a robust character controller. Everything else is pretty much done and working.
The parts that are finished include a 3D-space mouse object picking/selection system, game level & scene loading, game scoring system with unlockables and achievements, object collisions, ray<->object intersections (for beams and projectiles), a game state manager, useable 3rd person over-the-shoulder follow camera (needs improvement), moving platforms, 3D game effect triggers and trigger areas, a basic in-game GUI, and of course some particle effects.
Playable level demo release estimate: Jan. 2009
2D Gravity Game
[50% complete] This game is similar to thrust in some ways. It's 2D, you fly a ship, and their is gravity and objects to avoid.
I wrote the first prototype in ANSI C with SDL sometime in 2004. It worked and looked decent with 32-bit color and alpha blending. I never really finished it.
My plan now is to ditch most of my custom code and switch to C++ using Box2D physics and GLFW (OpenGL toolkit). I'll use PortAudio for the sound. It's definately on my to-do list sometime before 2009.
Finished Projects
Old Coding from 1990's
This is a collection of x86 assembly, ANSI C, HP48G, and TCL/Tk code I wrote in the early 1990's. Between 2005 and 2007 I reworked most of the code into cross-platform ISO-1990 C with graphic and interface support from SDL.
Mini-LD #1 Compo Entry
DOWNLOAD Windows version
DOWNLOAD Linux version
I entered an informal game coding competition called Mini-Ludumdare #1 in June 2008. The competition is a challenge to write a game in 48hrs. around a topic or idea given just before the start of the compo. The topic was versus. This is what I came up with. It's a pretty simple game. I wrote it in ISO C using the SDL Library. It compiles on Linux and Windows, and most probably Mac too. It is a 1 screen 2D sprite platform jumping game that pits the player against an AI-controlled milkshake cup with goo blasts and eye lasers. It uses simple SDL surfaces, wave files for sound, and is not OpenGL accelerated. It has a simple game GUI system as well as a high score board which is saved to disk.
Mini-LD #2 Compo Entry
DOWNLOAD Windows version with source
This is my entry for Mini-Ludumdare #2 in July 2008. It's a challenge to write a simple game in 48 hours. It's a pretty simple single-screen sprite game. You fight Lo Pan from Big Trouble In Little China using punches, kicks, and radioactive bullets. Lo Pan is AI-controlled. He jumps around, does some dive attacks, and punches.
I've learned a lot from working through these two mini-LD compos. I'm not all that happy with the entries I was able to produce, but I have a front-line view now of what it takes to be successful at rapid game prototyping. I also collected a decent skeleton framework for future one-off demos; including a sound system, event processor, hi-res timers, texture atlasing, and much more.
Bullet Physics and Ogre3D Tech Demo
DOWNLOAD demo
DOWNLOAD C++ Source
Ogre3D is a C++ Open Source 3D scene graph library. It is a layer above OpenGL (or DirectX). Bullet Physics is a C++ Open Source library for fast 3D collision detection, rigid body, and softbody dynamics. My technology demo brings together a few of the core features of Ogre3D with the collision detection and rigid body physics calculations of Bullet. It is a proof of concept and a base framework which I am using to build 2 simple arcade games for MAC, Linux, and MS Windows systems.
Blur v.4 1995-2008
[FINISHED June 2008] This is probably one of my oldest projects. I was learning x86 assembly with TASM and Turbo C while I wrote the first version sometime in 1994-1995. It was a pretty simple matter when I rewrote it in 2005 to use the SDL library and compile under Linux, Windows, and Mac. Recently I went back and added a bunch of options including collision detection, various screen effects, an intro screen, the ability to change the number of balls, and some major bug fixes in the timer routine.
















