Cassini Division

Blue Pod In Asteroid Field
url:
http://wearenice.com/cs4455
my role:
programmer, modeler, level designer, texture artist, animator, game designer
tags:
C++, Visual Studio, 3DSMax, Photoshop, Opcode/ODE, CrystalSpace 3D, CVS
image gallery
video trailer


Cassini Chase
Green Laser Firing
Server Menu GUI

*NOTE* if you download the game be sure to also get the playtest upgrade which fixes some issues.

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 in one download you get the tools to do all the graphics, input querying, GUI, audio, and physics/collision detection. They had some network options too, but we decided to make our own implementation from scratch. I can't say enough good things about Crystal Space 3D - it's probably the fastest way to get a simple 3D game up and running, and there is a large community with plenty of howtos and tutorials to really accelerate your development. We used 3D Studio Max for our modeling and texturing, and then used 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 into the large asteroid that the space station was on, and we worked it into our game as a recharging station to fill up on health and energy during the game.

Our biggest challenge was with the network code, and we had to play the game on a LAN with a decent connection speed for the game not to have visible input lag. We also had to overcome large polygon counts and low fps with an 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, and if we did it over again, I'm sure I'd implement a cache system to add/remove asteroids dynamically like a terrain managing system.

You need the free Adobe Flash player to view this content.