Insane Games
Socrates Georgio
Chris Leighton
Mark Porterfield
Brandon McHargue
CPE 476 - Final Project
June 9, 2004

Description

Counter Space is a third-person 3D graphics spacecraft fighter simulation game. It uses a client-server architecture, so each individual client is able to receive the necessary information required for multiplayer gameplay. With three choices of spacecraft models (.3ds format) and five weapon choices, the player must choose one spacecraft, two weapons and a team color. Their spacecraft will be the same color as their team. Up to four teams can play at once, each of which must have at least one player. The game also includes asteroids that were created as stationary obstacles that, if collided with, will take off a small amount of energy from the player's shield. Collisions between objects are determined using bounding spheres. Elastic collisions occur when a player's ship collides with another object. In addition to an elastic bouncing off effect, the player's shield glows where it collided. The weapons come in varying powers and speeds which the player must try to balance for their particular style of fighting. Instead of using up ammo, firing weapons takes away from their energy. If a player fires too much, the spacecraft will be unable to shoot until it has time to recharge. The object of the game is to be the last team with at least one ship still standing.

Download Counter Space Source Code
Download Counter Space Windows Executable
README

User Guide


Player Movement

Orientation: The camera is positioned just above the players spacecraft. Mouse movements control the pitch and yaw of the camera as well as the player's craft. There is no need to click and drag, the motion of the mouse is all that is needed.
Speed up: 'w' or 'W'
Slow Down: 's' or 'S'
Strafe Left: 'a' or 'A'
Strafe Right: 'd' or 'D'
Roll CCW: 'q' or 'Q'
Roll CW: 'e' or 'E'

Player Attack

Fire Left Weapon: left mouse click
Fire Right Weapon: right mouse click

Other

Draw Models in Wireframe: F1
Draw Solid Models: F2
Draw Bounding Spheres: HOME
Quit Game: ESC

Highlighted Features

View-frustum Culling
Simple Collision Detection
3DS Model Loading
Billboard Projectiles
Client-Server Multiplayer


Credits

Socrates Georgio: Collision detection, quaternions, vertex shading, view-frustum culling & control scheme.
Chris Leighton: 3D stuff: Model acquisition, asteroids, spacecrafts & texture mapping.
Mark Porterfield: 2D stuff: Billboard projectiles, texture loading, image editing, HUD & menus.
Brandon McHargue: Multiplayer stuff: Server, message passing, etc.


Resources & Links

OpenGL
GameDev
3DCafe
Turbo Squid


Screen Shots

Menu Screen - This player has yet to select a ship, a team and two weapons.








Fire! Fire! Hehe, He. - This player is on the blue team and has just futilely fired a plasma bullet at an asteroid.








Collision 1 - This player is on the red team and has just collided with an asteroid. The ship has just bounced of elastically and its bounding sphere is lit up briefly using vertex shaders.








Collision 2 - This player is on the green team and has just collided with a player on the blue team. The spherical shields on both ships are lit up briefly using vertex shaders.








Trigger Happy - This player is on the blue team and has just fired an energy ball at nothing in particular.