Что такое aimbot в играх
Аим-ассист в мультиплеерном шутере — как сделать правильно
Аим-ассист — вечная тема для споров среди игроков. Для одних это узаконенный чит, для других — инструмент комфортной игры. Этическую сторону вопроса сейчас обсуждать не будем, просто примем факт, что большинству пользователей неудобно целиться на геймпадах и тачскринах. И это проблема.
Пару лет назад в нашем онлайн-шутере вообще не было аим-ассиста и автострельбы. Даже в сторе было написано, что Pixel Gun 3D — «hardcore shooter». Нас это устраивало, пока не стало сложнее привлекать новую аудиторию. Даже несмотря на обучение и матчмейкинг, новичкам было сложно освоиться.
На рынке тогда уже были шутеры с автодоводкой, но она была слишком навязчивая, чересчур влияла на игровой опыт и скилл игрока. Нам предстояло разработать систему получше — чтобы не разозлить бывалых хардкорщиков и не отпугнуть новичков. Рассказываю под катом, что из этого вышло.
Авто-аим и аим-ассист
Для начала на всякий случай определимся с терминами, чтобы не путать авто-аим и аим-ассист.
Авто-аим (автонаведение). Прицел жестко фиксируется на противнике, позволяя игроку расслабиться, зажать кнопку стрельбы и вообще не двигать стиком. Это, на удивление, до сих пор популярная система стрельбы, которая используется, например, в GTA V и Red Dead Redemption 2.
В мультиплеерных проектах подобное особенно фрустрирует. Почти всегда авто-аим можно отключить, но смысла в этом примерно никакого — у остальных игроков всегда будет преимущество.
Аим-ассист (помощь в прицеливании). Глобально он присутствует практически в любом шутере, даже на PC. Все эти маленькие хитрости разработчиков, когда пули примагничиваются к модельке противника даже если игрок на самом деле промазал на пару миллиметров, — тоже в каком-то смысле можно отнести к аим-ассисту. Например, такие лонгшоты в Battlefield были бы невозможны без помощи разработчиков:
Грамотно реализованную помощь в прицеливании пользователь может вообще не заметить. Система должна угадывать желание игрока — не выполнять что-то за него, а лишь помогать делать то, что он хочет. Именно с такими вводными мы начали думать над разработкой собственной системы помощи в прицеливании.
Выделили две концепции:
1. Когда прицел игрока попадает в область вокруг противника (обычно очень большую), то начинает примагничиваться к телу врага. Например, похожая система есть в Respawnables или Blitz Brigade на смартфонах.
Проблема в том, что она не всегда угадывает желание игрока. Допустим, он хотел перевести прицел влево, а рядом пробегал враг, «захватил» прицел и увел его в сторону. В итоге — неприятный игровой момент.
2. Другая концепция заключается в попытке предугадать поведение игрока с помощью считывания его действий. На ней и остановились.
Система отслеживает положение врага на экране и направление движения прицела игрока, пытаясь предугадать необходимые действия — провести прицел мимо или помочь навестись на цель.
Теперь подробнее о том, как это работает.
Как устроен аим-ассист
Окей, мы решили предугадывать желание игрока и помогать ему в прицеливании. Теперь предстояло определиться, как это лучше всего сделать.
Когда игрок наводится на противника, он направляет на него прицел и движением стика (физического или сенсорного) старается удержать цель в фокусе. Концепция выглядит не такой уж и сложной — мы определяем момент движения прицела к противнику и ненавязчиво помогаем игроку. Но дьявол кроется в деталях.
Путем проб и ошибок пришли к системе из двух зон вокруг персонажа: внешней и внутренней.
1. Внешняя зона отвечает за помощь в доводке камеры, но не с помощью притягивания прицела к врагу, а благодаря высчитыванию изменения положения курсора внутри ректа зоны.
Как это работает. Если прицел попал во внешнюю зону, а игрок движется вместе с противником, то его камера поворачивается так, чтобы прицел оставался на том же самом месте внутри этой зоны, где он был кадром ранее (плюс к этой позиции добавляется движение за счет инпута игрока). То есть мы не отбираем у игрока необходимость прицеливаться, а лишь помогаем его прицелу оставаться внутри внешней зоны.
Если резко включить ассист, то камера дернется и игрок воспримет это как вмешательство в управление. Поэтому при попадании прицела в эту зону включается специальный механизм приращения силы аим-ассиста. Назовем ее h:
h увеличивается со скоростью p, если внутри зоны прицел двигается к противнику;
h уменьшается со скоростью m, если движение идет в сторону от противника;
h уменьшается со временем.
Чтобы игрок мог легко убрать прицел из внешней зоны, m в 4 раза больше p (выведено эмпирически). Максимальное значение h означает, что прицел железно закрепляется внутри ректа. Для поддержания этого значения нужно вести прицел к противнику, поэтому у нас нет ситуаций, когда игрок не ведет прицел к цели, но при этом чувствует какое-либо вмешательство. Дополнительно мы ограничили максимально разрешенную скорость доводки камеры и применили легкую интерполяцию.
Размер ректа на экране привязан к размеру противника, но не прямо пропорционально, а с поправкой на дистанцию. Даже если персонаж очень далеко, рект все равно будет занимать достаточную область экрана (если, конечно, игрок не вышел за максимальную дистанцию аим-ассиста).
Изначально наша помощь в прицеливании ограничивалась только внешней большой зоной, но этого было недостаточно. В Pixel Gun 3D персонажи перемещаются очень быстро, а интерполяция создает небольшое отставание помощи в прицеливании. Поэтому мы добавили внутрь вторую зону поменьше, которая всегда соответствует размеру персонажа на экране.
2. Внутренняя зона. В ней сила аим-ассиста h со временем не уменьшается, а растет. Также увеличивается максимальная разрешенная скорость доводки камеры (пока прицел находится внутри зоны).
Когда игрок удерживает прицел на враге, h достигает максимального значения — положение прицела «приклеивается» к внутренней зоне и меняется только инпутом самого игрока. При этом если прицел нужно отвести в сторону, то никакого сопротивления не будет за счет понижающего коэффициента m.
В итоге получилась незаметная система помощи в прицеливании, абсолютно лишенная ощущения, что у игрока выхватывают управление из рук:
доводка учитывает желания и подстраивается под пользователя;
при неподвижном прицеле ассист не включается;
при проведении прицела мимо врага нет сопротивления или замедления скорости камеры.
Это довольно общее описание работы аим-ассиста. Сейчас поговорим про нюансы.
Выбор цели
Неправильно выбранная цель может сильно подпортить игровой опыт и заруинить не один матч. Например, в Call of Duty Warzone встречается проблема, когда перестреливаешься с противником, и тут внезапно второй противник, пробежавший через линию огня, уводит прицел за собой, что приводит к плачевным последствиям и разбитым геймпадам. Забегая вперед — у себя мы решили эту проблему.
У каждой сущности, реализующей IAimHelp, для считывания попаданий есть один или несколько коллайдеров (хитбоксов), к которым мы напрямую привязали размер зон ассиста. Это решило кучу проблем с настройкой зон под каждую сущность.
Во время игры нужно понять, попал ли прицел игрока внутрь одной или нескольких внешних зон объекта, реализующего IAimHelp. Если выстраивать ректы каждый кадр для каждой сущности, то уйдет очень много ресурсов, поэтому сначала вычисляется вектор от игрока до сущности, после чего, используя скалярное произведение векторов, отсекаются все сущности, которые не попадают в область видимости игрока.
Отсечение при помощи скалярного произведения векторов:
Затем для каждой сущности сохраняется дистанция и отсеивается все, что дальше максимально разрешенного расстояния для аим-ассиста.
Дальше пробрасывается луч в каждую из целей, чтобы определить, есть ли препятствие между игроком и целью — остаются только цели в прямой видимости игрока. И уже после этого высчитываются ректы.
Просчет ректа зоны для прицеливания:
При построении ректа очень важен угол обзора, так как снайперский прицел работает за счет его сужения, поэтому ректы должны правильно перестраиваться.
Отсюда формула влияния поля зрения на размер ректа на экране:
Дальше идет проверка попадает ли прицел игрока внутрь ректа. И, если да, то цель становится текущей:
После этого у активной цели каждый кадр строится рект и проверяется видимость при помощи RayCast. Цель перестает быть активной, если RayCast не достигает ее или если прицел не находится в ректе дольше секунды.
Этот алгоритм работает, если у игрока еще нет ни одной цели. Другая ситуация — если игрок решит навестись на другого соперника, чей рект перекрыт ректом текущей цели.
В этом помогает проброска луча в центр экрана — каждые несколько кадров луч летит через все объекты по направлению обзора игрока, и если он дольше определенного времени попадает в другой объект, доступный для аим-ассиста, то текущей целью будет выбран именно этот объект.
В результате мы получили удобную систему выбора цели: активная цель не сбрасывается, если ненадолго пропадет из видимости, пробегающие мимо враги не перехватывают ассист на себя, а когда игрок специально наводится на другую цель, то аим-ассист переключается на нее.
Адаптивность
На силу помощи в прицеливании влияют сразу несколько факторов:
уровень скилла игрока;
Насчет дистанции все ясно — чем дальше, тем меньше помощи. Но на деле все немного сложнее — чем дальше противник, тем меньше его хитбокс. Поэтому если понижать силу аим-ассиста линейно, то он будет бесполезен для дальних целей. Чтобы настроить фактор снижения силы помощи в зависимости от дистанции, мы использовали редактируемую кривую. В Unity это AnimationCurve.
Как работает автострельба
Хотя умельцы из Китая уже понаделали множество специальных механических триггеров, которые крепятся на грань смартфонов и превращают его в подобие геймпада.
На AliExpress полным полно таких аксессуаров рублей за 200
Но мы все же исходим из того, что 99% игроков используют только сенсорный экран смартфона. Поэтому с автострельбой есть свои фишки. Ее, конечно, при желании тоже можно отключить.
Поэтому мы привязали момент начала автострельбы к скорострельности пушки — чем она выше, тем быстрее начнется автострельба. Например, на скорострельных автоматах задержка минимальная, а на снайперках — максимальная. При этом на урон мы не смотрим, так как он изначально привязан к скорострельности.
Таймер рассчитать довольно просто, хватает лишь минимальной и максимальной задержки перед автострельбой и скорострельности самой пушки, умноженной на определенный коэффициент.
Также важно, чтобы игроку было понятно, когда у него сработает автострельба. На автоматах она начинается почти сразу и понять это не сложно. Но на снайперках из-за высокой задержки ситуация другая, поэтому научить игрока поможет UI и специальная индикация. Например, мы добавили внешние элементы прицела — они сходятся вместе и сигнализируют о начале стрельбы. Кроме того, у пушек разная дальность и игрок должен понимать, начнется ли автострельба вообще, поэтому прицел имеет дополнительную цветовую индикацию (красный — автострельба возможна, белый — нет).
Реакция аудитории и метрики
Автодоводке и автострельбе в нашем проекте уже два года. Онлайн не упал, а жалоб от комьюнити практически не было. Немного были недовольны хардкорщики, которым не понравилось, что менее опытные игроки теперь получили шанс убивать.
При этом с самого выпуска апдейта, старых игроков на запуске приложения встречал экран, где объяснялось, что функции нужны для помощи новичкам. Прямо там же их можно было отключить не заходя в настройки. Это решение сильно помогло снизить негатив среди фанатов.
Если обратиться к метрикам, то распределение киллрейта игроков по квартилям поменялось. Игроков с очень низким киллрейтом среди новичков стало значительно меньше (как мы и хотели), но также значительно увеличилось количество игроков с высоким соотношением убийств к смертям на последних уровнях. Эту проблему уже позже решали настройкой значений задержки автострельбы и силы доводки в зависимости от уровня скилла.
Насколько же сильно помощь в прицеливании и автострельба повлияли на ключевые метрики (Retention, LT, ARPU) — однозначно сказать сложно. Они выходили вместе с батлроялем, о разработке которого я подробно рассказывал в двух статьях: про графическую и сетевую части.
Немного о читерстве в шутерах: что представляют собой «читы»
Недавняя публикация о том, как Valve обучает ИИ выявлять читеров в CS:GO, а так же вопросы пользователей, навели меня на мысль о том, что подобная публикация может быть интересна для ознакомления с некоторыми сторонами читерства и функционала читов. Мне никогда не приходило в голову писать об этом статью, так как я не имею отношения к программированию, и вообще работаю в другой сфере. Однако данную тему я посчитал достаточно интересной, чтобы рассказать о ней более подробно.
Для среднестатистического пользователя «читы» представляют собой некое мифическое средство для победы в сетевой игре, и любой чит — это «аим и вх», но не многие знают о том, что это, собственно, такое, и что они могут.
Почти все из вас слышали слова, которые иногда слышатся в играх: «aimbot», «triggerbot», «оффни вх», «у него NoRecoil, репорт киньте». При этом люди не всегда знают что это, как это работает, и вообще читы в представлении некоторых — это некий мифический улучшатель скилла, с которым вы ломаете всё вокруг и не палитесь. Что-то, что можно «скачать и идти нагибать». Это не совсем так, и об этом я постараюсь рассказать в данной статье.
Итак, в этой публикации мы рассмотрим:
— Классификацию читов и способы распространения (публичный, платный чит от чит-провайдера, приватный, заказной);
— Функционал читов: что такое aimbot, triggerbot, esp, spinhack, ragehack, а так-же настройки;
— Как использовали читы, на примере CS:GO (некоторые феномены чит-сцены);
— Как играть против читера, на примере CS:GO;
— А так же некоторые популярные заблуждения.
Возможно, после прочтения этой статьи вы будете знать, в чём именно нужно обвинять следящих за вами через стену, но не умеющих стрелять; или делающих дикие ваншоты игроков, у которых на аккаунте 15 часов.
Disclaimer 1: Дабы не распространять эту заразу, я буду стараться избегать названий конкретных читов. Тема полна нюансов, которые я постараюсь затронуть, но во многих местах пришлось прийти к упрощениям, т.к у разных провайдеров разные функции под разными названиями, с разными настройками и разной реализацией. Поэтому при виде упрощений не забывайте, что они сделаны с целью опускания ненужных деталей.
Disclaimer 2: Я не читер, с читами не связан и с ними не играю. Я всецело поддерживаю наказания читеров, вплоть до таких, которые применяла Valve (баны основных аккаунтов, со скинами на 3-5+ тыс. евро), и мечтаю, чтобы в играх читерство было невозможным.
Disclaimer 3: В публикации не будет различной закулисной драмы, которой там не мало – крысовство, слив/покупка/кража исходников, copy-pasted cheats которые пиарят под разными названиями, поливание друг друга грязью на форумах, слив читоов в Valve/PB/ещё куда нибудь, или когда чит делают исключительно чтобы наварить денег и потом пропасть со сцены после первой волны банов. Это несомненно интересно определённому кругу лиц, но цель у публикации другая, а именно — рассказать, что представляет из себя мифический «аим и вх».
Классификация читов
Для конечного пользователя существует 4 класса:
Публичный / public.
Что: Данный чит может представлять из себя всё что угодно, начиная от реализованного proof-of-concept, который детектится, до попытки написать полноценный чит, одновременно потренировав свои навыки. Чит не претендует на богатый функционал или постоянную поддержку, однако может не детектиться некоторое время. Достаточно быстро становится [Detected]. Деньги за них не берут, но и функционал вы получаете соответствующий (иногда – не плохой для бесплатного чита, но до платных он не дотягивает). На постоянную поддержку или отсутствие детектов не рассчитывайте. Такими читами практически не пользуются, кроме как ради слива аккаунтов, или если вы купили пачку взломанных акков, а платить за подписку жалко денег. Банятся быстро, часто обладают убогими настройками и предназначены только для “полного подруба”, который всё равно не такой сильный как у платных читов.
Иногда их скачивают школьники, или люди, которые даже не представляют о наличии платных читов. И довольно быстро банятся. В основном это чит для «прожать 10 минут», после чего вы банитесь или получаете Untrusted в CS:GO.
Как доставляют на компьютер клиента: Такой чит находится в открытом доступе и распространяется через читерские форумы. Их можно качать прямо с оттуда, иногда даже без регистрации. Они почти всегда не имеют клиента или безопасного метода доставки пользователю (т.е что вы скачали, то и инжектится. Иногда рядом лежит dll-файл, который надо инжектить.).
Платный чит от чит-провайдера / pay2cheat, paycheat, p2c, payhack, subscription hack/cheat, и разные вариации сленга. Чаще всего их называют приватными, что не совсем верно.
Цена: €2.99-€70+ в месяц, со скидками при покупке на 3/6/9/12 мес.
Что: Данный чит распространяется т.н «провайдером», и является коммерческим. Разработчик(и) заинтересован в том, чтобы чит не детектился, и чаще всего им это удаётся. Однако никогда не известно, когда он задетектится, поэтому покупатели играют на свой страх и риск. Некоторые читы не детектились несколько лет, но потом Valve резко нагибала чит, и целую кучу аккаунтов. И часто, даже основы, с содержимым на многие тысячи евро.
Может стоить от пары евро (если чит низкокачественный) до 25-30 евро в месяц. Последний чаще всего обладает очень богатым функционалом, имеет очень много настроек и конфигов и в зависимости от репутации и позиционирования может быть очень сильным. Как в случае игр Hack vs Hack (о том, что это, позже), так и для «беспалевной» игры и андетекта.
Если чит дороже 25 евро, это не говорит о том, что он каким либо образом «крут», просто его могут позиционировать для других целей – таких как обход EAC, FACEIT, ESL, ESEA. Чаще всего его делают для легитной игры на матчах, стримах и различных ладдерах.
Как доставляют на компьютер клиента: Имеют защиту от «слива». Вы скачиваете клиент в запароленном архиве с рандомным именем, следуя правилам предосторожности, которые указывает провайдер. Он не имеет в себе самого чита и является «клиентом» для скачивания последней версии чита с сервера провайдера (который бывает уникален при каждом скачивании. А бывает и нет.
При первом запуске клиент привязываются к железу покупателя и иногда ставит драйвер (но сейчас золотое правило — клиент не должен оставлять за собой никаких следов). Последующий инжект может происходить по разному и иногда может представлять из себя довольно интересную реализацию защиты от детекта.
Приватный чит с ограниченными слотами / private hack. Часто путают с «платным читом», имея в виду приватный, и наоборот.
Что: Чит, который доступен только ограниченному кругу лиц, с целью избежать детекта, или максимально оттянуть его. Иногда такой чит может продавать приватный провайдер, ограничив кол-во покупок до 10 или 100-200, чтобы у него была как можно меньшая аудитория, и он не привлекал внимания. Такие мне не известны. В основном это приватно написанные читы, которые продают на форумах или разных маркетплейсах. Чаще всего имеют под 10-50 «свободных» слотов, с привязкой к железу, и могут иметь очень разный функционал.
Такие читы делают в основном для обхода сторонних античитов, или постоянной игре на основе в течении многих лет. В зависимости от умелости автора, могут вообще никогда не быть задетекчеными. А могут побаниться спустя пару месяцев.
Как доставляют на компьютер клиента: Имеют защиту от «слива». Способ доставки зависит от креативности автора и может быть схож с доставкой платного чита.
Заказной чит. Самый редкий вариант для самых богатых, но он тоже существует.
Цена: € Четырёхзначные суммы.
Как доставляют на компьютер клиента: Способ доставки зависит от креативности автора и подобная информация не доступна публично.
Функционал платных читов
Функционал, название и группировка настроек различается от провайдера к провайдеру. Некоторые клепают шаблонные читы для обширного кол-ва игр, некоторые специализируются на играх от Valve, иногда делая читы для других игр по принципу «если не лень», и далее мы рассмотрим набор функций у среднестатистического платного чита. Он в основном состоит из интерфейса для настроек, и:
Aimbot / аимбот
В случае с платными читами Aimbot является всего лишь частью комплексного чита, а платные читы с помесячной оплатой являются именно комплексными и довольно сложными читами. На публике их называют просто — ВХ или аимбот, не задумываясь, что же именно значат эти слова. На самом деле эти читы являются «мультихаками», просто «hacks», или P2C (pay2cheat, paycheat, и разные вариации сленга). Чаще их называют называют «читами», хотя за пределами русскоговорящих стран это именно «хаки» («hacks»).
Aimbot — всего лишь часть комплексного чита, и может иметь один или несколько режимов / вкладок для настроек: Aimbot, Ragebot, FullRage, Legitbot, MM, LegitAim (называются по разному, но цель режима передают).
Типичный «aimbot в вакууме» выглядит так: вы зажимаете кнопку, прицел прыгает на заданную часть тела противника и ведёт её точно по центру, пока кнопка не будет отпущена. Может включаться, например, такими триггерами, как: «при стрельбе», «по зажатию кнопки», «первые 3 пули». Вопреки распространённому заблуждению аимбот сам не стреляет, если не включить AutoFire. Как правило, палится зрителям тем, что прицел резко «прыгает» на цель по прямой линии, и рывки не совпадают с общим стилем игры читера. Изначально аимбот просто фиксировался на какой-нибудь части тела противника (голове, например) и со стороны это очень очевидно. Со временем aimbot эволюционировал, обзавёлся более беспалевным режимом и кучей настроек.
Одна из них может называться Ragebot – это aimbot, где настройки сделаны для «полного прожима» (rage, «go full rage»). В нём можно выкрутить настройки на максимум и «ломать всё вокруг». В эту вкладку могут быть вынесены такие настройки, как AntiAim (spinhack). При этом игрок может спиниться и простреливать все возможные места на карте. В зависимости от автора чита, может быть довольно мощной штукой, особенно с «Wallscan» (Autowall, просканом точек прострела). Тогда ты бегаешь по карте, крутишься, и ломаешь всё вокруг, даже если враг высунет пятку в простреливаемом месте, но это зависит от умелости писателя чита.
Мощный чит для полного прожима может называться ragehack (рейдж-хак). Это чит изначально планирующийся чтобы как можно сильнее ломать на максимальных настройках. Однако у такого чита всегда есть легитный режим. До того, как в CS:GO улучшили защиту, такой чит был просто адом для вражеской команды: читер зависал в прыжке, и, крутясь, ломал вражескую команду даже через стены и простреливаемые углы.
Обратите внимание, что Legitbot — это группа настроек для «легитного» стиля игры, а в закладке «Ragebot» настройки для полного прожима, хотя в обоих закладках есть аимбот.
Читеры, которые не хотят палиться, применяют в грубом упрощении две комбинации:
Triggerbot / триггербот
Изначально это была функция, которая делает выстрел, когда враг попадает в перекрестие прицела. И всё. Пример использования — на de_dust2 нацелиться с AWP на ворота, зажать включающую его кнопку, и ждать, пока враг пробежит в прицеле. Винтовка выстрелит сама. Триггербот использовался чтобы «взять на реакцию».
В наше время триггербот эволюционировал и теперь «берут на реакцию» только самые дешёвые, лениво написанные читы. Современные же триггерботы научились не только выполнять выстрел в ситуации, когда вы 100% попадёте по врагу, но и «подправлять» разброс во время выстрела, «направляя пули» куда нужно — а именно в выбранные части тела. В 99% случаев он настроен включаться по кнопке стрельбы. Главная цель триггербота — наименее палевно, но стабильно убивать противника за 1-5 выстрелов. Именно с ним играют большинство читеров, предпочитая триггербот вместо аимбота.
Разброс «подправляется» одним из или комбинацией обоих методов:
Правильно настроенный триггербот выловить неимоверно сложно, с ним часто даже играют на стримах, отключив визуалы. Прицел не прыгает и не «лочится» на части тела (как в случае с аимботом).
Как это выглядит со стороны?
Бывают очевидными, но в прямых руках их заметить всё равно сложно.
Если читер делает попытки скрываться, то раньше (и сейчас?) при просмотре демки или записи Патруля была возможность включить визуализацию разброса + отдачи + попаданий. После чего включали свободную камеру и наблюдали за местом попадания пуль. Для противодействия разработчики сделали так, чтобы пули попадали не точно в центр, поэтому данный метод не всегда актуален, но очень помогал (и до сих пор помогает?) опытным «Патрульным».
В прямых руках их заметить сложно — читер будет активно маскировать триггербот: садиться при стрельбе, не делать более 3-4 выстрелов за раз, специально промахиваться, или отдаваться, если на него выходят более двух врагов с разных сторон. Однако иногда всё равно проскакивают моменты, описанные выше.
PS: Да простят меня эксперты за такие упрощения. Разные провайдеры по разному группируют свои настройки,, и иногда триггербот может представлять из себя смесь NoRecoil + NoSpread или снижать разброс на заданный процент, а иногда это может делать только аимбот. У других провайдеров триггербот может не быть триггерботом в классическом смысле этого слова, а заниматься «направлением пуль» в выбранную в настройках часть тела, внося заданный процент промахов. Тема полна нюансов, я попытался затронуть её, не делая обзор нескольких десятков вариантов реализации.
Visuals / ESP / визуалы; то, что часто называют «вх» или «воллхак» (wallhack)
Сюда могут входить такие функции, как NoFlash, NoSmoke, NoSkybox, прицел, мини-карта (радар).
Прочие функции
SilentAim: Имеет два схожих понятия.
Безошибочно палится патрулём (overwatch) — вы стреляете вникуда (или вверх / в пол), а враг умирает. Или камера просто смотрит вверх или вниз, и крутится (хотя со стороны патруля, спинбот выглядит точно так-же, но тут зависит от пряморукости кодера). Ещё вариация SilentAim’а совмещается с триггерботом, что описано выше.
Spinhack / Spinbot / AntiAim: Модель игрока начинает адово крутиться вокруг своей оси, ходить спиной дёргаясь вверх и вниз, и какие только техники тут не придумали. Может при этом смотреть в пол / вверх, или махать прицелом. Основная цель спинбота — игра HvH (hack vs hack), и существует чтобы ввести в заблуждение аимбот/триггербот читера во вражеской команде. HvH — это когда на сервере встречаются читеры в обоих командах, и один из них решает «идти и ломать», не скрываясь.
На демке патруля или для зрителя это выглядит так: Камера адово крутится, смотря вверх или вниз, иногда ещё и дёргая прицелом вверх и вниз. Во время выстрелов крутиться перестаёт, но умелые кодеры успевали вставлять «кручение» между выстрелами.
Как это выглядит со стороны (на видео спинбот не очень сильный).
Ещё камера может быть повёрнута вниз головой:
(Картинка кликабельна. На скриншоте видно как анти-бустеры наткнулись на бустеров, и пошли пытаться ломать друг друга. У одного из них ник с рекламой буста, у другого ник с «DeRanking».)
Fakelag: Для стороннего наблюдателя вы очень сильно лагаете. Используется для введения в заблуждение аимбота читера из вражеской команды. Против сильных аимботов не эффективно.
AirStuck: Вы повисаете в воздухе. Используется исключительно в играх HvH, для позиционирования. Позволяло повисать в воздухе, и прятать части тела в непростреливаемых местах, где враг вас прострелить не мог, и прострелить его первым.
Это выливалось в целые матчи по все 30 раундов, т.к два опытных читера с полным прожимом ломали друг друга с 50% вероятностью, и раунды заключались в том, кто кого отсидит или кто кого перетерпит.
Bunnyhop / распрыг: Позволяет делать распрыг, зажав одну кнопку. Если человек в распрыге не достаточно ускоряется или ошибается, это либо макрос, либо ручной распрыг.
Повреждение демок патруля: Раньше был приватный чит, который каким-то образом повреждал демку для патруля, и она у них просто не запускалась с причиной «Evidence Invalid or Corrupt» или камера смотрела в одну точку, не показывая геймплея. Что примечательно, это был приватный, а не продажный чит. Слоты продавали за сотни долларов.
Пофиксили сразу после того, как это начало распространяться, потому-что кто-то слил метод.
Для чего использовали читы CS:GO. Раньше и сейчас
Раньше в CS:GO творился полный ад, когда почти все читы работали с полным функционалом, а Untrusted-баны были редкостью. Сейчас кол-во читеров поубавилось, но, по-моему, их там всё равно очень не мало.
Тут я затрону некоторые феномены, которые не совсем известны публике.
Бустинг / boosting / boost: Покупка «побед» с целью получения высокого ранга. До введения обнуления рангов в CS:GO бустились по следующей схеме — 4 школьника + 1 читер, который зажимал W, и шёл ломать с максимальными настройками. Иногда он специально ещё и крутился, чтобы позлить вражескую команду, даже если в ней не было читера. Про школьников это не шутка – если проголосовать за общий голосовой чат, то вам начинают кричать (!) препубертатным голосом, о том как же вас нагибают, gg ez, вы нубьё, мамкам привет, спасибо за победку.
Аккаунты для таких целий брались следующими способами:
Терпение лопалось и иногда оба читера подрубали на полную, и шли крутиться друг против друга. Если у одного из них чит был хуже, проигрывающая команда тут же начинала грустить и переставала оказывать сопротивление, в то время как побеждающие вовсю глумились над читаком, который не может их сломать, и переманивали клиентов себе.
Anti-boost: Противоположное развлечение, когда 3-5 друзей шли искать других бустеров. Для этого покупалась игра, или краденные аккаунты с открытым матчмейкингом, выигрывалось несколько игр со счётом 15-0, и шанс попасть на бустеров резко возрастал. Увидев ники, содержащие слово «boost», в противоположной команде 1-5 человек подрубали на полную и шли ломать.
Как правило, анти-бустеры покупали самый сильный чит, несмотря на цену (но он не всегда был самый дорогой). В их арсенале, помимо читов, были различные тактики затягивания матча.
Так как целью бустеров было выиграть против честных игроков как можно больше игр подряд, затягивание времени могло стоить им и аккаунта (при большом кол-ве репортов, патруль мог забанить их прямо во время их игры), и клиентов.
Наткнувшись на анти-бустеров, бустеры либо сдавались, либо пытались включать full rage. Как правило, анти-бустеры выигрывали почти все «стычки», поэтому бустеры быстро сдавались. Некоторые, после нескольких поражений и потери клиентов, шли пробовать разные читы.
Самый «сок» был, это найти тех же типков при следующем поиске, и ещё раз сломать их с полным подрубом, заспамливая чат фразами «FREE ANTI-BOOST SERVICE».
Если у бустеров чит был не слабый, игра могла затянуться до 30 раундов, с отсидками на прострелах, закидыванием молотовыми, и повисанием в воздухе в не простреливаемых местах. Анти-бустеры, владея нужным опытом, всё равно часто выигрывали, при этом затягивая очень нужное бустерам время, и увеличивая шанс бана.
Иногда, если спровоцировать тех, кто купил буст достаточно сильно, то они могли подрубить со своих основных аккаунтов. И даже тогда проигрывали в 80% случаев, а заодно теряли основной аккаунт. Часто они начинали выходить из игры, не покидая её, чтобы игра окончилась. Тогда самым классом было растянуть раунд, чтобы дотерпеть до следующего, после чего дождаться бана вышедших из игры, и доломать тех кто не вышел.
Сейчас этот вид сомнительного «сервиса» почти сошёл на нет, и бустятся очень аккуратно, не играя с одного аккаунта больше одного раза, и в целом это стало невыгодно.
Вот как это выглядит:
Покупались взломаные аккаунты на разных площадках, за копейки. Использовались для «одноразового» прожима или «до первого бана», и с ними шли либо буститься, либо ломать других бустеров. Совсем грустные личности шли прожимать в одиночку, на несколько игр в матчмейкинге, после чего они банились, а аккаунт выбрасывался или его в скором времени возвращал владелец.
Сейчас лавочку почти прикрыли, начав блокировать все аккаунты на компьютере покупателя аккаунтов, и любителей прожать резко поубавилось.
Что имеем сейчас? С последними обновлениями, многие функции сделали невозможными. Невозможен аимбот со 100% меткостью, невозможно бежать и крутясь ломать всё на бегу. Попытки даже включить эти функции приводят к бану в течение 1-30 минут. И это хорошо.
Valve в последнее время всё чаще стали банить все аккаунты на компьютере читера (с которых он играл в период, когда играл с читами на одном из ний). Банят если общий email и телефон.
В целом, я очень приветствую эти меры, и полностью поддерживаю методы, которые будут выявлять читеров и банить все их аккаунты, включая основной.
После волны банов, когда у читеров забанились основы со скинами на многие тысячи евро, «прожимающих» на ММ серверах стало намного меньше. Но, к сожалению, их там по прежнему слишком много.
Как играть против читера на примере CS:GO
Каждому известно то неприятное чувство, когда во вражеской команде попадается читер, и вы как ни стараетесь, не можете выиграть. Забудьте о победе, потому что читер решает, выиграете вы матч или нет. Начните с репорта. После этого вашей задачей в этой игре будет развести читера на ошибки и «палево», которые Патруль сочтёт достаточными для бана. Итак, что вы можете делать?
Популярные заблуждения и вопросы
Аимбот — это всё, что нужно читеру, и вообще у них у всех аимботы.
На самом деле аимбот – часть комплексного чита, а приватные читы с помесячной оплатой являются именно комплексными и довольно сложными читами. На публике их называют просто — ВХ или аимбот. На самом деле эти читы являются «мультихаками», просто «hacks», или P2C (pay2cheat, paycheat, и разные вариации сленга).
Читер может использовать всё что угодно, и иногда довольно сложно сказать что.
На самом деле за читы банят, хоть и не сразу. В случае с VAC, за публичный чит бан можно получить сразу. За платный — многие месяцы спустя, и, к сожалению, за это время читер успеет испортить не одну игру. Исключение могут составлять приватные читы с менее 50 пользователей, но риск быть забаненным есть всегда. Многие надеялись, что их никогда не забанят, а потом лишились основных аккаунтов со скинами на многие тысячи евро. Никогда не пользуйтесь читами.
Сами разработчики открыто заявляют, что не дают никаких гарантий. Вы пользуетесь читами на свой страх и риск, и вам никто ничего не должен.
Если я прожимаю на взломанных аккаунтах, то на основном меня никогда не забанят.
Расскажите это тем, кто лишился инветаря стоимостью многие тысячи евро. Забанить могут ваш основной аккаунт заодно с тем, с которого вы прожимаете. Это может произойти спустя неделю, а может спустя несколько месяцев.
Помимо бана VACом, за покупку взломанных аккаунтов практикуют отключение всех аккаунтов на компьютере, и их уже никак не вернуть. При этом если вы зарегистрируете новый аккаунт, а владелец украденного спохватится только спустя некоторое время, ваш новый аккаунт тоже могут отключить.
Читы может написать любой школьник.
На самом деле, качественные платные читы — это целая индустрия с миллионными доходами. Представьте, если на форуме в месяц может быть около 30.000 активных «Premium» участников, каждый из которых заплатил как минимум €20-€25. Это больше €750.000 евро, и да – возможно кто-то купил Lifetime, кто-то заплатил €50 за 3 месяца. Я привёл этот пример, чтобы дать вам идею о суммах, которые есть в этом бизнесе.
Естественно, читы для ESEA, ESL, EAC, стоят дороже и имеют меньшую аудиторию, но люди зарабатывают на этом не плохие деньги, и это в их интересах чтобы чит работал. Сами разработчики не считают что чем-то низким, для них это бизнес или хобби.
Как обстоят дела у Blizzard, с игрой Overwatch?
Разработчики коммерческих читов говорили в основном две вещи:
Послесловие
Теперь, после того как вы ознакомились с публикацией, вам, возможно, будет легче выявлять читеров в играх, или замечать невозможные моменты. Как говорилось выше, цель публикации — рассказать, что представляет из себя мифический «аим и вх».
Если после публикации будет возможность редактировать список заблуждений (и вопросов), буду их пополнять по мере обсуждения.
Если у вас есть поправки, уточнения, критика или вопросы — буду рад их принять и услышать.