OpenGL Bot Battle Arena
For one of my final projects during my degree, I created a bot battling game using only OpenGL and C++. The game features basic geometry, texturing, lighting, collision physics, AI, and the option of either third-person or first-person control.
This experience taught me more about the 3D rendering pipeline and what is actually going on behind the scenes when compared to full-fledged engines such as Unity or Unreal. For example, the player's position and rotation must be tracked at all times in order to compute the directional movement vector when user input is given. Implementing collision detection and resolution manually also added another layer of complexity and made me appreciate the hand-holding that modern engines offer. I also implemented a toggleable camera view between first and third-person, a state machine based AI bot to battle, and a velocity-based health / damage system for more dynamic gameplay.