После падения дыма: «перестройка версии» базовых линий утилиты и скрытая амортизация отскоков гранат

9 ноября 2026 г. в 16:00:09

Базовые линии утилиты — не статичные координаты. Траектория гранаты определяется начальной скоростью, гравитацией, нормалью поверхности столкновения и затуханием отскока. После патча первым ломается не «пиксель», а память о среднем участке траектории. Разбираем траекторию на три сегмента, скрытую амортизацию отскоков и протокол переобучения.

Базовые линии утилиты чаще всего понимают как статичный набор координат: встал здесь, навёл на этот угол, прыжковый бросок — дым упал туда. Один раз выучил, записал в заметки и копируешь в каждом патче. Проблема в том, что граната от вылета до приземления — не прямая, а траектория, определяемая начальной скоростью, гравитацией, нормалью поверхности столкновения и затуханием отскока. Когда версия меняется, первым обычно перестаёт работать не «пиксель», а твоя память о среднем участке траектории.

Траекторию нужно смотреть в трёх сегментах, а не только в точке падения

Я привык разбирать одну гранату на три сегмента: сегмент вылета, сегмент полёта и сегмент столкновения. Сегмент вылета задаёт начальную скорость и угол, сегмент полёта определяет, не съест ли гранату геометрия в воздухе, а сегмент столкновения — итоговую точку после отскока. Большинство запоминает только точку падения, поэтому если дым ушёл на полметра, списывает это на «дрогнула рука». Но настоящая причина часто в сегменте столкновения: текстура той же стены не изменилась, а стыки коллизии, высота ящиков или наклон потолка после какого-то обновления были выровнены заново. Твой вылет не ошибочен — изменился переход от второго сегмента к третьему.

Вот почему базовые линии утилиты нужно переучивать под каждую версию. Переучиваешь не «где стоять», а «куда смотреть». Нужно заново подтвердить ориентиры, которые граната проходит на среднем участке полёта: какой край карниза, какой пиксель угла ящика, какая полоса цветов скайбокса. Точка падения — результат, а ориентиры — воспроизводимый вход.

Отскок — это скрытая амортизация, а не фиксированный налог

Самое коварное в отскоке то, что он выглядит стабильным. Флешка, отскакивающая от стены, первые двадцать раз падает в одно и то же место, а на двадцать первый вдруг катится по полу в угол. Думаешь, повезло, а на деле угол падения приблизился к критическому значению: чуть другое отклонение — и нормальная составляющая уводит скорость совсем в другом направлении. Если обновление меняет ориентацию любой поверхности столкновения или параметры трения, эта критическая линия смещается целиком.

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

Тетрадь переобучения: три линии, один заход

Мой протокол переобучения простоват, но экономит время. Первая линия — «проверочная»: кидаю только пять самых ходовых базовых дымов, записываю отклонение точки падения от ориентиров и определяю, это общий сдвиг или точечный дрейф. Вторая линия — «отскоковая»: беру две гранаты, зависящие от рикошета, и проверяю, не сузилась ли зона допуска. Третья линия — «альтернативная»: для каждой гранаты с узкой зоной допуска готовлю плоский вариант без отскока — пусть перекрывает не идеально, зато страхует в первые двадцать секунд раунда.

Смысл этой тетради не в погоне за совершенством, а в том, чтобы превратить «на этой неделе не работает» из эмоции в локализуемую проблему. Траектория гранат амортизируется с версией, и базовые линии утилиты тоже. По-настоящему стабильна не какая-то дымовая граната, а твой метод её перенастройки.