Make Object Move Smoother and No Delays

So i just make a ping pong game and,

  1. What do you want to achieve? Keep it simple and clear!
    i want to make the ping pong paddle move smoother and no delays,
    i want to make it like this:


    (this video is tested on the studio so it moves smooth)

  2. What is the issue? Include screenshots / videos if possible!
    i couldnt make the paddle move smoothly, and it always delay, heres the clip:

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    i already test it using set network owner BUT, Theres some welded and anchored parts,
    (i just wanted to make it move smoothly and no delays)

another info: i fire a remote event which pass the mouse hit position to the server, and the server is going to move the paddle, but it doesnt move smoothly and so much delays

any help would be appreciated.

4 Likes

is the moving happening on the client or server?

Server (3030303030characterss)

maybe do it on the client???

heres the explanation. (303030)

hm, but players wont see that i moved the paddle

It appears the reason that the paddle looks not smooth is because of network ping. You could handle the paddle moving on the client then firing it to the server every tenth of a second or so. Then you might interpolate (using tweenservice) the paddle so it looks smooth.

To test the networking in Studio theres a setting called “Incoming Replication Lag”

1 Like

make the movements happen on each client, like so that all the server is doing is just saying the current position of the paddle. and then all the clients move the paddle to that position that the server said Edit: Basically what tornado said

ok ill try that (303030303030)

Hm, i just used tweenservice just like you said and it is now move smoother, but the problem it still the delays, i think its because of the network ping, is there any way to fix the delay?

move the paddle on the client and send the location to the server every 10th of a second. then have the server fire the other person to replicate the position of the paddle

ive already tried that and the paddle looks stuttering, is there any way to fix the stuttering?

edited (thought the issue was something different, nevermind this post)

wait do i need to tween the paddle both on the client and server OR only tween it on the server

tweem it on both (3030303030303030)

There’s always going to be a stutter when it comes to client viewing things happening on the server, or things happening on the client. The only difference for doing it on the client is it will only stutter when you lag.

So what you’ll want to do is for the ping ball whenever it’s positioned you will want to position it on the client instead. Use FireAllClients for this. But make sure the balls created on the server so everyone can see where it is currently.

Tween it for the receiving client only, there’s no need to put additional strain on the server when it isn’t necessary, the local player moving the paddle likely doesn’t need their own paddle to be tweened but the other client(s) will for the paddle to appear smooth (from their perspective), also try decreasing updates from every 0.1 seconds to every frame with task.wait() for example.

ok i will try that (30303033030)

ok its been 4 days, i think i have found the solution, i still HAVENT tried the solution but heres the explanation, so i send the mouse location to the server, then fire it to all clients BUT, i dont move the paddle from the server so it doesnt stutter. then i change the paddle script to be a local script. if the ball hits the paddle, it will fire the server and moves the ball.

sorry if my explanation is not very clear

Does my explanation is gonna work?

well your sending the mouse location to the server, if you don’t position it on the client right there then it won’t work. Also instead of using the ball hitting the paddle just set the ball’s network owner to the client trying to hit the ball