In the last dev log I gave you a glimpse at some of the new rooms that will find their way to Galactic Crew II with the next content update in January. I have made great progress in the past two weeks developing the game. I mainly focused on an issue that was reported by a few players over the last months: random game crashes.
I did a deep dive into the components I created for the game engine and into the few external components that I use. In one of the past dev logs, I explained that I use a component called SharpDX as an interface between DirectX 11 and the programming language C#. It was the best interface component for this purpose when I started the game engine project many years ago, but this project has been abandoned since and there is no real alternative. Therefore, I now modify and improve this component myself to fit my needs better. While doing so, I found memory leaks in this component and my own game engine. These leaks happen whenever sounds or music tracks are played. Most of the memory is cleaned properly, but not everything. If I create thousands of music tracks or sound effects in a loop, my memory filled up. I solved this issue and did several hours of playtesting. As far as I can tell, the memory consumption has been stabilized in the audio engine and everything still sounds nice.
This finding matches the descriptions of players who reported this issue. Many mentioned crashes after jumping into new systems or during combat. Every time a weapon is fired, a sound effect is played and every time you jump into a new system a music track is created. If the now stuffed memory leaks were the cause for the trouble for some players, it should be fixed.
However, I will continue playtesting and I will write more Unit Tests covering all types of assets to ensure that there are no memory leaks left. I am sure these memory leaks were causing the crashes.
There is one other news: I was thinking about adding some sort of trade hub where players can trade goods with each other or where you can exchange captains. I still like the idea and coding this feature would only be a minor task. However, such a feature would require infrastructure and might cause legal troubles. I basically implemented a simple version of this feature on a feature branch in a couple of days. However, in order to ensure that no one hacks or manipulates the services, I would need some sort of user authorization. I know how unpopular it is to have a separate account from your Steam account when playing games, so I don't like this idea very much. It also brings additional tasks with it like creating a proper website with authentication system, password recovery, etc. I would also need lawyers to check for me what kind of information can be stored. For instance, I could not use Google authentication, because not everyone has a Google account. The same goes for Facebook, Instagram, QQ, etc. For these reasons, this feature will not come with the next update.
Kind regards, Benjamin