Как стать автором
Обновить

Комментарии 29

А как это работает? Если в шутере одновременно зажать A и D, например, как отреагирует игра? Будет колбасить в разные стороны?

Позволяет совершить мгновенную остановку + начать стрельбу в CS.

а почему производители игр позволяют получать противоположные команды в игре и "ругают" тех, кто так делает? То есть, почему в самой игре/движке не устранить эту фичу?

На клавиатуре нельзя запретить нажимать 2 кнопки одновременно, поэтому в играх уже есть логика для подобных ситуаций (как работает в CS есть видео ниже веткой). Razer с этой фичей отдаёт только одну кнопку, тем самым обходя внутриигровую логику и давая ряд преимуществ (и маленький недостаток в виде необходимости отпускать оба боковых направления чтобы встать) использующим.

Нельзя эту фичу устранить, тк это фича и есть. И дело не в получении противоположной команды, а в идеальном тайминге получения их: нажал A - отпустил A - нажал D.

Вы немного путаете, это рапид триггеры.

Вся эта возня идёт вокруг стрейфов, то есть, быстрой смены направления движения.

В классической механике есть точка срабатывания клавиши. Пока клавиша(свитч) ниже этой кнопки, то она считается нажатой. И вы, условно, двигаетесь влево даже если отпустили А, потому что пружинке нужно время, чтобы вернуть клавишу в положение выше точки срабатывания.

Клавиатуры с датчиками Холла позволяют настроить эту точку срабатывания, но проблема с точкой срабатывания остаётся.

Далее придумали рапид триггер - все также есть точка срабатывания, но теперь, так как клавиатура с датчиками холла знает точное положение клавиши, то поверх накрутили логику обработки направления движения клавиши. То есть, до точки активации при нажатии А вы не двигаетесь. При прохождении точки активации вы начинаете двигаться влево. Пока клавиша движется вниз или находится в крайнем нижнем положении - она считается нажатой. Как только клавиша начинает движение вверх - клавиатура сразу перестаёт считать её нажатой. При повторном начале движения вниз она снова считается нажатой. Это rapid trigger

А теперь про snap tap и почему его запрещают. Чтобы двигаться влево-вправо нужно очень точно нажимать кнопки и всегда отпускать кнопку противохода при нажатии второй ею кнопки. То есть жмем А, движемся влево, отпускаем А и только после того, как кнопка пошла вверх, нажимаем D, движемся вправо, отпускаем D и нажимаем А. И так по кругу.

Когда все это делается руками, то есть моменты, когда обе кнопки нажаты и вы стоите/продолжаете движение. Есть моменты, когда кнопка отжата, а противохода ещё не нажата и вы стоите. Потому что вы человек и не можете нажимать кнопки идеально. И тут рейзеры делают финт ушами и программно позволяют включать следующую логику: вы выбираете сет кнопок(А и D) и для него нажатие кнопки(мы помним, что для рапид триггеров это любое движение вниз) отменяет считывание всех других кнопок из сета. То есть, вместо точных таймингов вы получаете ленивые качельки для А и D, вам просто нужно как можно быстрее нажимать клавиши и все, клавиатура сама минимизирует вам тайминги. Это snap tap. И именно поэтому его запрещают, так как ПО делает за игрока вещи, которые он делать не может

Лучшее объяснение, спасибо

И как Valve это выцепляет? По низким таймингам? Т.е. если эти функции возложить на контроллёр клавиатуры, например QMK, то тоже забанят?

Без понятия, как именно они это делают, никогда не интересовался особо cs и особо их кухню не знаю. Вроде, писали в комментах, что по таймингам смотрят, они стабильно минимальные там получаются. Скорее всего так и есть, потому что детектятся фича, которая есть и на рейзерах, и на вутинге, и на китайцах.

Интересная идея, кстати - если сделать тайминги очень маленькими, но рандомными - будет ли это детектиться?

Ну и, вроде бы, не банят, а просто кикают с матчей пока что

Вот, кстати, если бы я писал какое-то читерское ПО, я бы делал рандомным абсолютно всё. В определенных пределах, конечно.

