by Jacob Bustamante

CPE 471 - Final Project - Winter 2015


No image loaded

BarrelRoll is an airplane shooter game where your goal is to collect barrels, shoot down enemy ships, and not get hit by enemy ships. The game includes two segments of differing plane controls. The first segment includes an on-rails plane mechanic while you collect barrels and shoot down oncoming enemy ships. The second is an all-range mode plane mechanic where you can move freely in 3D space and battle against enemy ship boids. You will lose a barrel if you collide with an enemy ship, so your objective is to shoot down all the boids with the highest number of barrels collected as possible.


Hierarchical Models. The enemy ships are built hierarchically and include animated spinning propellers. The player ship is an obj file with a propeller placed hierarchically on the nose of the plane.

Collision Detection. Collision detection is used to determine if the player bullets hit enemy ships, if the player collected a barrel, and if the player collided with an enemy ship.

Phong Shading. A point light is used with Phong Shading on the objects in the scene.

Boids. The second of the two game segments features enemy ships that move as boids around the scene.

Interactivity. The game features an on-rails segment where the camera is locked a z distance behind the player and the player is allowed to move a bounded amount in the x and y axis. The second segment locks the camera directly behind the player and allows full 3D movement with some y-axis bounds. In both segments the player can do a trademark barrel roll in the clockwise or counter-clockwise direction. The collected barrels animate in somewhat of a 3D infinite sign around the player.


No image loaded
1. The game begins on-rails with oncoming enemy ships and collectable barrels.
No image loaded
2. The next segment begins, freeing the player to move in 3D and begin attacking the enemy boids.
No image loaded
3. The battle ensues.
No image loaded
4. Enemies take three bullets to die. When hit, enemies flash a black and blue color, as seen with the enemy ship near the center of the screen here.
No image loaded
5. Gameplay of the on-rails segment. The player does a barrel roll while maneuvering around enemy ships.
No image loaded
6. Gameplay of the all-range mode battle segment. The player gives chase to the boids, doing multiple barrel rolls while maneuvering through the friendly girraffe necks.