In experiences with 10 or more vehicles that consist of multiple assemblies, the vehicles begin to rubber-band or appear to teleport on the screen. While collisions are not affected, this issue severely impacts the racing experience, as players are unable to accurately determine where other vehicles are. This issue is caused by overloaded network replication because there is too much replication data, so it is all split up.
Can definitely confirm that this is an issue me and others have faced, especially in the Roblox racing community. Worst of all, the only alternative is to have client-controlled vehicles, which means no accurate collisions and vision lag. I hope we see some changes soon, we’ve been waiting for years with nothing coming out.
In hindsight there is an solution to this problem. You can replicate the cars manually and only send what you need to + serialize the packets using a buffer, this afaik solves the entire problem.
its a issue with the ping of that player being bounced, you can tho instead of replicating the car parts from the server to all clients, replicate a table with the design, position, rotation, effects information, it will reduce sent and recieve and improve network performance.
You can do that, but this is complicated to create manually, particularly without strong math knowledge. Considering this has been mentioned for multiple years already, it would be nice to see Roblox implement that systems (Predictive Pathing if I am correct is what you mean) directly into the engine, or come up with any other solutions for this.
This is due to many models e.g. cars that have too large meshes or polygons. I recommend reducing their meshes and setting all meshes and unions in renderfidelity to automatic and mesh to performance
What I’m referring to is snapshot interpolation. There are lots of examples (roblox included) on the web
The jist of it is:
Simulate cars on the server (by parenting them to a camera which stops physics replication)
Send a snapshot of all cars and their CFrame ( if you want to replicate wheel rotations and assuming you have 4 wheels you can pack it into one i32 for all wheels)
Receive the snapshot on the client, create a client only car if it doesn’t exist already and interpolate it with the previous snapshot
You will still have input delay, as expected you are getting a view of the server’s car. If you wanted to fix both you’d need some deterministic custom car that can handle netcode rewinds
It is recommended that the client owned car is anchored and shouldn’t have any constraints or VehicleSeats