July 2025 Update
The end of July 2025 also marked 6 weeks since I started this project. During this time I made a surprising amount of progress on many – but not all – of my goals:
Gained experience with open source libraries
For starters, I learned that there is no need to learn Vulkan itself. Instead, SDL3 provides a new SDL3_GPU module to
interface with modern GPU APIs. I am sure that there are use cases where more fine-grained control is necessary, but for
my use case SDL3_GPU is sufficient so far.
This was not the only learning around SDL3. For example, SDL3 provides application lifecycle management out of the box.
A lot of practice in modern C++
SDL3 is still a very C-like API, working with a lot of naked pointers that are kind of frowned upon in modern C++.
Therefore, I practiced my C++ skills by creating a few RAII wrappers around SDL3 objects.
Plenty of practice in modern GPU programming
Even though I’m using SDL3_GPU, I still had to learn about many of the components involved in modern GPU programming.
Shaders, pipelines, textures, vertex buffers, pipelines, copy and compute passes, etc. There was, and still is, a lot to
unpack and really memoize. But I’m getting there, and even though I’ve only managed to render a simple, textured sphere
with a skybox, then there’s that.
So, what’s next?
First and foremost, I want to ensure that I keep blogging regularly about my progress. A monthly report sounds like a good start. Second, I want to start turning what I have created so far into more of a game. I have all the components in place to re-create the classic Geoscape view in X-Com, so that shall be my goal for the end of August.