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