Я читал эту статью от Valve, которая, кажется, объясняет архитектуру их многопользовательской системы. Кажется, что они задерживают рендеринг с помощью пары тиков на клиенте, чтобы они могли обрабатывать отброшенные пакеты, но они также отправляют пакеты как «дельта-снимки» (разница между двумя соседними состояниями).
Предположим, у нас есть времена A, B, C, и клиент правильный в момент A, но отбрасывает пакет в B, а затем получает пакет в C. Как он может правильно определить состояние в момент C? Пакет в C сообщает (я думаю) только дельту между состояниями B и C, а клиент знает только состояние в A. Что мне здесь не хватает?