shotgun debugger

Shotgun Debugger is a shoot-em-up game I made with Carnegie Mellon University's Game Creation Society in the spring of 2005. I recently rediscovered the source code, and thought I'd put it back up.

It is a 2D, top-down action game. It is The Future, and your habit of computer network exploration has finally done you in. You are captured and taken to a strange underground complex populated by robot soldiers. Your task is to escape the facility—but the hordes of walking death machines aren't just gonna let you.

Shotgun Debugger is pseudo-3D—while gameplay is strictly two-dimensional, the world is rendered in three dimensions. Worlds are not tile-based, but polygon-based—rooms and hallways can be made to any shape imaginable, allowing for some rather impressive architecture. Features of the game include:


Title screen

Under attack

Stay clear of the kamikaze robots!

Explosions set off chain reactions

The mighty HEPA

Your vision gets pixelated when you take damage

The ricocheting laser is a challenge to handle

It's laser mania!



Click here to download Shotgun Debugger for Mac OS X 10.5 and later. (Intel only) All libraries are included; just drag the .app into your Applications folder and you're set.

The source code is also available. The Xcode project file is included, as well as a simple Makefile for Linux. SDL 1.2, SDL_image, and SDL_mixer are required.

level creation

Shotgun Debugger levels were created in Inkscape, an open-source vector graphics editor, and converted to our level format with a script called svg2vl. If you're interested in creating your own levels for Shotgun Debugger, you can download svg2vl, the level specification documentation, and the original SVG files for all eight levels here. svg2vl requires perl. Levels were created with Inkscape 0.40; newer versions may be incompatible with the script.


Shotgun Debugger was created when I was a freshman in college. I was 19 years old. I was pretty bad at C++ and knew very little OpenGL.

It took roughly five months to complete. I worked one or two nights a week.

At the time, my caffeine of choice was Mountain Dew Amp. I have since learned that energy drinks are evil.

I pulled two notable all-nighters during the course of development. During the first, my video card (a very nice GeForce 6800 if I recall correctly) blew up at 10 AM. I put all the source code on a flash drive and continued to work on a Windows machine in a computer cluster. The second was actually two all-nighters in a row; I was getting Shotgun Debugger ready for the Game Creation Society's showcase at SCS Day 2005. After being awake for nearly 48 hours, I passed out during the talent show.

I had to drop Physics II that semester. Physics and I have never gotten along (as you can tell by the dodgy collision detection.)

My original idea was to make it completely 2D. I resisted making the walls 3D for quite a while, then one day I coded it up, saw how wrong I was, and never looked back. Chris wanted to add textured walls/floors, but I refused because you couldn't visualize textures or specify texture coordinates in our "editor." (Inkscape) I'm glad we kept everything flat-shaded, the look is very unique.

No OpenGL hardware lighting is used. All the colored light effects are precomputed.

We had some pretty interesting programmer art before John made the models, like the Box Quartet.

After my freshman year, I became a normal college kid, and haven't made a complete game since.