Ответы разработчиков World of Warplanes 01.04.2016. Боты и быстрые команды
01.04.2016    1 514

Ответы разработчиков World of Warplanes 01.04.2016. Боты и быстрые команды


В обновлении 1.9.4 мы добавили возможность отдавать ботам быстрые команды, чтобы получить поддержку и прикрытие в бою. Расскажем, как работает эта система.

У каждой цели, которая находится в поле зрения бота, есть значение угрозы. Оно зависит от целого набора параметров, по которым оценивается условная опасность её для союзной команды.

Когда игрок использует быструю команду, в зависимости от её типа у целей в определённом направлении меняются коэффициенты угрозы, и поведение ботов по отношению к ним меняется. Важно отметить, что бот примет команду и сменит цель только в том случае, если разница в коэффициентах составляет более 30%. Соответственно, атакующий противника или уходящий от обстрела бот не переключится на новую цель.

Команда «Атакуем цель»

Когда игрок выделяет самолёт противника и нажимает быструю команду «Атакуем цель» (по умолчанию клавиша F2), значение угрозы для выбранной цели значительно повышается. Сервер проверяет, выбрана ли эта цель хотя бы одним из ботов, если да — ближайший к цели бот подтверждает команду личным сообщением в чат игроку. Если же в момент использования команды все боты связаны боем, и повышение приоритета не заставило их переключиться на цель игрока — тогда он получит сообщение об отказе.

Команда «Беру на себя»

Выделив самолёт противника и отдав команду «Беру на себя» (по умолчанию клавиши F3 или T), игрок максимально снижает приоритет цели для ботов. Это происходит в радиусе, равном 150% дальности стрельбы наиболее дальнобойного вооружения на самолёте игрока. Таким образом, выбрать себе цель при первом «засвете» и закрепить её за собой не удастся — команда будет проигнорирована, пока расстояние до цели не сократится до дистанции захода и атаки. Команда работает только на воздушные цели.

«Беру на себя» перестаёт действовать, если:

Игрок снова использовал команду «Беру на себя», выбрав другую цель.

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

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

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

Команды «Прошу прикрытия» и «Противник на хвосте»

В данный момент «Прошу прикрытия» (F4) и «Противник на хвосте» (F7) работают одинаково и предназначены для того, чтобы вызвать экстренную помощь при огневом контакте с противником. Мы сознательно не стали давать игрокам возможность «закрепить» за собой бота в подобии звена, чтобы летающие зачастую по одному штурмовики не ослабляли команду, уводя ботов от основных сил союзников. Команды предназначены не для того, чтобы боты помогли игроку в атакующих действиях (для этого есть команда «Атакуем цель»), а для вызова поддержки в сложных ситуациях.

Механика работы этих двух команд более сложна, чем у «Атакуем цель» и «Беру на себя». При их получении сервер оценивает, есть ли реальная угроза самолёту игрока, используя два принципа.

Первый принцип — система угроз, составляющая список самолётов противника, которые могут считаться опасными для игрока. Это самолёты, которые целятся в самолёт игрока, находясь в задней полусфере на расстоянии до полутора дистанций стрельбы основным калибром, то есть представляют непосредственную опасность. Через 5 секунд после того, как противник перестал целиться в самолёт игрока, система удаляет его из списка.

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

Также дополнительно учитывается, атаковал ли противник игрока. Если атаковал – ему присваивается дополнительный коэффициент, повышающий его приоритетность для бота.

При получении команды боты в первую очередь применяют первый принцип — из списка выбираются самолёты, которые целятся в машину игрока, и среди них особый приоритет назначается тем, кто уже по ней стрелял. Если таких противников нет — в задней полусфере самолёта игрока выбирается цель, которая находится с ним в виражном бою или может развернуться и быстро атаковать его.

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

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