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.