Разработчики игр используют временные коды для взаимодействия с игроками, например, для синхронизации действий и отображения состояния игрового мира. 14
Некоторые способы использования временных кодов:
- Перемотка времени на сервере. 1 Игрок видит себя в настоящем, а весь остальной мир — в прошлом. 1 На сервере хранится история мира и история физики. 1 В момент просчёта действия данные игрока берутся с текущего состояния мира, а остальных игроков — из истории. 1
- Использование сетевого кода на основе задержки. 2 Когда входные данные удалённого игрока поступают с опозданием, игра задерживает входные данные локального игрока, чтобы синхронизировать два потока данных и запускать их одновременно. 2
- Буферизация входящих данных. 5 Включает всё время с момента, когда данные о движении получены из сети, до выполнения и отображения этого движения на экране для клиентов. 5
- Предсказание действий игрока. 5 Если сервер не получает необходимое обновление от клиента вовремя, он предсказывает, что сделал бы игрок. 5 Обычно предполагается, что игрок продолжает удерживать клавиши, которые удерживались при последнем полученном обновлении несколько миллисекунд назад. 5
Таким образом, временные коды помогают обеспечить плавное взаимодействие между игроками и сервером, а также компенсировать возможные проблемы с подключением. 15