Game Programming, Engine Programming, Tools Programming

C++ Game Engine

A custom game engine made with SDL

Project Description:

Over the course of a Game Engines class, a couple classmates and I created a functional 2D game engine in C++ using SDL as a framework. The project comes with a couple demo games (Breakout, a simple platformer, and a Nuclear Throne clone) and a level editor that functions for each game. It is based on an Entity Component system and has resource sharing, profiling, localization, and a custom math and physics library.

Personal Contributions

  • Created the visual level editor.
  • Wrote much of the collision detection and physics library
  • Handled much of the physics and collisions specific to the example games.

Reflection

Game Engines was one of my favorite classes I've taken (I actually read the whole book!). Lower level systems are my favorite things to work with and design so getting to implement the majority of a game engine was a lot of fun. Once we got to the point that our engine was mostly working I moved over to making our level editor since I wanted to work on some more tools. I really appreciate this project looking back as it gave me a good idea of the systems in place in the engines that I use.

January-April 2020