Counter-Strike 2

Counter-Strike 2

View Stats:
rose ♡ Aug 29, 2023 @ 11:37pm
📡 Как работает Sub-Tick в Counter-Strike 2 - Объяснение
Valve в своём громком анонсе 22 марта анонсировали новую функцию для улучшения передвижения и стрельбы - Sub-Tick. Со слов разработчиков, тикрейт больше не будет иметь значение - так ли это?

💬 Тикрейт в CS:GO - это частота симуляции игрового мира в секунду. За каждый тик сервер обрабатывает команды, симулирует физику, обновляет состояние объектов игрового мира. После завершения симуляции тика, сервер определяет каким клиентам нужно обновление и отправляет пакет с недостающими клиенту тиками.

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

💭 Нужно ли повышать тикрейт вообще? Давайте посчитаем!

Берём за основу эти данные:
Время тика на 64 tickrate: 15.625ms
Время тика на 128 tickrate: 8.8125ms

При скорости 250u/s и резком изменении направления движения максимальное отклонение составляет 1 юнит - примерно 2см роста модельки или же 11 пикселей на FullHD мониторе. Это меньше, чем размер текста, который вы читаете, а такое мгновенное изменение направления движения на максимальной скорости попросту невозможно в обычной игре!

💢 Человек разницу определить, как любят говорить в народе, "по ощущениям" не сможет. Разница в качестве игры будет зависеть от множества других факторов. В теории тикрейт клиента можно ограничить, чтобы повысить FPS очень значительно!

* Математику оставил за кадром, интересующиеся могут обратиться ко мне, я предоставлю весь материал с демонстрацией примеров, исходного кода Source и документации Valve

🔥 Тикрейт повышать не нужно, а Sub-Tick тогда зачем? ГЕНИАЛЬНОЕ РЕШЕНИЕ!

Главная проблема тикрейта такова: если сервер сравнивает два одинаковых по порядку тика, то отдаёт приоритет тому, который "пришёл" первым - соответственно пинг будет один из решающих фактором. При этом это работает в обе стороны: сложите два пинга одинаковых по скиллу игроков и выигрывать всегда будет более агрессивный стиль игры, при этом без разницы был это игрок с высоким пингом или наоборот.

✅ Как раз для этого редкого случая придумали "Sub-Tick" - сервер станет сравнивать не пинг одинаковых тиков, а "shift" - смещение во времени после начала тика. Система в оригинале называется "Tick-Shift". Визуализацию смотрите на скриншоте.

И да, больше применения у Sub-Tick нет в данный момент. Он так же не влияет на физику движений, сервер по-прежнему просчитывает её на основе тиков, на самом деле я не нашёл практического применения Shift-Tick для движений в клиенте игры.

Заключение такого: это очень простое и лучшее решение, которое позволяет увеличить точность сравнения событий, не увеличивая нагрузку на симуляцию игрового мира. Способны ли вы это почувствовать? Едва ли - разница крайне мала, человек даже кликает в 4-8 раз дольше интервала между тиками.

Лично я буду очень рад, если игроки Counter-Strike поумнеют и обуздают тикрейты ниже 64, ведь тем же Danger Zone или Casual 10x10 это очень помогло бы.

https://steamcommunity.com/sharedfiles/filedetails/?id=3028008932
< >
Showing 1-3 of 3 comments
Cl1cks Oct 3, 2024 @ 2:13am 
как найти штуку как на картинке?
онанешница с баном и накрученными часами.
Слабоумие и мультики...
Cl1cks Nov 7, 2024 @ 9:27pm 
Originally posted by notoriousP.i.G:
онанешница с баном и накрученными часами.
Слабоумие и мультики...
понятно
< >
Showing 1-3 of 3 comments
Per page: 1530 50

Date Posted: Aug 29, 2023 @ 11:37pm
Posts: 3