I’m working on a physics-based soccer game and I’m trying to make dribbling/playing with the ball feel responsive and smooth, but the solutions I’ve tried have downsides that I can’t seem to reconcile.
If I set network ownership of the ball to the player that last touched it, I find that it feels nice and responsive when playing around with it solo, but when another player touches it and becomes the network owner, the ball freezes for half a second and that completely ruins the flow of the game.
If I set network ownership of the ball to nil, there’s no freezing, but there’s a noticeable delay between when you press to kick and when the hit registers on the ball, which makes it feel far less responsive than I would like.
An example of a game that achieves this pretty well is Touch Football, although my game requires the player to input a kick instead of just touching the ball: Touch Football - Roblox
its not laggy it just has the delay of server-client, my guess would be somehow doing the ball physics on the client or make the illusion that its smooth but ive never tried it before.
I’m also struggling with this, however I think Touch Football weirdly enough uses their own physics implementation or replication, because I just got disconnected mid game due to bad wifi, and I was still able to kick the ball atleast 4 times after the “you were disconnected from this game” screen came up, which confirms my suspicion that in Touch Football every client simulates their own ball and ball physics for themselves. I don’t know how they replicate it though, it’s like black magic .