This is an open thread. Ask me anything.

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 generally cool stuff...
Per-Pixel collision detection, optimized with bounding circles. All the parts of a ship affect the physics and handling. Ships are treated as rigid bodies, and collisions result in a semi-elastic response. For correct collision response, I calculate normals for all the outer surfaces.

Aerodynamics. Players can mount functional control surfaces to ships. Forces are calculated as a function of air velocity.

Custom GUI engine and widget kit. For typing input, I have to poll the keyboard. I had to implement word wrapping, which was a bit of a bear.

Motion blur on particle effects. This small effect adds a lot to the overall look. For Gimbal, I just stretch the sprites.

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. I use the Lidgren networking library.
The physics engine is multithreaded and runs on N logical processors. I split the work across vehicles in the game world, which do not have direct dependencies on each other. When I calculate collisions, each thread computes a "pair" of possible colliding bodies.
There are more cool programming tricks in this game. I can speak to any part you are interested in.






