Tennis ball simulation

I’m investigating what approaches I could take to simulate ball physics without using physics engine since i. this will make it impossible to synchronize over the network when I later add multiplayer gameplay and ii. there’s really no formulas to calculate where the ball will land for shots with spins, which is important for the gameplay I’m trying to create.

Those two issues made me inclined to bezier curves, which even though it solves those, it does introduce some new challenges mainly getting the flying of the ball look realistic enough and also the bounce is not realistic either.

I wonder then what other approaches could I start looking into or what other stuff could I incorporate to my current approach to make it look more realistic, like right now I’m trying to incorporate time of flight formula in order to calculate the duration of the animation. Later on I was planning to incorporate the angle of impact into how I calculate the after bounce bezier curve.

How about letting the server, or the player where the physics is running for the ball, sending the ball position to the other players? And perhaps switching the control over the ball when it passes the net. I mean it’s always just one player a the time that can hit the ball, and sending it in another direction.

That may solve issue #1 but I would still have issue #2 which is theres no formula to calculate force needed to be applied to the rigid body to land at a certain location for shots with spin.