September development highlights
It has been a busy month in HEXTERMINATE’s universe. I’ve assembled a short trailer to showcase the game, backed as usual by =kontinue’s great sound track! Be sure to check it out.
But lets take a look at the game’s development itself.
A game can’t be complete without sound effects, even if it is a space game and have to ignore little things like physics going “you’re aware there’s no sound in space, right?”
Most of the sound effects are now in place, making use of FMOD’s positional audio which made it easy to implement automatic panning and volume rolloff based on distance. Overall I’m quite pleased with it and it makes battles sound far, far more alive. I’ve also written a small post on the the implementation gotchas that might be of use to other developers.
Balancing a game’s is almost always tricky and HEXTERMINATE is no exception to this. The variety of factions, the kinds of ships they use and the large amount of modules that can be used make the task of balancing everything properly a fairly time consuming one. Overall the pace of the game has been slowed down as ships were exploding too quickly, which made it both difficult for the player to manage to pull successful, higher-risk raids into hostile sectors and fairly frustrating to try and keep a fleet’s losses manageable.
Additionally, most ships of the Ascent and Iriani factions have been redesigned and made more specialised. The Iriani in particular remain, as before, terrifying: attacking their territory is not for the weak of heart or for those afraid of losing ships in the process.
Of course that over the campaign you’ll have to conquer their homeworld but hey, no one said that the life of an Imperial captain was an easy one.
For a long, long time, the game has been making use of TinyXML to handle XML files, which are used to store data about all the modules as well as save games. This has been working quite well until I’ve recently noticed that with 50+ games saved attempting to open the “Load game” menu would make the engine choke and the framerate to plummet to the “seconds per frame” level.
This has now been addressed by running the file loading in a separate thread, which keeps the framerate solid and the user interface responsive. I’ll also be looking into updating to the new version of TinyXML (creatively named TinyXML 2), which promises to be considerably faster than one I’ve been running with.
The next steps
Over the next month the focus will be on the modules which don’t have custom models yet, such as the armour repairer and shield generator. This was meant to be tackled this month but I’ve made a detour to get the sound effects in, but this is now blocking other work and needs addressing.
Additionally, I’m looking into the actual Campaign, which provides a thread for the player to follow in the open galaxy of HEXTERMINATE.