[] Billiards: Balls become desync'd when someone starts a game at a different table to you

You are in the middle of playing a solo game of billiards and someone begins a solo game of their own on the table across from you.

Steps to Reproduce

  1. Start a game
  2. Whilst yours in progress, have someone start another on a neighbouring table
  3. Balls and their hitboxes on your table become desync’d

What I expected to happen

The normal behavior.

What happened

Balls become desync’d from their hitboxes and their true position on the table becomes unknowable, this results in invisible hitboxes and ‘phantom balls’ visually on the client. Phantom balls have no collision and their positions keep getting reset after taking repeated shots at them.

It is possible to get the true positions of the balls and their hitbxoes to sync again but it relies on hitting the invisible desync’d hitboxes with the cue ball first.

Notes / Media

It seems that the server is perhaps networking information regarding the wrong balls to the wrong client/table?


Thank you for this report. I’ll take a look into what’s going on and also I plan on reworking the netcode even further.