Ответ 1
Нет однозначного ответа на этот вопрос, но существуют различные стратегии, которые люди приспосабливают для решения этой ситуации.
Переход от использования протокола UDP (если вы используете связь на основе сокетов, о которой я вам порекомендую, потому что каждый вопрос имеет значение в играх в реальном времени.Я думаю, что google api имеет UDP, который является ненадежным обменом сообщениями.И снова у меня нет опыта работы с google-realtime- api) для обмена сообщениями с интерполяцией, мертвым расчетом, прогнозами на стороне клиента и т.д. всего лишь немного.
Это очень обширная тема для ответа здесь. Когда я сделал свою игру на основе многопользовательских танков, я сделал несколько вещей, чтобы сделать вещи немного более гладкими.
- Используемый протокол UDP для отправки движений на сервер.
- Я сохраню две записи на стороне клиента для игрока. Один - это текущее значение, а одно значение - значение. Затем я умножу текущее значение с коэффициентом сглаживания, например, 0.3f, до момента, когда он не будет равен установленному значению. (Это помогает уменьшить колебания)
- Я бы отправил важные сообщения через TCP.
То, что я упомянул, описывает то, что я сделал в своей игре, но можно использовать в любом. Хотя я бы предложил вам прочитать статьи на этом сайте под названием Gaffer on Games
Опять эта область огромна, и никакой ответ не поможет вам. Я сделал диссертацию на эту тему и до сих пор не могу дать окончательного ответа. Вам нужно будет прочитать много статей и смоделировать то, что вы узнаете, в соответствии с вашими потребностями.