На протяжении многих лет главным предметом споров в комьюнити Counter-Strike был "тикрейт" (tickrate). Сервера матчмейкинга Valve работали на частоте 64 тика в секунду, а турнирные платформы вроде FACEIT — на 128. С релизом CS2 Valve полностью отменили это деление, внедрив революционную систему Sub-Tick (Саб-тик).
Проблема классического тикрейта
Тикрейт — это частота, с которой сервер обновляет состояние мира игры. При 64 тиках сервер делает "снимок" игры каждые 15.6 миллисекунд. Если вы нажмете кнопку выстрела между этими "снимками", сервер засчитает ваш выстрел только в следующий тик. Из-за этой микро-задержки возникали ситуации, когда вы точно видели кровь на модели врага, но сервер решал, что враг успел убежать за стену.
Решение Source 2: Саб-тик обновления
В CS2 серверы всё еще имеют базовый такт обновления, но теперь они обладают памятью. Система Sub-Tick позволяет серверу фиксировать точное время совершения действия (выстрела, прыжка, броска гранаты) с точностью до микросекунд, независимо от того, когда наступит следующий кадр симуляции.
"То, что вы видите — то и происходит". Это главный слоган архитектуры Sub-Tick от разработчиков Valve.
Как это меняет игру?
- Стрельба стала отзывчивее: "Тапы" из AK-47 и Deagle регистрируются в тот самый момент, когда вы нажали ЛКМ.
- Прыжки и раскидки: Раскидки гранат в прыжке (Jump-throws) теперь работают одинаково на любых серверах. Вам больше не нужно учить разные ориентиры для 64 и 128 tick серверов. Бинды (binds) на jump-throw стали встроены в движок — достаточно нажать пробел и бросок одновременно.