New build! https://wiki.arcengames.com/index.php?title=AI_War_2:Finalizing_Multiplayer#Beta_3.503_Multiplayer_Sound
This one is pretty much all about the bugfixes, and it absolutely SLAYS in that regard. Summarizing the high points:
1. There were still some async calls being made to unity asset bundles, which meant it could still deadlock. That now is not the case. So maybe no more deadlock?
2. Where we used to load around a thousand individual tiny icons from asset bundles, we now load eight larger dictionaries. This has a notable performance boost to the UI sidebars for things like the planet view, and it also loads faster, and it also is less likely to deadlock on load (lots of small calls tend to be the cause of that).
3. Several systematic reviews of unit-related code pooling variables have been done, and a number of omissions were found. These were responsible for a number of pooling-related bugs from the last three builds, and are now fixed. But saves from those builds may still have errors built in.
4. The lobby now behaves like you would expect regarding the camera, home planet selection, etc.
5. Drones work reliably again! And drone producers use less CPU to do their work, too.
6. There was a major bug in the delayed sound playback (which is not super frequently used, but is some for voice and such) that has been there since April 2018. People have been suspicious that it was hanging onto some sounds way too long and playing them late, etc. I found that bug -- possibly two contributors to it, anyway -- and slew them both. There is also now an indicator in the escape menu to tell you how many queued sounds there are, if you're feeling suspicious in the future of delays with sound playback. The core bug here was an embarrassingly basic logic inversion.
7. Multiplayer has had a lot of general bugfixes, as has solo play, but also it now has a whole new subsystem (not yet tested, ran out of time and this is beta) for the host to generate certain kinds of sounds (voice clips, etc) and propagate them to the client. This is helpful, because the client was sometimes incorrectly playing them or missing playing them. I plan to make some more changes in this area to lean on the host a bit more and reduce client data load and processing even further.
At the moment, all of the really major issues from the last month that I'm aware of are fixed. Now on to the reports of things that I am NOT aware of yet. ;) It is... inevitable. It is my destiny. /Palpatine.
More to come soon.