Help with Physic based soccer Ball

Hey everyone, for the last month or two I’ve been trying to recreate Rocket League and I’m having some problems with the ball. At the moment I’m using the default Roblox physics system and to make the ball smoother I’m assigning its network property to the closest player.
But this causes multiple problems:

So if anyone has a solution to these problems please let me know, I don’t know if writing my own physics system is realistic even though Rocket League doesn’t have things like air drag.
Anyway, any help is appreciated, thanks and have a great day!

4 Likes

Well, unfortunately this will always be a problem, but the best solution I can think of is to have each client render the physics of their own ball.

on a safe client, they can hit the ball smoothlessly and send some data to the server so it can do some sanity checks. Considering the type of gameplay that rocket league has, the delay between the server and client is a huge problem and for that reason the server will almost never calculate the ball, just track it

On a unsafe client, they can completely manipulate the ball, but if their balls position doesn’t match with the server, don’t count the score. The server grabs positions off of safe clients to see if the ball really is where it was supposed to be

The servers job is to synchronize and track the balls and their velocities, most preferably whenever it bounces

problems:
If you must find a trustworthy client to give data to the server

And discrepancy’s between the physics engine can cause ball to appear in different positions

clients watching someone else hit the ball will appear to be laggy

If worst comes to work you will have to find a way to predict the position of each play and the ball to compensate for server delay. But these are just my ideas

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.