Доклад

Игровой сетевой КОД, или Как приготовить UDP

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

В соревновательных сетевых играх, например шутерах, исход матча может зависеть от считаных миллисекунд, и мы не можем себе позволить, чтобы их «общий мир» рассинхронизировался. Классические подходы тут неприменимы. Посмотрим, как устроен игровой сетевой код, начиная с транспортного уровня модели OSI, сериализации и упаковки битов, заканчивая клиентскими предсказаниями, серверными перемотками и детерминированной физикой.

Спикеры

Расписание