As a Roblox developer, it is currently too hard to use a lot of non-anchored objects in a game without messing up the network traffic.
If Roblox is able to address this issue, it would improve my development experience because we could build more dynamic worlds without having players disconnect due to high network traffic.
Our example:
We have 49 objects in the workspace that are signs and lanterns, example:
The world would feel more alive if we let these lanterns have physics by attaching them using a BallSocketConstraint, so the players could push the lantern around. But testing shows that it is not viable.
Testing method:
- Start the game in studio, single player
- Stand still and wait for the initial network traffic to cool down to see what the average idle network traffic is
Outcome with BallSocketConstraint on the lanterns and sign: 20KB/s network receive
Outcome with anchored lanterns and signs: 0.1KB/s network receive
These differences in network traffic are unexpected since nothing in the game is affecting the physics of the signs & lanterns, they are just hanging there idle.
In other game engines there is something called sleeping state (Unity example) for physics objects that causes them to use almost network traffic and CPU when they are idle.
Adding this properly to Roblox would make games way more optimized across the board and probably save Roblox a lot in bandwidth costs.