There were many issues I had to deal with, compared with Mac and Linux. Clang, CMake, Visual Studio, MinGW, the linker… It seems that a project using C++17, OpenGL and SDL is not exactly on the “happy path” for Windows development in 2020. But what is, anyway?
The game is up and running now. IMGUI is disabled because of some OpenGL compatibility problems. Not sure if this is worth fixing – all the editing is done on a Mac.
After building my new PC, the first thing I tried was to compile the game on Windows. However, Visual Studio was giving me a hard time and I wasn’t in the mood for a fight. Instead I installed Ubuntu and got the game up and running there first, as a stepping stone. That went quite well.
No idea about packaging the game for distribution yet. Are .tar.gz packages still a thing?
After many years of using Macs exclusively, I decided to build a PC.
I wanted to get a Windows machine for development purposes, play a few games and have some fun with the build.
The goal was to get a computer that would last a few years while keeping the budget reasonable. I started with a (hopefuly) future-proof motherboard and a solid CPU. Got a used GPU and reused a few older parts. Here’s what I ended up with:
There were no problems with the hardware, everything worked the first time. Phew!
The machine wasn’t very loud but I could hear the CPU fan constantly spinning up and down, reacting to small temperature changes. Very annoying. I adjusted the fan curves directly in BIOS. The fans now stay at the lowest possible speed until the temperature gets a bit higher. Turns out it never does! Even under sustained load the CPU only reaches about 45℃.
After installing Windows I used Chocolatey to install most 3rd party software and Steam to get some games.
Next step is adding another drive and installing Ubuntu on it. I’m not very much into Linux but Devastro 2 is already using SDL so I figured I might as well give it a try.
A Hackintosh is also an option but it’s low priority because I’m going to keep using my iMac for work anyway. It is a bit slower but also dead silent, and the 5K screen is hard to beat.
This week I took a dive into the Assets folder and organized it.
Up until now it had a flat structure and it was fine. But as I kept adding more new assets it became hard to keep track of everything.
First I grouped the obvious things, more or less at random. After a while I was able to see the bigger picture: how many of which assets there were and their relations. Based on that I designed a new folder structure and sorted the rest.
fx / particles /
fx / explosions /
fx / water / bubbles /
ui / 9patch /
ui / cursors /
ui / hud /
tiles / set1 /
tiles / set2 /
Many filenames didn’t make any sense so I decided on a new naming scheme which should be simple enough to maintain and easy to understand later.
It was a good opportunity to get rid of all the leftovers from Superforce which were used to quickly bootstrap the new project but weren’t referenced anymore.
Now I’m quite confident that I can manage all the new assets quickly and stay on top of things.
I’ve been thinking about what to focus on to finish the game. I’m going to skip many of the assets I had originally planned and do just the essentials. There are other areas of the game that need my attention.
I’ve spent a lot of time on this project already. There have been big pauses and ups and downs. That’s fine. I learned a lot. But there are other projects I’d like to do next, so I need to make this one… finite.
I started playing around with MagicaVoxel a while ago. I’m not going to use it for Devastro 2 but I can imagine some city simulation game using graphics made this way: tiny & cute with great lighting. It constrains things in a way I would be happy to work with.
My moodboard is filled with beautiful artworks and techniques. To make my own rocks I started by refreshing my sculpting and texture painting skills in Blender. Time really flies when I’m playing with this stuff. It’s a lof fun.
However I needed to make a full range of shapes and formations in reasonable time. So I started over with procedural shapes, tweaked them using simple displacement-based edits and focused on making everything fit into the game nicely. Quite happy with the result.
The trees took a long time to get right. I used the Modular Tree Addon for the trunks. I tried using hair particle effects to grow leaves like I did for the corn & wheat but it didn’t look right. So I took a small patch of leaves and stamped it all over the basic shape by using the shrinkwrap modifier. Laborious, yes, but also precise and 100% under my control.