Каковы общие стратегии сервера кадр/с многопользовательская игра для обновления ее клиентов?

У друга и меня была дискуссия о том, как сервер кадр/с обновляет клиенты, подключенные к ней. Мы посмотрели видео парня, обманывающего в Поле битвы: Bad Company 2 и видела, как она выделила положение врагов на экране, и это получило нас взгляды.

Его конкуренция была то, что сервер только обновляет клиент с информацией, которая сразу относится к клиенту. Т.е. сервер не отправит информацию о вражеских плеерах, если они будут слишком далеко от клиента или из угла обзора клиента по причинам эффективности. Он был не уверен, хотя - он поднял пример кого-то скрывающегося позади скалы, которая не в состоянии видеть любого. Если бы плеер должен был внезапно открыться, где у него было три плеера в его углу обзора, была бы задержка на 50 мс, прежде чем они были представлены на его экране, в то время как сервер передал необходимую информацию.

Моя конкуренция была противоположным: то, что сервер отправляет клиенту всю информацию о каждом плеере и позволяет клиенту разобраться в том, что позволяется и что не. Я полагал, что на самом деле будет менее дорого в вычислительном отношении для сервера просто отправить все клиенту и позволить клиенту сделать тяжелый подъем, так сказать. Я также полагал, что это - то, как программы обмана работают - они прерывают пакеты сервера, получают местоположение врагов, затем показывают им на представлении клиента.

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

7
задан Hooray Im Helping 16 May 2010 в 20:50
поделиться

2 ответа

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

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

Некоторые дополнительные чтения:

11
ответ дан 6 December 2019 в 15:19
поделиться

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

Сказав это, я думаю, что трудно избежать отправки такого рода информации клиенту (и предотвратить такой вид мошенничества). Даже если прямой видимости нет, вам все равно может потребоваться отправить позиции (косвенно), поскольку клиенты могут захотеть использовать какую-то систему объемного звука, которая требует трехмерного местоположения источников звука и т. Д.

3
ответ дан 6 December 2019 в 15:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: