Новость

Ub1que объяснил, как будет работать новая система тикрейта на Source 2

8

Бывший профессиональный игрок в CS:GO Алексей ub1que Поливанов рассказал о новой системе тикрейта, которая, возможно, появится при переходе шутера на движок Source 2. Пояснение Поливанов опубликовал в личной группе во «ВКонтакте».

Публикуется с сохранением орфографии и пунктуации источника

Алексей ub1que Поливанов
Алексей ub1que Поливанов

Предполагаю, что они действительно сделают условно безтиковую систему, но только для расчета попаданий. Не секрет, что для движка модельки двигаются не плавно, а дискретно, 64/128 раз в секунду. Позиций "посередине" для сервера не существует со всеми вытекающими для игрока — у него просто не будет засчитывать попадания по моделькам, которые на его экране находятся в промежуточном положении.

Однако на помощь нам могут прийти костыли — в нашем расчете лагокомпенсации начнем учитывать дополнительную переменную, а именно время с начала тика, в которое игрок совершил выстрел. На пальцах — тик длится 7.8 миллисекунд (1000/128); если выстрел совершен спустя 3.9мс после обработки клиентом тика — значит, моделька находилась ровно посередине предыдущего и следующего тика. Рассчитать ее координаты после этого — тривиальная задача. Нечто подобное я кодил для своего surf-сервера, чтобы подсчитывать результаты с точностью выше одного тика. То же самое делается и для подсчета межтиковой позиции игрока (хотя это не так актуально, т.к. на ходу почти никто не стреляет).

Более высокий тикрейт сейчас как никогда актуален, ведь фпс выше 300 давно перестал быть диковинкой, однако просчитывать всю карту полсотни раз в секунду слишком проблематично. Такой "виртуальный" тикрейт может быть фактически неограниченным 
 лишь бы фпс игрока позволял — а рост нагрузки на сервер будет незначительным, т.к. обработка будет идти лишь в момент стрельбы. Но это, конечно, только догадки. Гадать по названиям переменных — занятие не для слабонервных.

Ранее российский контент-мейкер и датамайнер Максим Gabe Follower Полетаев заявил, что Valve может изменить систему тикрейта в CS:GO. В коде игры он нашел новые переменные, которые называются tickless и subtick. 

Комментарии