-- Captain Geiger, lone survivor of the Advanced Forward Reconnaissance Team
A warm summer welcome to everyone!
Today's update introduces numerous fixes, improvements and importantly, a new control keybinding system. Additionally, the Behemoth has received a much needed rework, bringing it in line with other units that have received such. This was a side-step to the current, main focus of improving respawn mechanics and AI collision avoidance, but was highly requested.
Several recurring multiplayer issues have also been addressed, as well as further improvements to performance.
Thank you again for your support and have a wonderful week!
See you on the surface.
Gameplay:
- Added: Full controls keybinding system
- Changed: Behemoth appearance including the addition of a tail-like appendage
- Changed: Behemoth now fires a beam instead of ball-insects
Balance:
- Improved: Scorpion acid ball range increased and AI aim calculation fixed
- Improved: AI will fire on Scorpion when its tail is visible over an edge
- Improved: AI will fire on Shocker when its tail is visible over an edge
Performance:
- Fixed: Memory leak related to deleted units staying in memory
- Fixed: Pathfinding memory overhead for units that are destroyed but not deleted
- Optimized: Precomputed terrain physics material indices for all maps - Stops the huge up to 10s spike at the start of every match
- Optimized: Impact decals now fade on GPU instead of CPU
- Optimized: Animated units use lower quality animation when far from the camera and completely disable animation when very far
- Optimized: Terrain pixel error settings increased on lower terrain detail settings
- Optimized: Harvester pistons updated only on change
- Optimized: Balterium decals disabled all at once instead of individually
- Optimized: Audio effects' volume and pitch changed only for audible sounds
- Optimized: Vehicle ground particle FX updates limited to 100 instances per frame
- Optimized: Clearing of map team layer changed to Array.Clear() instead of a loop
- Optimized: Caching of construction site values, updating on change instead of per frame
Technical:
- Fixed: Don't cull BaseGameObjects when the camera is inside them
- Fixed: ServerSettings.xml could not be saved bug that could occur while it was being read
- Added: Server communication ports now in ServerSettings.xml
- Added: GameSettings.xml and ServerSettings.xml may also be placed into game files root folder and are used from there, if present
- Added: Logging of large, unexpected changes in day time
Multiplayer:
- Fixed: Player names were sent as part of initial player list packet, filling it up when max bytes was reached
- Fixed: Server did not consider connecting players for maximum, allowing more than maximum number to join
- Fixed: When server or client receives any data from client or server, heartbeat is considered received, fixing some disconnects
- Added: Logging of player name change/init on server
- Added: 'Spawn' console command now has optional input team and position/rotation (use 'Camera' command for current cam data)
- Fixed: 'Spawn' console command flooded packet when called on admin client to server
- Fixed: New server log naming did not work on Windows, failed to create log
Debugging:
- Added: 'Lights' console command to toggle hiding of lights on game objects for debugging purposes
- Added: Logging of floor area (in m^2) when logging navmesh recalculation times
- Changed: Server.log now renamed to Server_YY_MM_DD__HH:SS.log to ensure dedicated server history is maintained
- Fixed: Stream Writer did not log the calling function