OpenGL Football Game
Background:
This Football game was created as part of a practical exercise to apply our C++ and OpenGL knowledge to show understanding and ability to create a basic working game without a game engine.
​
Features:
The game consists of a football that can be shot at targets, after which the ball will have a velocity as well as a rotation, and responds to gravity. The is a rotating skybox as well as some basic lighting, and some basic coded meshes for the walls.
​
Core gameplay requirements were outlined in the project brief, however, the addition of gravity was optional. As well as the displaying of the number of attempts left. The Object-Oriented approach was also a personal project decision.
​
Personal note:
This project allowed me to apply new skills I had learned in C++ to make my code extensible and easily modifiable by using an Object-Oriented approach to the project. All objects in the game are derived from a GameObject class, and different types of objects can be defined. This is essentially a foundation for a very basic game engine.
​
Learned:
Basic fundamentals of a game engine creation.
Gained a lot more knowledge and understanding in the application of Object-Oriented programming, especially revolving around game design.
​
Achieved:
Grade of 95.25%
Code Snippet
The GameObject class was by far the most crucial part of this project, as it allowed me to use many different types of objects that I made for the game, and have them work in a similar fashion. This worked in tandem with the Transform class I made specifically for it, which allowed me to store positional, rotational, and scaling data, as well as easy application of velocity. I learned a lot about OOP (Object-Oriented Programming) while implementing these classes.
This was also the biggest improvement from the first coursework for this module.