Пятница, 2017-11-24, 8:36 AM
Приветствую Вас Гость | RSS
DR@1VER-team
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории каталога
Мои статьи [10]
Приколы КСС [1]
Обзоры оружия [6]
Здесь лежат детальные обзоры оружий в css
Басни css [1]
Наш опрос
Оцените мой сайт
Всего ответов: 396
Главная » Статьи » Мои статьи

Ситуация «Холостой выстрел!»:
«Вы стреляетесь с врагом, попадаете - видите, что на его теле и вокруг есть кровь, но в итоге попадание не были зарегистрированы и враг не получил ни одного повреждения.»

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

Взглянем на скриншот и посмотрим, и убедимся в том, что модели на сервере и на клиенте находятся и, правда, в различных позах.

IPB Image

Отметим, что разница между позициями ног на сервере и клиенте существенно велика (сервер – синий хитбокс, клиент - красный). Выстрел, который сделал игрок, отмечен красной буквой «А», он не будет зарегистрирован на сервере, так как там эта же нога находится в другом месте. Но игрок будет уверен, что попал по врагу.

А вот типичный пример, когда попадание не регистрируется сервером – я стреляю в край рюкзака (который естественно имеет разные положения как на сервере так и у меня на мониторе), и синий бокс оказался на стене позади, поскольку сервер не регистрировал ранение.

IPB Image

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

На 16 местном сервере получится следующее:
16х15=240 позиций моделей, которые надо обработать, просчитать и протестировать на попадания, все ли модели были в зонах попадания или нет, и зарегистрировать и отсечь попадания и промахи (в худшем случае).

Таким образом подобная задачу просто нереально просчитать.

Но не стоит забывать, что бывают и также обратные ситуации (вы промахиваетесь у себя на компьютере, но сервер засчитывает вам попадание), таким образом стрельба выравнивается.

smile.gif wink.gif Итого:

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

2. Руки и ноги самые тяжело попадаемые места, из-за их постоянной подвижности. То есть, как было сказано выше, на сервере и клиенте практически всегда они имеют разную позицию (регистрируется всего около 70% попаданий), та же ситуация и с головой.

3. Брызги крови – исключительно клиентская часть, и это вовсе не показатель того, сколько раз Вы попали в игрока. Но, кровь, которая остается на стенах и полу – серверная часть, по ней можно как раз судить о зарегистрированных попаданиях. Искры от бронежилета так же не показатель попадания. Высокий пинг (до поры пока не начнется потеря пакетов и choke) особо не влияет на Вашу игру из-за корректировки лагов. Предел я вам не могу точно назвать (может 100-150), так как протестировать игру на высокий пинг не было возможности.
Категория: Мои статьи | Добавил: D@Rk_NekRoN (2008-05-06)
Просмотров: 428 | Комментарии: 8 | Рейтинг: 5.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright MyCorp © 2017

Бесплатный хостинг uCoz