Если в шутере одновременно зажать A и D, например, как отреагирует игра?

Обычно, персонаж просто останавливается на месте, как будто ни A, ни D не зажата. Но вообще зависит от движка и пряморукости разработчиков.

Snap Tap - это что-то типа NKRO наоборот (хотя и не совсем фантомное нажатие\ghosting). NKRO позволяет нажать сколько угодно клавиш за раз, а SnapTap шлёт информацию только о последней нажатой клавише. То есть, если нажать и удерживать A, и затем тапать по D, то клавиатура будет посылать информацию о D, когда она нажата, и информацию об A, когда D отпущена. A + D такая клавиатура не пошлёт.

На видео хорошо показывают, как это выглядит со стороны OS\игры.

Спасибо, по ролику всё стало понятно!

С проблемой одновременно вводимых противоположных направлений (SOCD) больше 10 лет как столкнулись в файтингах, там она давно и расписана и методы "зачистки" рассмотрены. Как раз "приоритет у последней нажатой клавиши" забанен всеми турнирными организаторами (:

NKRO это N key rollover. То есть все клавишы видны сколько бы ты их не зажал. Хоть 100. Есть только в очень дорогих клавах, типо Logiteck G915. Обычно 4 клавиши или 5 всего видно одновременно.

Если на обычной клавиатуре нажать, то игра увидит, что нажато две клавиши и тогда просто произойдёт остановка.

Если со snap tap, то тогда клавиатура отправить сигнал, что одну из этих кнопок отжали (первую) и сразу сигнал, что нажали вторую. Это позволяет резко остановиться и начать идти в противоположную сторону.

Собственно из-за этого и запрещено - это отдельный навык, которому игроки специально тренируются, а тут клавиатура, которая идеально это исполняет сама.

В первом Марио, TAS который может нажимать left+right одновременно быстрее на 0.2 секунды, чем TAS без одновременных нажатий. Прикольно что эта техника работает на игре 39-летней давности

До новости от Valve с баном Snap Tap не задумывался о логике обработки стрейфа. Поисследовал в некоторых доступных мне на Linux играх, действительно странно работает, если при нажатом A нажать D, то движение в сторону приостанавливается. Видимо это какой-то "стандарт" в шутерах.

Вообще, я не понимаю этого догматизма в геймдеве. В обработка нажатий в игре можно было бы реализовать оба варианта (с остановкой движения при нажатии двух клавиш направления или без него) и дать возможность игроку самому выбирать в настройках игры удобный вариант. Т.к. тот же Snap Tap полагаю понравится не всем. Но вместо этого видимо проще забанить :) А фича то простая и в программируемых клавиатурах реализуется легко. У себя в клаве на QMK получил это кастомным кодом на хуке process_record_user(): https://gist.github.com/grafov/c5833c9c3763d265c6dc6108c5fca76c // за что уже был обозван "читером" в одном профильном форуме :)

Обычно движение это вектор. Кнопка А дает один вектор, а кнопка D противоположный. Складываем векторы и получаем 0. По крайней мере это самый простой и очевидный способ.

По этой же причине в некоторых играх при нажатии на комбинацию A+W и т.п. персонаж будет идти быстрее. Разработчик может забыть что в таком случае длина вектора будет больше 1.

Valve определяет это как фичу, которая даёт преимущество одним игрокам, над теми у кого ее нет. Могу сказать так, последний год играл без нее в CS2, два месяца назад узнал про возможность не покупать такую клавиатуру и использовать конфиг с биндами (которые дают snap tap) попробовал поиграть и привыкнуть. Преимущество есть и если вы играете хорошо, оно большое. Можно сказать вешать headshots стал на 20-30% чаще, так как в CS2 попадание очень сильно завязано не только на точности прицела, но на правильном контр движении в момент резкого выхода на противника. Потом Valve забанили бинды, но клавиатуру не забанили получается?

В интернете много мемов, Valve банит трудяг которые используют эту фичу, но читеры играют с wallhacks дальше спокойно без банов.

