Синхронизировать мир box2d через сеть - PullRequest
0 голосов
/ 05 января 2019

Мы с коллегами делаем многопользовательскую игру, используя Box2D и C ++. И клиент, и сервер имеют мир box2d. В начале, используя наш собственный простой NTP-подобный протокол, я получаю одинаковое время на клиенте и сервере. Например, после перемещения слева тело получает некоторую линейную скорость, и такое же значение скорости отправляется на сервер (и применяется к телу персонажа сервера). У меня проблема с этим - между отправкой и получением события на сервере разрыв составляет около 15 мс (конечно, это зависит от пропускной способности сети), и мир собирается не синхронизироваться. Я пытаюсь отправить событие перемещения на сервер и выполнить это перемещение после получения ответа от сервера, но задержка заметна. Как я могу решить это по-другому?

animation of the problem

...