В CS2 граната — это не координата, а журнал отскоков. Разбираем, почему после обновления коллизий или семплинга дефолтные линии дружно смещаются на полшага и как их правильно переучивать.
Многие понимают гранаты как «запоминание координат»: встал в этот угол, прицелился в этот кирпич, прыгнул и бросил. Проблема в том, что в CS2 граната — не телепортирующийся объект, а жёсткое тело с начальной скоростью, подчиняющееся гравитации и многократно сталкивающееся с геометрией. Патч меняется, координаты остаются прежними, а точка падения смещается. Вот почему одна и та же дефолтная линия после очередного обновления дружно «не долетает полшага».
1. Журнал отскоков: сколько раз «переписывается» один бросок
Если разобрать один дым, его точка падения складывается из четырёх слоёв.
Первый слой — параметры броска: позиция, угол наклона камеры, скорость движения, прыжок или нет. Этот слой игроки замечают легче всего и чаще всего принимают за всё целое. Второй слой — реакция на столкновение: коэффициент отскока и трение при ударе о стену, пол, ящик. Третий слой — сама геометрия: чуть больше ли хитбокс ящика, чем визуальная модель, разбита ли коллизия склона на сегменты, есть ли у дверной рамы дополнительная плоскость столкновения. Четвёртый слой — семплинг: сервер продвигает физику по тикам, и микроскопическое смещение в момент броска квантуется.
Самое неприятное — второй и третий слои. Они не «видны» так, как позиция, но стоит патчу изменить хитбокс ящика, коллизию склона или плоскость дверной рамы — и граната на втором отскоке получает новое направление. На практике это выглядит так: дым не накрывает плент, а повисает на стене; флешка не перелетает карниз, а бьётся о кромку и отскакивает назад.
Поэтому суть линии — не координаты, а журнал отскоков: где произошло первое столкновение, под каким углом отскочило, сколько скорости съел второй отскок, насколько велика итоговая ошибка. Координаты — лишь обложка этого журнала.
2. Почему дефолтные линии нужно перерисовывать под каждый патч
Ценность дефолтной линии — в «стабильном воспроизведении». Если разброс точки падения дефолтного дыма укладывается в полкорпуса, команда может через десять секунд после старта раунда, не глядя на результат, идти на ротацию. Но стабильность линии держится на одном условии: журнал отскоков не меняется.
Как только патч трогает коллизии или семплинг, дефолтная линия даёт три типовых отказа.
Отказ смещения: точка падения целиком сдвигается. Чаще всего из-за изменения хитбокса ящика — дым съезжает с края плента наружу. Чинится проще всего: достаточно чуть поправить позицию.
Отказ разветвления: один и тот же бросок с разных позиций даёт две разные точки падения. Чаще всего из-за правки коллизии склона или карниза — на граничном угле граната либо перелетает, либо гасится. Это самый опасный случай: в тренировке десять успехов из десяти, а в матче три провала.
Отказ задержки: точка падения верная, но дым раскрывается на такт позже. Чаще всего из-за тонких изменений семплинга или продвижения физики — дым вроде «на месте», но противник уже увидел твою позицию. Это самый скрытый случай: на записи ничего не видно, и только в игре чувствуешь: «почему всегда на полтакта позже?»
Дефолтную линию перерисовывают не потому, что старая «неправильная», а потому, что окно допуска старой линии сузилось. Цель перерисовки — не найти новые координаты, а снова найти линию с максимальным допуском: чтобы при небольшом смещении позиции дым всё ещё падал, а при чуть более раннем броске всё ещё долетал.
3. Как тренировать: граната как модель, а не как заклинание
Советую разбить каждую дефолтную гранату на три шага перетренировки.
Шаг первый: фиксируем позицию, меняем только угол камеры. Ищем зону чувствительности точки падения к наклону — то есть «перелетит ли, если поднять на одно деление». Этот шаг измеряет границу разветвления.
Шаг второй: фиксируем угол, меняем только позицию. Сдвигаемся на полшага вперёд-назад-влево-вправо и смотрим, куда дрейфует точка падения. Этот шаг измеряет допуск смещения.
Шаг третий: добавляем движение и прыжок, измеряем тайминг броска. Этот шаг измеряет допуск задержки.
После трёх шагов у вас появится собственная карта допусков: какие параметры можно ослабить, а какие нужно заучить намертво. В матче спасает не «я выучил этот дым», а «я знаю, при каких условиях этот дым ломается и куда нужно докрутить, когда он ломается».
Патч не страшен. Страшно считать новую траекторию по старому журналу. Перетренировка линий под патч — это тренировка не памяти, а понимания модели отскоков. Понимаешь журнал — при смене патча меняешь пару цифр. Не понимаешь — начинаешь заучивать заклинания с нуля.