One class I took in College was called Game Architecture. Throughout this class,
slowly created our own Game Engine.
I started off by learning how to display an image to the screen. From there, I
moved that code into a Sprite class. After that, Players and Enemies both need sprites,
so I made classes for them as well as any other needed information. Over time, I slowly
built up many features like:
My final project for this class was to create a game. But the catch was, I had to swap out the existing graphics library for a different one. In theory, If I have build up my engine correctly, this should be a simple swap. For the most part, swapping over from Allegro to SFML was easy. I spent quite a bit of time in the documentation reading about what information SFML needed to draw sprites on the screen.