The Loading Screen Bug
We are happy to announce we have fixed the notorious loading screen bug, that has been plaguing some people, and we wanted to explain a few things to help shed some light on why it took so long for us t o fix it.
The bug initially was just incredibly hard to reproduce internally, which is the first step towards finding out what was actually happening. To find it we had to create a new debugging tool for the server and client builds to help us track it down. With this new tool we managed to reproduce the issue consistently, and in a way that we could generate logs to help guide us to a solution. This highlighted to us that in fact, it was several bugs manifesting as one! All of which we have fixed and should never rear their ugly heads again.
You may be wondering why we released the previous update with such a glaring bug? Well, to put it simply, it hasn't turned up before. The trigger case is very hardware and connection dependent. Although we have found out that some of the bugs have been there all along, they were very rarely triggered, at least on tests we did with the hardware we have.
It also appears that the more recent optimisations and fixes, which made certain aspects of the game quicker, inflamed the issue, making it more prominent for these users. In addition, there was a significant engine upgrade (Unity 2017 to 2020), which made unnoticed changes to the networking library we use, adding many more avenues for the issue to manifest.
It is annoying that these things happen from time to time (especially for us!), but we are always working to improve Gang Beasts, which has been evolving for 6+ years now. So thank you for being patient with us, and hopefully, we will not have anything as problematic in the future.
The Elimination Bug
Another bug people have been experiencing lately is the characters not getting eliminated when thrown out of stages. This issue was a weird one, that seems to have manifested itself since the engine upgrade. Gang Beasts being such a physics heavy game, any changes to the engine’s physics can have knock-on effects with the gameplay.
We have tried to fix this a few times and, although each attempt reduced its frequency, it was still being triggered. In this update, we have added two more solutions: one that should stop it from happening, and another that will guarantee that if it happens the players get eliminated anyway. The first measure is adding a few more checks to the characters when they enter an Elimination Volume, so it is more likely to be detected, and expanding these volumes further to increase the chance of detection. The second measure bypasses the physics system entirely, and will always eliminate players regardless of velocities or any other issues inherent to physics that can prevent the first method from working.
1.16 changes
General
- Fixed the pesky infinite loading screen
- Adjusted the damage reduction timer from 10 seconds to 4
- Fixed server ping checks not properly connecting to Sydney
- Corrected PS4 online age rating check
- Corrected PS4 lobby nameplate UI not showing
All stages
- Increased the size of Elimination Zones to better catch escaping players
- Added an Out of Bounds check that should stop anyone who does manage to escape!
Aquarium
- Optimised the bubble particles
- Fixed bubbles crashing the game (!)
- Added blockers to prevent players from getting stuck in doors
- Moved pool knockout volume up
- Small physics optimisations