Механика взрывного урона

Здравствуйте, дамы и господа геймеры

Мы часто задаёмся вопросом о том, как работает та или иная механика в нашей всеми любимой игре Crossout. В данной статье мы хотим немного приподнять завесу тайны и рассказать о работе системы взрывов.
Я предлагаю провести небольшое исследование. Начать стоит с перечисления посредством использования какого оружия или действия возникает взрывной урон:

  1. Пушки
  2. Ракеты, в том числе управляемые и с самонаведением
  3. Копья
  4. Мины
  5. Модули, взрывающиеся при уничтожении (двигатели/бочки/боезапас)
  6. Самоподрыв машины
  7. Мандрагора
  8. Дрон "Запал"

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

  • Центр - точка подрыва снаряда
  • Радиус поражения - максимальное расстояние от центра до любой точки объекта, на котором последний получает урон
  • Штатный урон, который уменьшается по мере удаления от эпицентра
  • Физический импульс, который также слабеет от расстояния

Фактически алгоритм взрыва выглядит так:

  • Находятся все детали машин или игровые сущности (например, мины, дроны, турели, вышки) в радиусе поражения. Будем называть их ниже “объектами”.

    Механика взрывного урона в Crossout


  • Найденные объекты упорядочиваются по убыванию приоритета, с тем, чтобы наиболее объемные из них, расположенные ближе от центра взрыва, с большей вероятностью получали повреждения.
  • Из центра взрыва выпускается луч в деталь с наибольшим приоритетом, затем выпускается следующий – в деталь с меньшим приоритетом, и если между данными лучами угол меньше 5 градусов, то второй луч не рисуется. В случае, если путь по направлению от центра взрыва к центру детали перекрыт, луч не рисуется.

    Механика взрывного урона в Crossout


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

Отсюда вытекает несколько выводов:

  • Один объект (деталь) поражается максимум одним лучём
  • Чем больше объектов в зоне поражения (не имеющих препятствий между собой и центром), тем выше совокупный урон, нанесенный взрывом (разумеется, с учетом расстояния до эпицентра взрыва).

Также можно добавить ещё несколько фактов про взрывы:

  • Изменённая механика работы взрыва стала общей.
  • Есть несколько способов детонации: контактный взрыватель и дистанционный взрыватель.

И думаю, здесь стоит задержаться. Давайте разберём, что такое “контактный взрыватель”. При нем детонация происходит только при столкновении с любым объектом, в том числе и с ландшафтом. Этот вариант используется для простых пушечных снарядов. В случае дистанционного взрывателя детонация также происходит, когда снаряд покидает заданный в детонаторе радиус. То есть, даже если снаряд пролетел мимо цели, взрыв все же произойдет, но на некотором расстоянии. Этот вариант используется в более технологичных ракетах (Импульс, Оса, Сверчок, Пламя, Ураган, ПТУР) и в Дикобразе. Многие стреляли в режиме тест-драйва в воздух и видели, что ракеты, пролетев какой-либо отрезок, взрываются.

Также опытным путём было установлено:

  1. Приоритет вычисляется по формуле:
    priority = volume * ( distance / radius )² где: volume - объем детали distance - расстояние от эпицентра взрыва до центра объекта radius - радиус взрыва. Таким образом, с большей вероятностью будут поражены взрывом наиболее объемные объекты, расположенные к центру взрыва.
  2. Падение урона от расстояния Урон луча линейно падает по мере удаления от центра и на периферии достигает 10% от штатного урона (исключение – первые 20% от радиуса взрыва).

    Механика взрывного урона в Crossout


    Падение силы физического импульса происходит по тому же принципу (до 10%).
  3. Сопротивление повреждению и сквозной урон
    Некоторые детали (такие как рамы) принимают разные виды урона иначе, чем большинство. Это может быть сопротивление урону и/или пропуск урона сквозь себя. Пропуск урона - это понятие, которое является актуальным для конструкционных деталей, в характеристиках которых указано данное свойство. Часть урона будет проходить сквозь них, нанося повреждения деталям, находящимся за ними.
    Сопротивление урону (или резист) - это коэффициент, на который снижается урон для конкретной детали и для деталей, что находятся за ней.