Hi, Im trying to make a 8 Ball Pool game but Roblox Physics are so bad sometimes, I’ve done what I can to optimise it and I still find my self flying through balls or a major delay in movement. I don’t know if there is a fix for this or a niche little trick to stop it being so bad.
If anyone can assist me and provide info on how I can prevent or even improve the performance of Roblox’s physics with balls it would be much appreciated
I’m going to assume that this is a multiplayer game where you go against other players. if you could provide us footage of the issue you’re having specifically with physics, that would help with more specific answers.
for now, even if you’ve said you did everything you can to optimize it, look over this check list:
Did you set the network owner of the pool balls to the player?
Is there no unnecessary network traffic on the server? This can influence the lagginess of the balls. (extra physics on the server, a lot of remote calls to the server)
assuming that all of these are positive, then the next thing is making sure you’re not using any deprecated constraints, particularly replacing all the BodyMovers with the newer mover constraints. (e.g., using LinearVelocity instead of BodyVelocity, for the balls physics) and if you’re not using those constraints, you could try applying the velocity with ApplyImpulse rather than directly modifying the part’s linear assembly.
On another note...
I’ve abandoned all hope for using Roblox’s physics engine and just created my own for future games due to the inconsistencies it gives, especially for competitive games where physics NEEDS to be deterministic. I’m not suggesting you make your own physics system, but just letting you know the solution I’ve done to help make my game’s physics engine responsive.
Its the little jitters every time a ball is hit, or If I hit a high power shot sometimes the Cue ball just goes through the hit ball and in addition the way the balls react to getting hit feels off I’ve played with custom Physics swell as coded a Better friction system but my only idea right now to have it somewhat smooth is move CUE ball on client fire server event save the positions on server fire all clients with the Direction and power of the cue ball and bang
I no longer need assistance I decided im going to do the same as you and make my own physics and blend it with some Roblox physics I’ve already fixed the jittering I had it was caused from the way I manage all the balls and the Cue ball.