It was about 4am when I finally decided to close my laptop and go to sleep for the night. As I lay in bed waiting to fall asleep, I let my mind drift to how I should to proceed with dabbling in the world of 3D game engines. As I thought, I came to a realization; I realized that I was falling back into my greatest flaw: sidetracking. Whenever I start on a personal project, I spend 90% of my time attempting to get naming just perfect, or shaving of a couple milliseconds from render or loop time, or restructuring the whole of the engine to make it more organized, at least in my eyes. While this may lead to an efficient and organized program, more often than not it also leads to a half finished one.

A thought came to me: If there is one thing in this world I love doing, it is programming games. After accepting that as a fact, I realized that the construction of my engine does not have to be a fast process and I don’t have to get it done before I can begin programming games with it. Instead of programming the engine so that I can make games, I’m going to start programming games to make the engine. In other words, from now on I plan to create a game using my unfinished engine, but I will focus wholly on the game. As I create the game, I plan to save parts of it which I deem useful and dynamic and incorporate these parts into my engine. By building games, I will build upon the engine, and by the time I have a few simple games out, the engine should be on its way to greatness!

« »