OpenGL Game Engine

This project was made for my 1st year of university (level 4) for the first semester of the module known as Fundamentals of Game and Graphics System Development (FOGGS). We were tasked to create a 3D graphical scene using OpenGL and GLFW.

This was my first ever attempt at creating a 3D scene within OpenGL. Previously, I had only used libraries such as SDL 2 to create 2D games. This 'engine' included collision responses, parent/child objects (world/local space), a skybox, text rendering, and input.

I attempted to create an entire physics engine for this project. This was my very first attempt at implementing physics and it did not work as you would expect. I did however manage to detect collision between two types of colliders (box & circle) as well as respond to such collisions.

  • Input Handling
  • First-person Camera
  • Recreating Meshes
  • Basic Lighting
  • Hierarchical Game Objects (Parent/Child Relationship)
  • Simple Physics Engine
  • Simple ECS
  • Skybox
  • Text Rendering

See the video below for a demonstration of the 3D scene

Learning Outcomes

This project included my first attempt at using OpenGL. I learned how to load in 3D models in form of OBJ files, light up a scene, and overall use a custom engine. Although the engine was not anywhere near close to modern-day technology, it was my first time not using a library or framework. For this project, I used the C++ knowledge that I had learned during semester 1 and used them to create something I can confidently say that I am proud of.

Tools Used

  • OpenGL
  • Microsoft Visual Studio 2019
  • Blender

Contact

Want to get in contact with me?

Email: benjaminnilsson1997@gmail.com

You can also contact me through
social media if preferred.