Sank Yang
CPE471 Final Project


My project is a basic third person view game. The user gets to move a character around while the camera follows the the character. The user interaction with npcs is a distance calculated unit collision. When the player collides with a unit, it disappears and the player may potentially get a weapon upgrade.


Controls for my game are the "wasd" movement keys. Hitting "space" animates the character to swing his weapon. Holding left click while move the mouse allows the user to rotate around the player horizontally. Similarly, holding the right click while moving the mouse allows the user to rotate around the player vertically. Hitting "r" resets the position of the rotations around the player and the angle of the camera. Rotation through the possible weapons are the numbers 1-3 keys.


Personally, this game could have been much better if I had more time. I would of liked to get texture mapping implemented along with a day-night cycle, a skybox, and a spot light flashlight. Overall though, I learned a lot more about OpenGL's camera system for the third person view, unit collision, and hierarchical modeling. I would say the camera was the hardest to implement into this program because of all the polar coordinates I needed to calculate to get the correct rotations. I also had to be careful with which variables were in radians and which were in degrees. This caused me to have many bugs in my camera system until I finally figured it out.



GLFW Inputs
Unit Collision Tutorial
OpenGL Youtube Tutorials