With HEXTERMINATE having been out for a while and the bulk of the issues resolved, it is time to talk about what will happen to the game in the long term.
Although the game is has been released, development will be carrying on for a long time to come: HEXTERMINATE is one of my two hobby projects and one that has an ever-growing list of things I’d like to do.
Before we go any further, let me just make one thing clear: these will all be free updates and available to anyone who has bought the game.
So, lets have a look at the backlog for a broad overview of where development time is going.
Engine updates
The engine HEXTERMINATE uses is homegrown and was started a very, very long time ago (a cursory look shows the first copyright notice in it dating back to 2014, but the first files were probably created in 2006 or so). Over the years it has been updated as necessary and chunks have been rewritten to allow for easier development.
One of the systems that needs some love is the renderer. Although sufficient for what the game currently does, it is quite primitive and had large chunks of OpenGL boilerplate code which is completely unnecessary nowadays. Previously using OpenGL 2 and relying on extensions, the engine has now been updated to use OpenGL 3.3. This is unlikely to cause any issues to anyone who has bought the game, as most cards this side of 2010 will support it, while considerably simplifying any work which touches the rendering system.
These first updates will be available in the upcoming release, Build 16.
Accessibility
Outlines
One of the criticisms the game received when it was released was that it could be difficult to identify which ship was the player’s, which ones were allied and which ones were enemies.
To improve readability, ships have been given an outline to assist with identification.
These outlines will be on by default, but can be disabled from the Options menu for players who prefer to play without them. This feature will be part of Build 16.
Fire control
Weapons are currently split into two broad categories: turrets and fixed hardpoints. In both, the player has to hold the respective fire button. An option will be added in Build 16 to make this a toggle, rather than a hold to fire.
Control remapping
At the moment, all controls are hardcoded. The game uses the classic WASD mapping, mouse buttons for firing, Q and E for dodging and a few more keys for activating the various modules.
There hasn’t been much call for allowing these controls to be remapped, but it’s definitely backwards not to allow it. Additionally, as new features are added, having the ability to do so will be a good improvement.
Purely from an implementation point of view, this is fairly straightforward. In addition to the remapping functionality itself, there are some changes that need to be done in the tutorials and the configuration needs to be stored and loaded. However, the big issue is the interface to allow players to remap it, which leads us to the next point…
User interface
The user interface in HEXTERMINATE is functional, but quite basic in certain areas. Before adding new features which will require either new windows or substantial changes to already existing screens, I’m going to spend some time refreshing the UI to make it more functional, readable and easier to implement.
Right now it is extremely time consuming to make any changes to the UI: all the elements are hardcoded and any changes require a compile and game restart. This isn’t really sustainable (my sanity suffers!) and work has already started on created a better UI which can take HEXTERMINATE info the future.
I don’t expect the entirety of the game to get the new UI at the same time as there are quite a few different windows, but you can expect Build 17 to start bringing this in.
The Codex
This is something that has been on my wishlist since The Beginning of Time and that, somehow, never actually happened. The Codex will be both a repository of in-game lore and of module information, providing detailed information and giving the player a good idea of what’s out there.
Not every Codex entry will be available at the start, but the majority will be.
Movement and weaponry improvements
Right now the movement of ships is fairly restricted: they turn and move forwards. If you have the perk Reverse Thrusters your ship can go backwards and the perk Evasion Protocols gives you the ability to dodge.
This greatly limits the player’s ability to keep range, or even to kite effectively. The current plan is to remove Reverse Thrusters entirely, making the ability to reverse a core part of the ship’s navigation. Additionally, strafing would be added while still keep the functionality of Evasion Protocols.
Weapons also need some love. At the moment, there isn’t much point for using any type of Autocannon over an Artillery. All turrets snap instantly to their target as well, further limiting the ability of a ship to engage in more interesting tactics.
I’ll definitely be adding angular rotation speeds to various turrets and intend to explore firing arcs to further differentiate weapon types. Additional weapon variants will also be added to increase the variety of what the player might face, while also opening the gates for meaningful electronic warfare.
AI improvements
These potential improvements are all well and good, but the AI needs to make use of them. The AI is fairly simplistic and there are many improvements that can be done, both at individual and fleet levels.
Some of these changes will make its way to the Campaign, but I don’t want to change that too much as it can have a substantial impact on the difficulty curve. Currently I expect such changes to mostly be applied in Infinite War and in a new game mode.
Into Hyperspace
These are very early days, but Into Hyperspace (working title, subject to change) will be the next game mode added to the game. It will provide an endless run, taking your fleet deeper and deeper into hyperspace, into areas controlled by rampant AIs.
This is where the more adventurous features will go and where the future of HEXTERMINATE lies.
I hope you stay with me for the journey. 🙂