Battle for Atlantis
From WhiteStar 02
[edit] Description
3D underwater exploration game developed over the course of the whole term. Written in a team with 5 other people. My primary jobs were gameplay programming and physics programming, but I ended up doing some 3D work, some graphics engine work (the frustum culling mostly), the terrain engine and terrain generation, the level and terrain file loaders, etc.
[edit] Gameplay features
- Piloting a submarine, you must find treasures buried in underwater ruins, including sunken ships and the lost city of Atlantis!
- Large underwater seascapes to explore!
- Your submarine has limited oxygen and cargo space. You must return to your boat at the surface to drop off your treasure and fill up your oxygen tanks.
- Your submarine has a full-featured HUD including readouts for damage, oxygen, cargo capacity and speed, as well as a radar to spot treasures from far away.
- Different treasure types, each with a different point value.
- Power-ups that give you an extra boost of speed, refill your oxygen tanks and more!
- Multiplayer enabled. Get the treasure before your opponents do!
[edit] Technical features
- Completely modular graphics engine, entirely shader-driven (PS and VS 2.0+).
- Normal maps, detail maps.
- Distance fog.
- Underwater caustic effect (light patterns created by the waves) using animated textures.
- Blur and bloom shaders written but not used in the final game.
- Particle systems with a variety of forces and particle types.
- Large terrain generated using free tools.
- Physics engine based on ODE with custom wrappers to simplify interface with the game engine.
- Collision detection also based on ODE.
- Sound engine for background music and triggered sound effects.
- Basic network support which allowed two players to compete for treasure. More players could be added simply by editing the level file and adding a new player submarine and home boat.
- Completely data-driven: files describe the level, objects, terrain, etc. and no recompilation is needed to make a new level and play it in the game.
- 3D Studio Max model exporter

