Valve удалила одну команду и сломала все передвижения в CS 2. Про-игроки в гневе
Все прыжки разные.
Ночью разработчики выпустили, казалось бы, небольшое обновление для CS 2 – добавили пару команд, убрали пару багов. Выглядит как рядовой патч на 300 мегабайт, после релиза такие выходят регулярно. Но одно изменение испортило мнение об игре у всех про-игроков – разработчики полностью переработали систему алиасов. Теперь все движения и прыжки в игре работают иначе, а профессионалы не могут к этому привыкнуть.
Подпишись на нашу телегу про CS: новости, инсайды и розыгрыши уже там!
Что такое alias?
Alias – команда, позволяющая создать синоним для любой другой команды или группы команд. Собственно, слово переводится как «иначе», но в игру термин пришел из программирования – в большинстве языков есть механизм псевдонимов, позволяющих разработчику создавать удобные названия для сложных типов данных. Звучит сложно? Вы все поймете на одном простом примере: команда «alias «+jp» «+jump» создаст новую команду jp, при вводе которой персонаж будет прыгать. Можно придумать любое название, кроме занятых уже существующими командами.
С помощью алиасов можно было удобно объединять несколько команд в одну, например для создания бинда на jumpthrow: alias «+jumpthrow» «+jump;-attack;-attack2;-jump», после чего было достаточно назначить его на любую кнопку. Они использовались для масштабирования мини-карты, для смены рук, для увеличения и уменьшения прицела. В CS 2 область их применения сильно ограничили – руку менять больше не нужно, jumpthrow якобы стал не нужен.
Да и все эти настройки всегда предназначались для очень узкой аудитории. Большинство казуальных игроков никогда не интересовались такой деталью. Но в CS 2 профессионалы нашли для alias новое применение.
Сабтик и мувмент
Научиться правильно двигаться в CS очень сложно. Подавляющее большинство игроков никогда не задумывается, но для про-игроков важна скорость передвижения, важна точность каждого смещения в сторону, важна высота и длина каждого прыжка. В конце концов, как говорилось в великой копипасте: «Баннихоп – это действительно очень крутая вещь, которая есть в CS:GO. С помощью баннихопа можно делать невероятно крутые мувы, делать просто восхитительные фраги и это действительно круто. Когда ты умеешь баннихопить, то ты испытываешь какое-то очень приятное чувство, что ты умеешь что-то больше в этой игре, чем другие и это очень прикольно».
Для про-игроков очень критично, если их шаги будут хоть немного отличаться от идеальных. В CS:GO все движения были одинаковыми, так как считались лишь между тиками. Если вы двинетесь вперед и отпустите кнопку, то сдвинетесь вперед на расстояние, которое пройдете до начала следующего тика. В CS 2 все работает иначе – каждое действие начинается и заканчивается, как только поступает соответствующий сигнал с клавиатуры, следовательно каждое движение будет уникальным.
Разработчики переделали работу всех команд, отвечающих за движение, но забыли заняться алиасами – вплоть до обновления они работали так же, как и в CS:GO. Следовательно, все прыжки и движения были одинаковыми. На картинке ниже отлично видна разница между стандартными биндами слева и кастомными справа.
Главная проблема в прыжках. Как бы разработчики ни уверяли, что они одинаковые, они совершенно разные. Особенно это заметно, если прыгать не только вверх, но и в какую-то из сторон. С прыжком, настроенным через alias, такой проблемы не было – все действия были одинаковыми.
Немного больше теории от реддитора Carnifex. Скорость в игре рассчитывается исходя из нескольких переменных: ускорение, интервал тиков, максимально возможная скорость и трение поверхности. Первая, третья и последняя – константы (на ряде поверхностей, например на льду, трение может быть другим, но таких мест нет на соревновательных картах). Максимально возможная скорость меняется лишь в зависимости от оружия, которое находится в руках игрока. В CS:GO тиковый интервал также был константой и зависел от тикрейта сервера. В случае тикрейта 64 он равнялся 0,015625 (1/64), а в случае 128 – в два раза меньше.
Но вот в CS 2 появился сабтик, а расстояние между тиками теперь можно высчитать. Поэтому теперь начальная скорость зависит от того, в какой момент тика вы начнете двигаться. Важное уточнение: движение все равно начнется в следующий тик, как и в CS:GO, но его скорость будет отличаться – в экспериментах Carniflex вплоть до двукратной разницы. Алиасы же отменяли связь между движением и сабтиком, так как они не передавали на сервер информацию о времени нажатия кнопки.
«Это обновление вредит игре». Про-игроки и аналитики против запрета алиасов
Spunj популяризировал идею алиасов в комьюнити, он же больше всех негодовал после их переработки: «128 тикрейт, бинды-алиасы. Давайте продолжать запрещать вещи, которые делают игру лучше, но не будем добавлять никаких фиксов. Больные». С ним согласился Twistzz: «Это обновление заставляет засомневаться [в действиях Valve]. Я надеюсь, что в следующем обновлении все починится. Я говорю о бинде для прыжков – с ним гранаты летят неточно, особенно те, которые даются в прыжке».
Главный искатель фишек в Америке – Austin – также расстроился из-за обновления: «Ребят, я начинаю волноваться насчет CS 2. Я все еще не теряю надежду, но это обновление вредит игре».
«Перестаньте удалять вещи, которые любят в комьюнити. Пожалуйста, оставьте хотя бы бинд для прыжков», – обратился к Valve Smooya.
Отлично пошутил Nbk: «Божьей помощи энтрифраггерам, которым теперь придется крутить рулетку – упадет ли смок или нет». Действительно, успехи в стартовых дуэлях почти всегда зависят от правильной раскидки тиммейтов. В матче BetBoom Team против Vitality команды промазали смоком в окно 4 раза – вполне возможно, что проблема была в движении.
Большой комментарий оставил Elige: «Без негатива, но зачем убирать что-то, чтобы испортить всем ощущения от игры? С алиасами у нас было последовательное движение после каждого тика, теперь оно регистрируется в диапазоне от 1 до 20, что хуже для всех. Если бы существовало правильное решение проблемы, подходившее всем, то я бы, конечно, понял исправление костыля. Но фикса нет, очень легко проверить, что движение и прыжки непоследовательны».
А Ропз даже поделился инсайдом: «Valve, скорее всего, удалит cfg-файлы. Это очень плохо, но это произойдёт с шансом в 99%». Без cfg-файлов любая индивидуальная настройка игры станет намного сложнее.
Alias уже ограничены на турнирах ESL. Но IEM Sydney доиграют на старом патче
Еще десятого октября тренер женского состава Evil Geniuses написал в X, что общался с администраторами ESL, которые подтвердили запрет на некоторые алиасы, отвечающие за движение. В качестве примера он привел несколько запрещенных биндов:
- alias «_checkw» «-forward; alias checkw»
- alias «+w» «+forward; alias checkw _checkw»
- alias «-w» «checkw»
- bind «w» «+w»
Все четыре команды решают лишь одно действие – движение вперед при нажатии кнопки W. Впрочем, комьюнити известно и другом способе обмануть сабтик – с помощью команды clear. Например: «bind «w» «+forward; clear». По словам Muenster, из алиасов ESL разрешили пользоваться лишь биндом для прыжка. Вероятно, ограничение ESL действует для защиты от создания скриптов, с помощью которых у каждого игрока было бы идеальное движение.
ESL не стала переводить IEM Sydney на новую версию, так как посчитала изменения в мувменте слишком значительными. Видимо, первыми крупными турнирами на новой версии станут Roobet Cup и Thunderpick World Championship. Игроков на них ждет большое испытание – им нужно будет привыкнуть к новым ощущениям от передвижения, так еще и играть в онлайне.
Кажется, Valve создала гениальный мувмент. Но накосячила в расчетах
Сервер продолжает подсчеты лишь 64 раза в секунду, но теперь он основывается на точных данных клиента. Между ними создается разница в диапазоне 0-16 мс в зависимости от времени нажатия на клавишу. Сервер компенсирует эту разницу, высчитывая вашу скорость за эти несколько миллисекунд. Реддитор Mahi подвел логичную теорию: сейчас сервер компенсирует пользователю скорость, но забывает про расстояние, которое он должен был бы преодолеть за эти несколько миллисекунд, из-за чего движение может быть неправильным.
Он утверждает, что если ошибка Valve действительно в вычислении расстояния, а не в ограничениях движка, то после ее исправления в игре будет идеальная система. Mahi считает, что игра сможет работать на уровне десятимиллионного тикрейта! Звучит круто и невероятно, правда?
Но нужен ли такой идеальный подсчет аркадному шутеру? При столь точном вычислении каждого передвижения игрока, все движения навсегда станут уникальными. В CS:GO у каждого игрока был зазор в 8-16 мс между тиками, в которое у него было время убрать палец с кнопки. Оно позволяло нивелировать проблемы с инпут лагом – сигнал от входного устройства успевал обработаться на компьютере и отправиться на сервер.
Теперь же игрокам не получится делать стандартные движения – каждое будет уникальным, из-за чего добиться идеального мувмента будет практически невозможно. Сейчас вся ситуация выглядит как ошибка или баг, но, возможно, разработчики планировали сделать это фишкой игры. Было бы славно, если бы Valve сама объяснила чего она хочет от сабтика и почему убирает костыли, возвращающие про-игроков в их уютный мир.