Много раз были игры когда ранее играл без snap tap и не понимал, почему противник в моменте движения так хорошо попадает в голову, теперь все понятно, он просто раньше узнал. Только не понятно, бинды забанили, а клавиатуру нет, надо бежать за Razer клавиатурой?

Сейчас CS детектит именно такое поведения input`ов и кикает из игры. Так что клавиатуры можно сказать тоже запрещены.

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

В CS2 не играю, но на других шутерах оценил удобство. В Enlisted например играю, мне просто логичнее показался такой способ передвижения, когда последнее нажатое дает направление движения. Но не думаю, что это мне дало какое-то преимущество, статистика килов выше не стала )

В CS2 в движении попасть из AK47 или Desert сложнее, так как для этого требуется в момент когда вы увидели мишень, резко нажать противоположную кнопку это снизит ваше движение моментально, именно в этот самый момент для оружия наступает самый точный момент выстрела первой пули от которой зависит разброс следующей очереди патронов.

В CS2 выстрелы так работают, что после попадания первой пули все другие летят рядом, а вот если первая не попала, вторая тоже летит не туда, получается очень важно попадать первым выстрелом желательно в голову.

Многие игроки с хорошим рейтингом очень хорошо попадают в голову, при этом делают очень хорошие пики, почти как про (гуглите How it feels to get PEEKED). При snap tap остановка происходит моментально, по этой причине в моменты нажатия противоположного хода, не нужно ждать 0.2, 0.3 секунды пока ваша моделька окончательно остановится, это повышает точность попадания. Могу сказать, что со snap tap после привыкания ваш aim в CS2 становится в 1.5-2 раза лучше, так как в этой игре максимальная зависимость от первой пули, особенно это важно на высоких рейтингах игры, как сказал ранее, где играют очень быстрые и точные игроки, у которых процент попадания в голову не меньше 60%, некоторые могут сделать 15 килов и иметь процент 80-100% попаданий в голову, а возможность моментально остановится дает преимущество.

А какие ещё козюльки существуют для шутеров? 🤔

"Бесконечная" прокрутка колеса у Logitech для того, чтобы прыжок регистрировался сразу после приземления и засчёт этого не терялась скорость.

ЕМНИП, то мышки с таким колесом достаточно тяжёлые и никто с ними не играет в соревновательные игры. Вообще, от тех же логитеч массмаркетом считается logitech superlight. Сейчас делают, вроде, лёгкую эргономичную мышку, но не уверен, не особо слежу

А из не совсем честных вещей существуют программные(rewasd) и аппаратные(xim) эмуляторы геймпада для клавомыши. В играх, где работает аимассист, это прямо бич высоких рейтингов, с которым ничего не могут или не хотят сделать. Хорошо настроенный эмулятор( хороший конфиг может стоить сравнимо с самой железкой) даёт очень большое преимущество. Например, люди начинаю попадать 95% выстрелов со снайперки в голову

Самая популярная мышь с "бесконечной" прокруткой - G502. Ей когда-то относительно активно пользовались в CS, но не на про уровне, если не ошибаюсь. Да, сейчас уже несколько лет идёт тренд на снижение веса мышей, и да, G502 тяжёлая по сравнению с G Pro. И конкретно для CS такое колесо не очень сильно влияет на игру, так как bunnyhop сильно урезан в современных версиях.

Про эмуляцию геймпада не слышал (конкретно про её использование в мультиплеере). Я всегда думал, что в кроссплатформах и на ПК просто отключают aim assist для геймпадов, но здесь тоже могу ошибаться.

В подавляющем большинстве мультиплатформенных проектов он включается при подключении геймпада(или эмулятора). Ну и получаем, что примерно 20-30% высокого рейтинга сидит на этом

Я то думал это для удобного скроллинга во время прочтения длинных статей на хабре :) Пользовался Logitech G9 долгое время, как раз по причине удобного колеса (потом перешел на трекболы), но в играх всегда переключал с быстрого на обычный скрол.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости