Game engine

A small framework/engine that I'm working on to learn C++.

Project overview

For one of my winter 2023 classes, we had to find a game dev-related subject to explore. As someone that is quite interested by the technical side of things, I decided to learn how to use OpenGL in C++. After around half the semester, we had to set ourselves a new goal, so I decided to flip my OpenGL framework into somewhat a game framework/engine.

My role

For the first half of the semester, I watched The Cherno’s excellent OpenGL serie and also his C++ serie. His teaching style really worked well with me, and it enabled me to quickly get up and running with rendering some polygons and textures on screen, as well as a 3D camera. I also needed to get back on top of my linear algebra, so I watched 3Blue1Brown’s Essence of linear algebra.

For the second half of the semester, I moved to The Cherno’s Game Engine serie, but quickly realized that he did not organize the game engine project in the same way as the OpenGL project. Because of that, I had to reorganize a lot of the project and drop some of the serie’s feature due to time constraints.

Since The Cherno was using Windows and Visual Studio for the whole project, and I was on a MacBook using JetBrain’s CLion, I had to learn CMake. This actually proved to be very helpful and interesting, as it made me learn how the internals of a build system work. It also enabled me to make my project multi-platform quite easily. CMake can be quite a pain, but once you actually know how to use it, it’s definitely not as bad as some people say it is.