My goal is to make a system were the movement/rotation is handled on the clients and each client will be synchronized.
How would you go about to sync movement?
As shown in the GIF below. I am facing the problem were I have a fast rotating part and another slow rotating part. This will cause a problem when trying to sync client together. If I am going with the method of waiting for a full cycle to happen to start from the origin point. This will take to much time waiting for a full cycle for the player that just joined to sync with the clients that are all ready in the server. One may say you can do a loading screen but that’s not the way I would wish to go about it. (this is a theory I had in my head in practice I am not sure if this would work)
The other way I was thinking about was sending the rotation information somehow from the current client to the server to then send to the client that just joined. But this is not efficient either… because when one start to include welds to the rotating part then it will became to complex of a system.
How would you go about it? possibly using os.date?
When having movement of many parts on the server side it will start to lag. Movement is best to be handled on the client side. But my goal is to sync the rotation of the joined client with current client
This is a very hard problem to solve. It’s sort of the biggest problem that ROBLOX’s engine solves for you. I really don’t recommend you try to reinvent it
Even if you were able to implement this correctly, and handle edges cases well, you’ll be sending a massive amount of data over the network. And, since remotes are several layers removed from hardware, it’ll be much slower that ROBLOX’s implementation just due to the network load.
That might be the case but that’s why I’m seeking advice here because I know this isn’t an easy problem to fix and possibly someone might have a method that might work…But that being said I have many moving parts thus causing jittering when playing… I can just go about and put it all on client side but the movement wont be synced for the players…thus looking bad for other players seeing you jumping were on there screen there isn’t an obstacle
ROBLOX can handle many, many parts moving at once. One thing that might help is that you don’t necessarily need to use TweenService just to spin a part – that’s sort of a big hammer for spinning a part around.
if you really want to sync them, you can calculate the delay with os.clock() and offset the object with the alpha value you got from TweenService:GetValue first, then play the tween. (Don’t forget to subtract the time by the delay as well)
But if you are just looking to spin a part, consider using BodyAngularVelocity.