After a year where HEXTERMINATE was on ice as I explored prototyping other games, programming languages and writing another engine, one thing became abundantly obvious: I really, really like HEXTERMINATE and working on it.
A month and a half ago I picked it back up, and started looking into what improvements could be made to the game. These are broadly split into four categories:
- Development streamlining
- Long-standing issues
- Gameplay improvements
- New game mode: Hyperscape
Each patch will generally contribute to more than one category, but splitting the development streams like this makes it easier to reason about.
Development streamlining
As some of you may know, HEXTERMINATE was in development for a long time: it has been my hobby project for many years. This means both that technologies move on, and that I have learned much since the development of the game began all those years ago.
The major issue that has always held back the development of the game was the user interface: there was no good, free-to-use user interface library when I started, and I ended up writing my own user interface code, which by any modern standard is hopelessly outdated and incredibly time consuming to work with. Thankfully, times have moved on and high-quality libraries such as RmlUI are available. Integrating RmlUI with HEXTERMINATE’s Genesis engine has allowed me to start steadily replacing the old user interface with a HTML/CSS based solution with a fast iteration time.
Additionally, functionality such as live-edit (the ability to modify a file and have its contents automatically reload in-game and affect any relevant systems) is critical for being able to quickly modify the game’s balance and author shaders.
Long-standing issues
Before modifying anything on the gameplay side, there are some issues I have been aware of which need to be addressed, from rather critical ones such as ultrawide resolutions making the game virtually unplayable to smaller polish issues like missile trails not being properly attached to the missiles themselves (this seems small and it is hard to notice when playing the game, but it ruins every screenshot with missiles in it!).
Interestingly, while addressing this issue with the missile trails, I realised that the system that handles all the projectiles/missiles/lasers was updating twice per frame. This wouldn’t be much of a problem, if that didn’t mean that the game was performing twice as many physics raycasts as necessary, which has quite a significant performance cost for larger battles!
Another issue that has been on my wishlist for a long time was fixing the glow effect, as it looked quite pixelated. From a technical point of view, it was implemented in quite a naive way (using nearest neighbour sampling with an horizontal and vertical pass) which had been due to be replaced for a very long time indeed. The new implementation is by no means bleeding edge – this isn’t Unreal 5.8 – but it is based on Jorge Jimenez’ paper from Call of Duty: Advance Warfare.
Gameplay improvements
In general, HEXTERMINATE is quite playable for short sessions: jump into the game, capture some sectors, see some explosions, bring glory to the Empire. It was never meant to be a “forever game” where players spend thousands of hours in, but that doesn’t mean that there are no balance issues or areas to improve. The wishlist is, indeed, very long, but it is rooted in two questions: Is the challenge fair? and Is the challenge varied?
The Campaign is, thanks to the feedback from the community, mostly fair nowadays. The Marauders can still occasionally pull a fast one with Ramming Speed and obliterate the player, but for the most past the difficulty grows at a steady pace. The majority of the issues with the Campaign have to do with readability (as in, does the player know what to do next) rather than mechanical adjustments.
Infinite War, however, can be very erratic in its difficulty. Be unlucky and you’ll start with the Hegemon next door, and your chances of outpacing that difficulty curve are very slim indeed.
Beyond that, there is a matter of diversity: the sectors themselves are virtually identical beyond which fleets are present, and the AI that governs the ships has very limited behaviours. Some of these are iterative improvements which you’ll see coming to the Campaign and Infinite War, but the more radical changes will appear in…
New game mode: Hyperscape
Hyperscape will introduce new mechanics, which I will go into depth in articles over the coming months. However, at its core the concept is simple, and will be familiar if you have played games such as Diablo 3 or Path of Exile: how deep can you into the Hyperscape? The deeper you go, the more powerful the loot you’ll find, but the more demanding each sector becomes.
This mode is entirely separate from Campaign and Infinite War, with its own modules and enemies. This separation will give me more freedom to make radical changes, knowing that I will not accidentally ruin the other game modes due to over-tuning something (this is a significant downside of indie development: no QA department you can just ask to run through the entire game a couple of times before releasing each patch).
As soon as I have something playable, even in an early stage, it will be made available in a beta branch in Steam to gather feedback.
What’s next?
The first patch is in testing right now (ultrawide support, new UI, performance improvements, improved glow effects, etc) and should be live within the week. Additional patches will follow in the coming months, being developed in parallel with the Hyperscape game mode.
