After this, the game idea wouldn’t be touched for another five years. However, it always held a place in my heart as that quirky little puzzle game I made with my brother in High School.
So now back to the end of 2017. I had been working on a project called Const Port for use at my day job and decided to start another game project in C with OpenGL+GLFW as a backbone. After some other experiments I finally started working on a new version of Princess Dungeon Smasher. That first build I mentioned above is essentially a stripped version of Const Port. The platform layer I had built for windows and the general code for handling things like vectors, matrices, rectangles, and other general purpose classes had already been built. In fact I had been programming in C for a long while making various other projects before I started working on Princess Dungeon Smasher again. I wouldn’t call this a game “engine” like Godot or SDL, but it does serve as a backbone and starting point for our project. To a reasonable degree everything in this game has been programmed from scratch by me over a process of a little less than 2 years. There are various reasons for doing it this way, but I will cover that in a later post. Also the inspiration and design of this platform layer comes largely from Handmade Hero which I highly recommend checking out if you haven’t heard of it before.
To get an idea about how much work was being done on the game at various points in the past we will use a simple metric that was built into this code from the beginning. Every time the game was built (successfully or not) I had a python script increment a “build” number. The build number acts as a crude estimate of how many different versions the code went through over a period. The first commit I showed above started at build number 29. And today the build number sits at 13,596. It’s hard to articulate how many builds that is but hopefully we will come to understand it as we walk through various versions along that path. Obviously we don’t have time to go over all 13,000 builds, nor do we have all of them saved in separate commits. We also can’t cover all of the 741 commits that have been made to the game. So I have spent some time and compiled a list of 33 different commits to look at. Each one represents a different time in the game’s development and we will be covering 1 or more of them in each post.