I'm building a football system with client-side prediction. I've already fixed: Desync (client = server)
Ghost ball
Consistent speeds
But now I have a visual problem on remote client:
When a player releases the ball:
- The ball disappears (correct)
- Then it reappears incorrectly: In the wrong position; It stays still for a few frames; It can be stolen from behind
- After that: It snaps/teleports It follows its trajectory
What's causing this it’s maybe conflict between: Client prediction and Server replication. The ball has two states at once, causing: Freeze, Visual rollback, Snaps
How it should look:
- Release
- Ball disappears (~200ms)
- Player still has no ball
- Ball reappears IMMEDIATELY while moving
- No static frames, no snaps, no delays
What I need to achieve is zero static ball after release, zero server snaps, zero ghosting, direct respawn while moving, smooth interpolation, no visual delay
I'm looking for help with How to correctly implement: client-side smoothing / interpolation, temporary ball hiding, clean reconciliation with the server without breaking physics or introducing desync.
If anyone has worked with: projectiles, sports, client prediction any tips would be great 🙏