Как стать автором
Поиск
Написать публикацию
Обновить
0
0
Кирилл Волков @DrDebugIt

Пользователь

Отправить сообщение
В обычной сетевой игре все же происходит другая последовательность действий при нажатии на кнопку:
1) Приходит стейт по сети.
2) Кадр рендерится и отображается для игрока (при этом кадров рендрится больше чем приходит стейтов, происходит интерполяция, которая сгалживает «шаговость» происходящего).
3) Игрок нажимает кнопку:
3а) На клиенте происходит предсказание, и игрок перемещается в своем мире так, как будто игрок играет локально.
3б) Дейстиве уходит на сервер.
4) На сервере происходит «магия» с корректировками, откатами в прошлое, так как сервер всегда работает с прошлым.
5) Возвращаемся к пункту 1.

В чем принципиальная разница?
На клиенте есть 2 техники которые обеспечивают плавность игрового процесса:
1) Локальные предсказания по инпуту игрока;
2) Интерполяция прошлого, по данным с сервера.

Эти техники помогают снизить количество трафика. Размер стейта в хороших играх не превышает MTU.

В технологии стрименга ни какого локально предсказания не будет, интерполяции тоже. Таким образом качество игры будет зависеть исключительно от качества соединения, ни каких техник позволяющих компенсировать лаг применить не получится, так как они требуют проигрывания игровой логики на клиенте.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность