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

Blocks shot 0Blocks shot 1Blocks shot 2Blocks shot 3Blocks shot 4Blocks shot 5

 

 

 

 

 

 

 

 

 

 

 

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.

Gravity shot 0Gravity shot 1

 

 

 

 

 

 

 

Finished Projects

Old Coding from 1990's

Vector Ball 3This 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

MiniLD #1 ScreenshotDOWNLOAD 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

MiniLD #2 ScreenshotDOWNLOAD 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

Bullet & Ogre Demo 1DOWNLOAD 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

DOWNLOAD (with source)

[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.

Blur v4 shot 0Blur v4 shot 1Blur v4 shot 2Blur v4 shot 3Blur v4 shot 4Blur v4 shot 5Blur v4 shot 6Blur v4 shot 7Blur v4 shot 8