In this article, I will take you through the creation of an ECS that focuses on data-locality in C++. I’ll cover ECS-related topics, the architecture, and go over some cool Template-Metaprogramming ideas as well. This article is intended for people who have made a game or two previously, or anyone that’s interested in bettering their C++ skills. I don’t intend this article to be the be-all and end-all of ECS Architecture; what I’ve developed here was enough to suit my immediate needs.
One of the effects I needed for a previous game was creating nebula for outerspace. But as a pixel art game, the nebula needed to look… pixel-artsy?
Error handling in a state-based C API such as OpenGL in C++ can sometimes be a bit of a pain. To help me with my own graphics engine, I created this simple method of wrapping the OpenGL function pointers to report errors as they happen.
When I first set out to do what the title says, I hit so many roadblocks and unforseen problems that it drove me bonkers. But eventually I figured it out. So if you’ve given up trying to work out how to stream ogg files with OpenAL, or if you just need to get it done, …