← Back to Home

Scott Makes a Game Engine

Published on

It happened. It finally happened. I'm building my own custom game engine.

"Oh no, [Scott] has entered the "I'm gonna build my own engine" phase of game dev" - Coworker via Slack

This has been something I have scoffed at in the past. "Seems like a waste of time." "Only smart people can build custom game engines." "I'm not smart enough." Turns out you don't need to be crazy smart to do this! I'm building a custom game engine in C++, and I just started relearning C++ at the same time I began to make the game engine! (Could be a mistake, but shrug.)

Why am I doing this? Well, I loved working in Unity for almost ten years, and then recently, Unity imploded itself. So, I migrated to Godot, which lasted a few weeks before my frustrations with it reached a boiling point.

Then, during the final meetup for the Boston Unity Group, I had a strange thought to check out C++ so I could learn Unreal. While looking into it, I ran across SDL, and that was that.

So, for the past month, I have been building a minimal game engine using C++ and SDL. I've made significant progress with image, shape, and text rendering, lifecycle loops, input handling, static asset loading, adding and destroying objects, and other minor features.

I aim to write about my successes and struggles in getting this custom game engine to an initial release. While I don't expect anyone to use this engine in production, I am looking for feedback to help improve my game engine development and C++ knowledge.