Blogs

September 2025 Update

The bad news upfront: I once more failed to deliver the geoscape experience. There are a handful of reasons for this.

First of all, I made the mistake of buying MegaBonk. I’m a bit of a sucker for games likes Vampyre Survivors, and this one hits the same grind and addictivness.

Secondly, the Windows 10 deprecation and subsequent switch to Linux. This took some time away that I wanted to spend on game development, as I had to not just re-setup my Windows workstation to run Linux, but also to adapt the current code to work on this new OS. This is not all bad, though, because cross-platform support was something I wanted to have anyway.

Read more →

October 10, 2025

Switching to Linux

The last week I spent a lot of time switching my Windows development machine over to Linux. Microsoft is ending support, and arbitrarily decided that my CPU isn’t suitable for Windows 11. So this was kind of a necessity. Long story short, I have switched to Kubuntu, a Linux Desktop envrionment that I have used in the past. And yes, it can also run games! The ones I play the most perform surprisingly well through Steam with Proton.

Read more →

September 28, 2025

August 2025 Update

Another month has passed. As mentioned in the July update, the goal was to recreate the class Geoscape view from the original X-Com game. So, what’s the status with that? Well, it’s unfortunately not done. There are a few reasons for this: the weather here in Iceland was surprisingly good, so more time was spent enjoying it before the inevitable harsh and dark winter returns. Also, implementing mouse picking and fixing some issues with the skybox took a bit longer than expected.

Read more →

September 5, 2025

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.

Read more →

August 6, 2025

Project layout

Every non-trivial project benefits from a bit of organization. One aspect of this is the layout of the project directory.

Read more →

June 26, 2025

Choosing open-source libraries for game development

At the beginning of each project there are a lot of decisions to be made. For example, one of the decisions for Z-Com was to not use an existing game engine like Godot or Unreal. Instead, I want to gain experience with various cross-platform open-source libraries.

Read more →

June 22, 2025

Integrating Clang with vcpkg

One major benefit of using a package manager like vcpkg is that it automatically builds all your dependencies with a compiler of your choice, as long as it knows about the compiler. In case of vcpkg, the finer details of this process are managed through a mechanism called triplets. Out of the box vcpkg ships with triplets for many different compilers and platforms. However, unfortunately there is no such triplet available for using clang on Windows.

Read more →

June 17, 2025

Setting up the development environment

One of my goals for this project is to build it with open-source libraries:

  1. Gain experience with a variety of open-source libraries for cross-platform development.

Another goal is to practice my skills in modern C++:

  1. Have a project with which I can practice more modern C++.

Both of these goals pose some interesting constraints on the development environment.

Read more →

June 16, 2025

And so it begins

Welcome to the first Z-Com dev blog!

Today marks the day this project takes off. As stated on the about page, this is a hobby project, so I am not sure how long it’s going to take to finish it.

I am also not sure how exactly this blog is going to look. But we all have to start somewhere, and so this will have to do as the first post.

Read more →

June 15, 2025