Godzilla Survival Game

Kevin Le's CPE 471 Final Project
Introduction to Computer Graphics, Winter 2015



Overview

My final project is an interactive game where the player attempts to survive as long as possible against an infinite amount of increasingly hard Godzilla waves.
The project's technicals include bounding box collision detection, boids-like flocks, obstacle avoidance, WASD+Mouse camera movement, full phong shading, and randomly generated game data.

Features

Bounding boxes for the Gozillas and buildings were used to detect collision of bullets.
Bullets were destroyed from the scene if there was collision or if the bullets strayed too far off the visible world.

Boids were used to increase game difficulted since the Godzilla's would otherwise run in a straight line towards the player, making them easy to pick off one after another.
Boids helped spread them out to keep them attacking the player at different angles.

WASD+Mouse camera movement is used to aim a 3D modeled rifle at the Godzillas. The rifle is projected in the "first person view" for the player and acts as a crosshair for the game.

Full phong shading of the world where the light slowly shifts to the opposite side as the game progresses through each wave.

Visual scoreboard at the end of the game when you die. Count how many stars are in the sky to see how many waves you lasted.


Technologies Learned and Deepened

Collision detection was the main thing that was done and I feel very comfortable with it now. Matrices, object
transformations and overall 3d geometry were another large part of this project (rotating Godzillas to face player, moving and rotating bullets and checking collision).

Player Controls

Spacebar - Begin Wave
Enter - Restart Game
W - Forward
A - Left Strafe
S - Backwards (slower)
D- Right Strafe
Mouse Control - Camera Control
Mouse Left Click - Fire
Mouse Right Click - Place land mine (you get 5 each time you start a new round with space bar) Q - Move Light (Represented by large star in the sky)
E - Move Light

How To Play

To begin a round, stand in the red circle at the center of the map (where the flag pole is) and press spacebar.

Godzillas will randomly spawn in a radius around you. You are free to go anywhere on the map and use your weapons to take them out before they reach you.

If any one of them gets too close, you die. Use the buildings to your advantage but becareful because the Godzillas can jump over them and surprise you.

The flag pole, flag, and circle are blue when there are Godzillas remaining and turns red when you have killed all Godzillas for the round.

To begin the next round, simply return to to the inside of the red circle and hit spacebar again.

If you die, the camera will elevate and you will be able to count the stars to see how many waves you survived.

Waves become more difficult by reducing the radius in which Godzillas spawn. Once the radius is at a certain threshhold, the Godzillas become faster and faster.

Good luck!


Future

I really wanted to do hierarchical modeling to animate the Godzillas but just could not get it to work in time.
Also, sound would be a huge improve to the game play as it would allow the player to hear where Godzillas are.
Last but not least, gun upgrades and graphical particles for them.