Shared Physics Ownership

Problem: Right now it’s impossible to have two players push a ball part around and have it work smoothly and correctly. Humanoids cannot push against a server-owned or other-player-owned part/assembly and apply any force.

Value if addressed: Simple assemblies like balls should work in a reasonable way if two people interact with it. This not working is confusing for new users and lowers the quality and usefulness of even having a physics driven multiplayer environment.

What should happen : Two players on a baseplate should be able to cooperate and push a large light sphere around with their humanoids.

What does happen : The sphere will be immovable for one of the two players, as the server can give network ownership to only one of them, and will ignore attempts to push it from the other player(s). If you set the network ownership to “server” (nil), then neither player will be able to push the ball smoothly.

Possible Solution:

Pushing forces applied on a client to assemblies they do not own should be recorded and transferred to the server to apply there. This will result in input lag, which is more acceptable than it not working at all. Humanoids should also not be treated as “anchored” in the non-owners simulation either, as I believe they currently are.

24 Likes