It's time to show off my big project of the past two years.

This is Gimbal. Players build ships from pieces, fly them, and blow up other players' ships. It's top down 2D to keep game mechanics simple. Wide open maps. Newtonian physics with aerodynamics.

Rewind a couple years, and this is the game I wanted to play and wished existed. The end result is pretty close to my original vision. It was awesome to actually play an intense game against real people for the first time.



Tech Stuff...

APIs
C# codebase
XNA for sound/graphics/input
DirectX for gamepad support
Lidgren for UDP networking

Tools
Visual Studio 2008 is my IDE
Paint Shop Pro 7 for art
Audacity for sound
Reaper for music
Lightworks for video editing

Some cool stuff...

Per-Pixel collision detection, optimized with bounding circles. All the parts of a ship affect the physics and handling.


Motion blur on particle effects.


One aspect of the component-based physics engine: Missiles physically leave the launcher when fired, and free up some weight and drag on the parent ship.


Client-Server multiplayer network model. Clients send their input changes (deltas), and the server runs the simulation. Server sends regular vehicle state updates to the clients.

The physics engine is multithreaded and runs on N logical processors.

There are more cool programming tricks in this game. I can speak to any part you are interested in.



Anyway, check it out if you want. You can see pretty much everything in the demo that I recently launched (at www.gimbalgame.com).