Slugs was developed in 2008 as university project for "Interactive virtual environments and videogames"
with my friends Angelo Cafaro and Giannicola Scarpa.
We used OGRE 3D and the PhysX library (before Nvidia acquired it from Ageia - it was cutting edge stuff!),
through the NxOgre binding.
It was probably the university project I spent more time on, but also the one where I had the most fun.
We worked in all day programming sessions at the university,
XP style, and when we couldn't meet we gave each other tasks and synced on SVN.
The last day before presenting the game (after months of part time work),
we left university around 10.30 p.m, after a long and effective bug-fixing day.
Our friend Mara helped us proving the hilarious voices for the characters, and after that two other awesome friends of mine recorded additional voice packs, including an english one (Silvia and Alessia, to whom I publicly apologize for not having published yet the game including their work).
Due to time constraints, the game has no AI, one single level, just two weapons (bazooka and grenade) and only supports two players for a turn based VS battle done sitting at the same system.
Some screenshots:
A list of features:
- slugs characters are composed by three PhysX-enabled bodies connected by joints
- slugs get damage from explosions and collisions with the enviroment. Also, they can drown
- turn based gameplay, Worms-style
- the UI shows (placing items appropriately according to the current screen resolution)
- the available time for the current turn
- global health bar of the teams
- currently selected weapon
- a map of the level marking slugs positions and the orientation of the currently selected slug
- billboards for character names and health bars
- sophisticated camera behavior
- before shooting, you can switch anytime between a first person camera (for aiming) and a bird-view camera useful to locate enemies and select the active character
- after shooting, the camera follows the action (missiles or bomb positions, enemies flying away after explosions)
- missiles and bombs are PhysX objects thrown with appropriate direction and speed according to user input
- missiles explode on first collision
- bombs bounce around the level and explode when the fuse burns down
- particle effects for smoke, explosions, and water splashes
- level built out of many elements
- terrain island static geometry built from a heightmap
- a skybox and a quad make up sky and water, with proper shaders applied
- PhysX enabled objects (breakable wall, rolling rocks, bridge, rippable cloth with "Slugs" written on)
- funny music and sound effects (found online)
- slugs have lots of dialogue (recorded by us), played appropriately according to gameplay, for example
- when you walk towards an enemy
- when you walk towards a teammate
- when you fail a shot
- when you kill a teammate
- when you kill an enemy
- when someone drowns
- when a turn changes