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