В архитектуре sub-tick CS2 ввод фиксируется с временными метками внутри тика, но кривая затухания скорости остаётся физической. Истинное окно остановки — это десятки миллисекунд до и после пересечения нуля скоростью. Sub-tick считает это точнее, но не расширяет окно. Нужно перестроить тайминги коррекции мыши и нажатия обратной клавиши.
Введение
Многие понимают стоп-шот как «нажатие на тормоз». Но в архитектуре sub-tick CS2 ваши нажатия A и D не сэмплируются в конкретном кадре — они записываются с временными метками внутри одного тика. Проблема в том, что между моментом записи и моментом расчёта траектории есть слой интерполяции, до которого вы не дотянетесь. Окно остановки — это по сути задача «переключения передач», а не «тормозного пути».
1. Что sub-tick даёт и что забирает
Логика старого 128-тика: ввод сэмплируется раз в тик, траектория считается по тикам. Вы отпускаете D, и если это совпало с границей тика, в следующем тике скорость обнуляется, траектория стабильна. CS2 вынес сэмплирование ввода из тика. Теоретически «та миллисекунда, когда вы отпустили», будет записана, и сервер построит позицию по этой метке.
Звучит хорошо. Но в реальном бою вы увидите, что при спрее ствол всё ещё плавает, а первый выстрел всё ещё «необъяснимо» уходит в сторону. Причина не в точности сэмплирования, а в кривой затухания скорости. После отпускания клавиши скорость не обнуляется мгновенно — она затухает с обратным ускорением. Sub-tick позволяет раньше записать само действие «отпускания», но не меняет время, необходимое для затухания.
Иными словами: сервер раньше узнаёт, что вы хотите остановиться, но персонаж всё равно проскальзывает небольшой отрезок. Этот отрезок и есть реальная ширина окна остановки.
2. Окно остановки — не ноль, а интервал
Разделим стоп-шот на три фазы:
- Инверсия ввода: вы нажимаете обратную клавишу, ускорение начинает действовать в обратную сторону.
- Пересечение нуля скоростью: реальная скорость персонажа переходит из положительной через 0 в отрицательную. Этот момент — «самая стабильная» точка.
- Обратное ускорение: если держать слишком долго, персонаж начинает двигаться в обратную сторону, и траектория снова рассеивается.
Sub-tick меняет точность записи фазы 1 и точность физического расчёта фазы 2, но фаза 3 полностью зависит от ваших пальцев. Проблема большинства — слишком долгое удержание обратной клавиши. Они думают: «Чтобы остановиться, нужно держать A». Но после пересечения нуля каждая лишняя миллисекунда создаёт смещение для следующего выстрела.
Настоящее окно остановки — это узкая щель в несколько десятков миллисекунд до и после пересечения нуля. Sub-tick вычисляет эту щель точнее, но не делает её шире.
3. Возврат прицела: проигнорированный «второй стоп-шот»
Большинство заботится только о том, остановился ли персонаж, а не о том, вернулся ли прицел. Это две разные вещи.
Скорость персонажа обнуляется — базовый разброс траектории возвращается к минимуму. Но у самого прицела есть визуальный процесс возврата: ваша рука корректирует мышь в обратную сторону, и эта коррекция с кривой скорости персонажа — две независимые кривые. Если персонаж остановился раньше, а мышь пришла позже, первый выстрел всё равно уйдёт в сторону.
При sub-tick расчёт траектории на сервере ближе к метке времени вашего «нажатия огня». Это значит: коррекция мышью должна завершиться раньше, чем замедление персонажа, а не позже. Раньше сэмплирование по тикам давало небольшой «буфер», теперь буфер сжат.
На практике ритм стоп-шота нужно тренировать наоборот: сначала возврат мыши, потом обратную клавишу. Потому что мышью вы управляете активно, а замедление персонажа — пассивный расчёт.
4. Конкретное упражнение на тренировочной карте
На карте с движущимися мишенями из мастерской не спешите стрелять по статичным мишеням. Используйте мишень как «метроном»:
- Двигайтесь вправо на D, когда мишень входит справа в прицел — сначала верните мышь, затем нажмите A.
- Время удержания A не должно превышать момент, когда вы почувствовали, что «персонаж остановился».
- Стреляйте.
Запишите своё демо и в замедленном воспроизведении посмотрите на три вещи: момент пересечения нуля кривой скорости, момент остановки мыши, метку времени выстрела. Чем ближе эти три точки, тем чище ваш стоп-шот. Sub-tick не сделает это за вас — он лишь делает ошибку более заметной.
Стоп-шот никогда не был вбиванием персонажа в землю. Это выравнивание скорости, прицела и выстрела одновременно в правильные десятки миллисекунд. Sub-tick сделал линейку точнее, но измеряете всё равно вы.