StarMade v0.199.169 - Faster Chunk Loading, Lag Correction, Physics Optimization, Cannon/Beam Hit Optimization
Greeting citizens, ~
Since mainly we are working on the NPC factions feature at the moment, which is a big update with a lot of planning, design, and architecture, the updates during this period will contain smaller features, fixes, and optimizations.
However, this doesn’t mean that the updates won’t have any impact. The latest optimizations make ship battles, including capital ship fights a lot more fluent.
Faster Chunk Loading
One major bottleneck of the old system (even more so with the new chunk32 system) was the final step of loading or generating chunks for the game. The step of putting the blocks in the game physically and updating all logical dependencies as well as center of mass, tensors, and other metadata.
Since this step was done in the main thread, it often caused fps drops, and/or stalling (small freezes). This was mostly visible when starting up.
Most of the work has now been put into the generator threads that load the chunks. This archives much faster chunk loading as it utilizes multicore processors.
The data that needs to be in sync with the main thread is prepared and applied in one step per chunk.
It doesn’t eliminate all the short freezes on startup, but it makes it considerably better. It also improves general loading speed by about 30%-40% (reported by our testing team).
Bandwidth Optimization
Positional data is now sent dynamically based on where the players are. The further away an object is from you, the fewer position updates you will receive. This will improve bandwidth usage on bigger servers by a lot since the positional data is at least 50% of the total data sent.
Lag Correction
As you all know, when going fast and trying to hit an equally fast ship, stuff starts to jitter around. This is now fixed. The new lag correction algorithm does a much better job at smoothing client and server differences out. Speeds up to 300m/s had no noticeable jitter on the official test server.
However, sector changes still cause your ships to jitter, that’s a different issue.
Physics Optimization
Although physics performance on single entity ships is in a much better place now, stuff gets to a crawling halt when two bigger ships with docked entities meet.
This is now optimized to run several times faster (from around 1fps on two big ships with 200+ entities colliding to around 40-60, coming from 80 fps).
Cannon/Beam Hit Optimization
Block modifications in general, but especially block damage and removal caused by cannons, damage and salvage beams have been sped up considerably.
Volleys from capital ships will no longer turn the game into a slide show. From testing results, weapons that used to freeze your game for several seconds per volley, barely affect your FPS now.
This combined with the physics optimization should make ship battles a lot more enjoyable.
Bug Fixes
T1830 Block information for Russian/Traditional Chinese cause freezes
T1025 Joystick and Gamepad support broken
-
Fixed a layout issue for the Pixel texture pack.
-
Turret power sharing (for AI) now looks at every chain before it stops firing. The threshold is still 35% of max power capacity (but per chain now).
-
Fixed an issue where destroyed blocks would re-appear (client side only) in some cases.
Thanks for playing StarMade,
~ The Schine Team