Я нахожу это сообщение в блоге по сетевой физике Гленна Фидлера, и даже более того, отклик / обсуждение под ним, потрясающе. Это довольно долго, но стоит.
В итоге
Сервер не может идти в ногу с повторяющимся моделированием всякий раз, когда вводится информация, полученная от клиента, в современном игровом симуляторе физики (то есть, динамика транспортных средств или твердого тела). Поэтому сервер упорядочивает задержку всех клиентов + дрожание (время) перед сервером, чтобы все входящие пакеты приходили в JIT до того, как сервер будет нуждаться в них.
Он также дает общее представление о том, как обращаться с типом собственности, который вы запрашиваете. Слайды, которые он показал на GDC, потрясающие!
Обман
Сам мистер Фидлер (и другие) утверждают, что этот алгоритм страдает от недостаточной защиты от мошенничества. Это неправда. Этот алгоритм не менее прост или труден в использовании, чем традиционное предсказание клиент / сервер (см. Статью о традиционном предсказании клиент / сервер в ответе @ CD Sanchez ).
Чтобы быть абсолютно ясным: обмануть сервер не просто, потому что он получает физическое позиционирование сети как раз вовремя (а не на x миллисекунд позже, чем в традиционном прогнозировании). На клиентов это никак не влияет, поскольку все они получают информацию о позициях своих оппонентов с той же задержкой, что и при традиционном прогнозировании.
Независимо от того, какой алгоритм вы выберете, вы можете захотеть добавить чит-защиту, если выпускаете крупный титул. Если да, я предлагаю добавить шифрование против стог-ботов (например, потоковый шифр XOR , где «поток ключей генерируется генератором псевдослучайных чисел») и простые проверки работоспособности по трещины. Некоторые разработчики также реализуют алгоритмы для проверки целостности двоичных файлов (для уменьшения риска взлома) или для того, чтобы убедиться, что пользователь не запускает отладчик (для снижения риска разработки взлома), но они являются более спорными.
Если вы просто делаете небольшую инди-игру, в которую могут играть только несколько тысяч игроков, не беспокойтесь о реализации каких-либо античит-алгоритмов, пока 1) они вам не понадобятся; или 2) база пользователей увеличивается.