Or: How i refactored my game engine to not give me conniptions
about the engine
My engine started as a rendering engine written in DirectX11 that I made as part of a course in graphics programming at The Game Assembly which grew to be something larger over time. It has a component system allowing creation of modular game objects, loading in scenes from file, as well as handling audio, among other features. During my second year at the school I used it to facilitate many of the other courses’ assignments like AI Behaviour and Networking.

While I have tried to separate the code written for assignments from the main engine code, it has naturally led to some shoddy implementations of various engine features and because of lack of time and knowledge, things such as software architecture and performance have suffered. Therefore these two topics will take precedence for my first few devlogs.
Why am i writing a devlog
I’ve long been interested in documenting my journey into game and software development. Writing is something I enjoy doing and want to get better at so I figured I’d give it a shot. I’m hoping that my posts will give more insight into how I think when it comes to programming and developing software, and while I’m still learning and honing my craft, maybe in the future I’ll be able to look back at this and see how much I’ve learned.
I’m unsure of how often or for how long I will be posting entries to this devlog, but I have some free time currently before starting my internship and figured I would put it to use.
my plans for the engine
My goals for this engine is really just to learn and be able to create some cool projects in it, not necessarily to make games.
I’ve been interested in doing some procedural generation, rendering of larger worlds, as well as dipping my toes into physics programming. These are however some relatively lofty goals that require a solid foundation to stand on if we are to do it in real time, which is why I’m going to need to start out by taking an axe to my engine and restructuring big parts of it.
If you’re interested in the code you can check out the GitHub repo.
