Cassini Division

cassini_blue_ship

Cassini Blue Ship

The Cassini Division is a multiplayer 3D game set in the rings of Saturn. Each player pilots a uniquely colored drone and attempts to seek and destroy the other players with their laser and missiles. What makes the game extra challenging is that all the physics are realistic, so when you fire your thrusters forward, you don’t stop until you fire thrusters in reverse which makes for some tricky maneuvering in an asteroid field!
This game was really fun to make and it helped that I worked with three other very talented developers who were also excited about it. We came up with the idea ourselves and decided to implement it all from open source so that we could enter it into a game festival competition (which required open source entries). We chose Crystal Space 3D because it provided libraries for graphics, input, GUI, audio, and physics. They had some network options too, but we decided to make our own implementation from scratch.  We used 3D Studio Max for our modeling and texturing, and a custom exporter to get our models into the right format for Crystal Space. I had a lot of fun creating the pods, asteroids and the space station. For fun I made tunnels in the large asteroid the space station was on, and we worked it into our game as a recharging station to fill up on health and energy.
Our biggest challenge was with the network code.  We had to play on a LAN with fast connection speeds for the game to not have visible lag. We also had to overcome large polygon counts and low FPS with a LOD system to bring down the number of asteroids the game had to draw. Every cluster of asteroids was randomly set at the beginning of the game, but if we did it over again, I’m sure I’d implement a cache system to add/remove asteroids dynamically like a terrain management system.