It has been a long time since Hexterminate has had a release, and given the size of the changes I think it justifies a 2.0 release! I’ve added native Linux support, done an overhaul of the resources and energy systems, as well as many other improvements.
SOLACE-10 #> Posts
Despite our best intentions, our programs will likely crash at one point or another. If this has happened on your own machine then you have your debugger at hand, but if it has happened on a user’s device this becomes more problematic.
A solution for this is crash reporting: a crash dump which is sent to you for debugging, as well as any relevant log files.
One of the issues I’ve regularly had during game development is to find a font that has the exact style I am looking for but is missing variants, e.g. comes in Regular but not Bold.
While working on Hyperscape, I’ve found Arcon and after a few tests, decided it looked good across multiple user interface elements and would make for a solid base font in the game.
However, this font only comes in the Regular weight.
Rather than just discarding the font, I thought I’d try to create a Bold variant. I must say I had expected the process of making a Bold variant to be completely beyond my ability: I’m a programmer after all, and the idea of editing each individual glyph did not appeal.
No matter what game we are making, robust logging is essential. It is an essential tool for the developer (and for more technical players), assisting both during development and after a game is release.
My custom C++ engine, Genesis, has had a logging from the earliest days, but it has received some upgrades recently to make it easier to use. I thought it might be helpful to other developers to write an article about the considerations which go into writing such a system, as well as share some code snippets.
With holidays and birthday season out of the way, it’s time to let you know what’s been happening in HEXTERMINATE land.
Engine upgrades
Linux support & Proton
Being stuck on holiday with a laptop that only runs Linux Mint, I thought I’d try to get the game running on it, as the majority of the code was meant to be portable anyway.
That was the theory.
In practice, it required quite a substantial amount of work to get the game compiling, nevermind actually running. Right now it does run and it is playable, although there are some graphical artefacts and sound doesn’t work. However, this led to some interesting discoveries which will affect everyone, leading to better performance and fewer memory issues.
Currently, native Linux support is scheduled for Build 19 (so, not this one but the one after), but the many fixes that have been done to the engine will likely allow the game to be run through Proton in Build 18, rather than just displaying a black screen.