Боевая система Broken Arrow: гайд по формулам и характеристикам юнитов

Боевая система Broken Arrow: гайд по формулам и характеристикам юнитов

В этом гайде я разбираю, как читать характеристики, выбирать боеприпас и понимать результат боя в Broken Arrow. На примере одной колоды рассмотрим 50 расчётов: от здоровья пехоты и брони до разведки, дыма, авиации и разброса.

broken-arrow-industrial-guide-1.jpg

Это первая редакция гайда. В дальнейшем я буду изменять и дополнять его: уточнять объяснения, исправлять неточности и добавлять новые сведения и примеры. Планирую расширять советы по составлению дек и разбирать отдельные юниты: для каких задач они нужны, когда стоит включать их в колоду и как применять в бою. Возможно, в дальнейшем также выпущу отдельные видео на YouTube с пояснениями, наглядными примерами и практическими советами.

Все формулы были найдены при помощи разбора кода игры через ChatGPT Astra. Я не считаю их единственно верными: в разборе и объяснениях возможны ошибки и неточности. Часть условий и коэффициентов ещё требует проверки, а обновления игры могут менять механику.

Характеристики юнитов беру из игры в версии, актуальной на 29 октября 2026 года. При смене вооружения или брони значения меняются, поэтому каждый пример относится к указанной конфигурации.

КАК ЧИТАТЬ

Сначала объясню правило и покажу пример, затем приведу формулу. При первом чтении сложную математику можно пропустить. Словом «условный» отмечаю учебный коэффициент или ситуацию; такие значения не следует принимать за скрытые характеристики юнита.

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

Колода для примеров

Будем рассматривать эту колоду: в ней есть разведка, пехота, бронетехника, артиллерия, ПВО, вертолёты и самолёты. Это позволяет показать разные стороны боя на конкретных юнитах.

broken-arrow-industrial-guide-2.jpg

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

Лимиты колоды

Общий лимит деки — 10 000 очков. В отдельных категориях Recon, Infantry, Vehicle, Support и других можно превысить их лимит на 10%: например, взять 1100 очков вместо 1000. Но общий предел 10 000 остаётся: перерасход в одной категории придётся компенсировать экономией в другой.

Как я подбираю состав колоды

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

Транспорт под задачу

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

Заранее решите, кому нужна быстрая доставка, кому — защищённый подвоз, а где машина будет полезна ещё и огневой поддержкой. Не стоит занимать очки лишним транспортом только потому, что его можно добавить к отделению.

Линейная пехота и штурмовые части

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

Дополнительно нужны несколько ПТУРов для зонирования: они создают опасные для вражеской техники направления и ограничивают её движение. Но нельзя собирать всю пехоту из одних «башенок» — расчётов ПТУР, снайперов, ПЗРК и пулемётов. Такой набор не заменяет части, которые могут идти вперёд и штурмовать позиции.

ПВО двух уровней

В категории Support я рекомендую всегда оставлять место под одно крупное дальнобойное ПВО и одно небольшое ПВО ближнего действия. В этой колоде такой связкой служат «Антей» и «Панцирь»: дальний эшелон дополняется прикрытием на ближней дистанции.

Дымовая поддержка

В Support также обязательно нужна «дымовозка» — миномёт или артиллерийская установка с дымовыми боеприпасами. Дым позволяет закрывать обзор противнику при продвижении, смене позиции или отходе.

Миномётная дымовая поддержка позволяет быстрее реагировать. Артиллерийская позволяет ставить дым дальше и держать его дольше. Выбор делаю под задачи колоды; конкретные дальность и длительность зависят от выбранного орудия и боеприпаса.

Как читать эту колоду

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

broken-arrow-industrial-guide-3.jpg
Показатель Т-72Б3А Т-72Б3М
Лоб белая / жёлтая 650 / 1000 700 / 1100
Борт белая / жёлтая 120 / 250 150 / 500
Корма белая / жёлтая 100 / 100 100 / 200
Крыша белая / жёлтая 80 / 100 80 / 100
Здоровье 16 17
AP урон и пробитие 10; 400–640 мм 10; 425–680 мм

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

Урон в секунду не равен урону одного попадания. Эффективная дальность оружия не равна дальности обнаружения. Время переснаряжения не следует автоматически прибавлять к каждому выстрелу как обычную перезарядку.

Далее использую характеристики разведки, пехоты, БМП-3М, БТР-МДМ, «Спрута», «Хризантемы», «Дрока», «Тюльпана», ПВО и авиации. Неизвестные коэффициенты отмечаю как условные.

Как попадание превращается в урон

Цифра урона в карточке оружия проходит несколько проверок. Сначала условия попадания и укрытия, затем выбранная броня и пробитие.

Численность и защита пехоты

У пехоты вне транспорта найден отдельный множитель получаемого урона. Его нельзя читать как силу огня отделения.

Mвыход = Mвход × ограничить(F + N × p, 0, 1) 

N — живые бойцы; F и p — настройки защиты; M — множители без единиц.

Пример. У Shturmoviki 7 бойцов. При Mвход = 1 два найденных набора настроек дали бы 0,72 + 7 × 0,02 = 0,86 либо 0,36 + 7 × 0,02 = 0,50.

Важно. Активный набор не установлен. Это не обещание 50% защиты каждому отряду: есть дополнительные условия следующего расчёта.

Когда защита применяется

Важны укрытие, исходная сила попадания и способность боеприпаса обходить защиту.

M = Mздания × [B + (1 − B) × I]

B — множитель защиты; I — игнорирование укрытия от 0 до 1. При отсутствии применимой защиты M = Mздания, а без здания Mздания = 1.

Пример. У 125 mm HE Т-72Б3М показано пробитие укрытия 30%. Если I = 0,30 и B = 0,50, формула даст M = 0,65. Это учебная подстановка, а не измеренный урон по зданию.

Важно. Защита должна быть доступна, а также должен действовать множитель здания или выполняться Dбаз × fвзрыва < T. При равенстве порогу T второй вариант не работает.

Порядок расчёта

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

Dдо брони = Dбаз × fHP × q × M; Dитог = расчёт брони(Dдо брони)
Sпрям = Sбоеприпаса × fстресса × q × M
ΔS = (Dитог / HPмакс) × Sмакс + Sпрям

D — здоровье; S — стресс. f — затухание взрыва; q — дополнительный коэффициент воздействия.

Пример. У 82 mm HE «Дрока» указан урон 6. Если после всех поправок отделение с 35 HP потеряет 3 HP, при условных Sмакс = 1000 и Sпрям = 20 получит около 105,7 стресса.

Важно. Стресс использует уже итоговый HP-урон. Нельзя ещё раз прибавить исходный урон или считать оба радиуса взрыва одинаковыми.

Бойцы, здоровье и боезапас

У VDV Shturm 5 бойцов и 25 HP, у Shturmoviki — 7 бойцов и 35 HP. Потери людей меняют не только полоску здоровья.

Здоровье на одного бойца

Общее здоровье делится на исходный состав отделения.

HPбойца = HPмакс / Nполный

HP — игровые очки здоровья; N — число бойцов.

Пример. VDV Shturm: 25 / 5 = 5 HP на бойца.

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

Сколько бойцов должно остаться

Численность выводится из текущего общего здоровья с округлением вверх.

N = ограничить(округлить вверх(HP / HPбойца), 0, Nполный)

Округление вверх: 2,01 превращается в 3; результат — бойцы.

Пример. Для VDV Shturm при 10 HP остаётся 2 бойца, при 10,01 HP расчёт даёт 3.

Важно. Фактическое изменение состава проходит отдельные проверки. Посадка в транспорт и лечение могут влиять на момент обновления.

Кто погибает и возвращается

Выбор погибшего зависит от заданного приоритета бойцов, а не только от их внешнего положения.

Погибает случайный живой с наибольшим приоритетом смерти.
При лечении выбирается первый погибший с наименьшим приоритетом.
Учтённое здоровье меняется на ±HPбойца за обработанного бойца.

Приоритет — внутренний порядок выбора, не опыт и не броня.

Пример. У Shturmoviki несколько видов оружия. Потеря бойца может изменить число действующих стволов; из картинки нельзя заранее определить, какой исчезнет.

Важно. Лечение не гарантирует возврат конкретного специалиста первым. Приоритеты этой конфигурации не показаны в карточке.

Почему лечение не возвращает патроны

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

Запасмакс = p × n; запас = min(старый запас, Запасмакс)
Ёмкость = max(0, min(магазинмакс, запас)); магазин = max(0, min(старый магазин, Ёмкость))

p — боезапас на подходящего бойца; n — их число. Все количества — патроны или выстрелы.

Пример. Учебный пример для стрелкового оружия отряда: p = 10, n = 3, запас 55, магазин 18 из 20. Останется запас 30 и магазин 18. При n = 1 оба ограничатся 10.

Важно. После возвращения бойцов запас сам не вырастет с 10 до 30. Нужны боеприпасы; не вся показанная сумма патронов делится на всех бойцов поровну.

Как накапливается стресс

Паника связана не только с потерями. Боеприпас способен добавлять отдельный стресс, даже когда здоровье пострадало сравнительно мало.

broken-arrow-industrial-guide-4.jpg

Все числа на этой шкале приведены для примера, а не взяты из кода: 1000 — условный максимум, 500 и 800 — учебные пороги. Реальные значения максимального стресса и порогов шока и паники здесь не установлены.

Пороги шока и паники

Границы состояний задаются долями максимальной шкалы.

Tшок = Sмакс × kшок; Tпаника = Sмакс × kпаника; Sнач = 0

S — очки стресса; k — доли без единиц.

Пример. Для условной шкалы 1000 и долей 0,5 и 0,8 границы равны 500 и 800.

Важно. Это пример для понимания шкалы Shturmoviki, а не считанные из карточки пороги этого отряда.

Стресс от потери здоровья

Одинаковая доля потерянного здоровья даёт одинаковую долю максимального стресса до прямой добавки.

ΔS = (D / HPмакс) × Sмакс + Sпрям

D — потерянные HP; Sпрям — отдельное подавление боеприпаса.

Пример. Для Shturmoviki с 35 HP: потеря 3,5 HP при условных Sмакс = 1000 и Sпрям = 20 даёт 120 стресса.

Важно. Максимальное здоровье должно быть положительным. Урон в карточке нельзя напрямую подставлять вместо реально потерянного HP.

Добавка до нужной отметки

Операция поднятия стресса добавляет только недостающее количество и не снижает уже накопленное.

Добавка = ограничить(Sцель − S, 0, Sмакс − S)

Все величины — очки одной шкалы стресса.

Пример. Если у отряда 200 стресса, максимум 1000 и нужна отметка 500, прибавка равна 300. При текущих 600 прибавка равна 0.

Важно. Это правило доведения до заданной отметки. Оно не означает, что любое попадание задаёт одну и ту же отметку.

Восстановление и повреждения

Выход из-под обстрела даёт время восстановиться. Критические повреждения техники действуют через отдельные поправки к характеристикам.

Стресс уходит быстрее со временем

Во время восстановления из шкалы вычитается растущая добавка.

tнов = t + 1; Sнов = max(0, S − [1 + целая часть(tнов) × k])

t — счётчик восстановления; k — настройка; S — стресс. Расчёт относится к шагу восстановления примерно в одну игровую секунду.

Пример. При S = 100, t = 2 и условном k = 1 следующим станет t = 3 и S = 96.

Важно. Новое применённое стрессовое воздействие сбрасывает время после урона. Это не уменьшение на каждый кадр изображения.

Когда состояние переключается

Сначала проверяется паника, затем шок. Равенство порогу уже включает состояние.

S ≥ Tпаника → паника; иначе S ≥ Tшок → шок; иначе спокойствие

S и T — очки стресса.

Пример. При пороге паники 800 значения 800 и 801 уже означают панику.

Важно. Пороги зависят от настроек; состояния сами по себе не раскрывают точное значение шкалы.

Что меняет критическое повреждение

Коэффициенты выбираются по виду и тяжести повреждения. Затрагиваются оптика, прицеливание, разброс, перезарядка и движение.

Новая характеристика = исходная × коэффициент(вид, уровень)

Новая характеристика = исходная × коэффициент(вид, уровень)

Коэффициент без единиц. Для поворота повреждённой машины найдено отдельное назначение значения, а не это умножение.

Пример. У Т-72Б3М перезарядка 7–8 с. Условный множитель ×1,5 дал бы 10,5–12 с; это пример, не найденная величина конкретного крита.

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

Кинетические попадания

Для кинетики сравнивайте пробитие с белой бронёй нужной стороны. Жёлтая броня в это сравнение не складывается с белой.

broken-arrow-industrial-guide-5.jpg

Пробитие меняется с дальностью

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

P = max(0, Pближ − [(Pближ − Pэфф) / (Rэфф − Rмин)] × R)Для другого броневого типа P = max(0, Pэфф); без проверки брони возвращается практически неограниченное P.

P — шкала пробития; R — игровые расстояния. Rэфф ≠ Rмин.

Пример. У Т-72Б3М показано 425–680 мм и эффективная дальность 1300 м. Если принять Rмин = 0, Pближ = 680 и Pэфф = 425, на 650 м получится 552,5.

Важно. Rмин = 0 здесь допущение. В найденной формуле стоит R, а не R − Rмин; неизвестную привязку аргументов нельзя исправлять по интуиции.

Сколько урона проходит броню

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

Если P ≥ A: Dитог = D. Иначе x = D + D / (P × E) × (P − A).Если x > 0: Dитог = max(x, D × m); иначе Dитог = 0.

A — белая броня; D — HP до этого расчёта; E и m — настройки. Нужны P > 0 и E > 0.

Пример. Для снаряда Т-72Б3М с D = 10 и P = 680: против лба Т-72Б3А A = 650 получается 10. Против A = 700 при условных E = 1 и m = 0,1 получится около 9,71.

Важно. Минимальный урон действует только при положительном x. Это пример броневого этапа, не гарантия HP после всех условий.

Порог может обнулить малый урон

В дополнительной проверке не всякий положительный результат обязательно сохраняется.

Dпосле = D, если выбрана HEAT-формула или D > T; иначе 0

D и T — HP.

Пример. Если D = T = 1 и HEAT-формула не выбрана, результат равен 0.

Важно. Не путайте этот порог с минимальным положительным уроном предыдущего расчёта. Условие строгое: равенства недостаточно.

Кумулятивное и фугасное воздействие

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

broken-arrow-industrial-guide-6.jpg

Какую броню брать

Обычно нужна соответствующая броня выбранной стороны. Положительная общая броня имеет приоритет над отдельными проекциями.

A = общая броня, если она > 0; иначе A = броня нужного типа и стороны.Для воздействия без проверки брони A = 0.

A = общая броня, если она > 0; иначе A = броня нужного типа и стороны. Для воздействия без проверки брони A = 0.

A — броня; её значение и пробитие сравниваем в одной игровой шкале.

Пример. У Т-72Б3М лоб 700 белый / 1100 жёлтый; борт 150 / 500. Для кумулятивного попадания в борт сравнивается 500, а не 650.

Важно. Показанная общая броня пехоты не равна сумме бронежилетов отдельных бойцов.

Выбор формулы зависит и от цели

Найдена ветка, в которой общий тип брони цели тоже включает HEAT-расчёт.

HEAT-расчёт: тип брони 2 ИЛИ общая броня цели > 0.
Воздействие без проверки брони обрабатывается раньше.

Это условие выбора расчёта, а не новое название боеприпаса.

Пример. На карточке 125 mm HE Т-72Б3М указано «Кумулятивное» пробитие 125 мм. Поэтому одно слово HE не позволяет отбросить жёлтую броню.

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

Плавное снижение урона

Для этой ветки отношение пробития и брони входит в степенную формулу.

Dитог = D × P^k / (P^k + E × A^k)

D — HP; P — пробитие; A — броня; E и k — настройки. Степень подтверждена для обычных конечных значений.

Пример. 9М123 «Хризантемы»: D = 12 и P = 1100. Против жёлтого лба Т-72Б3М A = 1100 при условных E = 1 и k = 2 получится 6 HP на броневом этапе.

Важно. Значения E и k в примере учебные. При P = A > 0 результат D/(1 + E), а не автоматически полный урон.

Почему важен угол атаки

Лоб, борт, корма и крыша выбираются как отдельные области. Стрельба с фланга меняет не просто видимый угол модели, а используемую броню.

broken-arrow-industrial-guide-7.jpg

Выбор стороны

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

Общая броня → лоб; атака сверху → крыша; местный угол по вертикали <
−30° → крыша.
По горизонтали: |угол| < 45° → лоб; |угол| > 135° → корма; иначе борт.

Углы — относительно ориентации цели. На границах ±45° и ±135° выбирается борт.

Пример. У Т-72Б3М белый лоб 700, борт 150, корма 100, крыша 80. Кинетический выстрел с правильного фланга проходит другую броневую проверку.

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

Сколько критов может возникнуть

В настройке критов есть целое число попыток и проверка дополнительной.

q = округлить вниз(K / 100)p = (K − 100q) × (D / HPмакс) + pбазаn = q + 1, если p ≥ случайное число; иначе n = q

K — настройка критов; D/HPмакс — доля потерянного здоровья; n — попытки. p не следует автоматически читать как проценты.

Пример. Для условных K = 250, доли урона 0,1 и базы 0,02: q = 2, p = 5,02. При случайном числе от 0 до 1 дополнительная попытка проходит.

Важно. Остаток не делится ещё раз на 100. Доступность эффектов и разрешение их усиления ограничивают выбор; это не обещание трёх любых критов Т-72 за каждый выстрел.

Взрыв и подавление

«Дрок», «Тюльпан» и Су-34 поражают площадь, но радиус урона не означает одинаковую силу на всей площади.

broken-arrow-industrial-guide-8.jpg

Урон уменьшается к краю

Расстояние считается от взрыва до ближайшей границы цели. Для здоровья и стресса берутся разные радиусы.

d = max(0, расстояние до центра цели − радиус цели)f(d,r) = 0 при d ≥ r; иначе 1 при отключённом затухании; иначе 1 − d/rD = Dцентр × f(d,rHP); Sпрям = Sцентр × f(d,rS)

d и r — игровые длины; f — доля от 0 до 1. Нахождение в отдельном радиусе избыточного давления проверяется дополнительно.

Пример. 82 mm HE «Дрока»: 6 HP и радиус 40 м. При d = 20 м и обычном затухании остаётся 3 HP до брони и других множителей. У 240 mm HE «Тюльпана»: 18 HP и 70 м; при d = 35 м — 9 HP.

Важно. На границе радиуса коэффициент равен нулю даже в ветке без затухания. Показанный радиус не раскрывает отдельный радиус стресса.

Пример с ФАБ 3000 Су 34

broken-arrow-industrial-guide-9.jpg

У ФАБ-3000 базовый урон 110, радиус поражения 220 м, кумулятивное пробитие 150 мм. Если для взрыва действует обычное линейное затухание, получаем: при d = 0 — 110 HP; при d = 110 м — 110 × (1 − 110/220) = 55 HP; при d = 165 м — 27,5 HP; при d ≥ 220 м — 0 HP в этом расчёте.

Это урон до проверки брони и других поправок, а не гарантированная потеря здоровья цели. d — расстояние до ближайшей границы цели. Пробитие 150 мм учитывается отдельно; кучность V 130 м / H 130 м описывает разброс и не заменяет радиус взрыва. По этой карточке нельзя вычислить численное подавление: исходный стресс и его радиус здесь не показаны.

Прицеливание и точность

На карточке Т-72Б3М время наведения 1,5–2,5 с, а кучность AP — V 3 м / H 3,6 м. Это разные характеристики.

Откуда берётся время наведения

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

tмин = tмин боеприпаса, если оно задано и ≠ 0; иначе tмин оружия. Аналогично tмакс.

Время — игровые секунды.

Пример. Пушка Т-72Б3М показывает диапазон 1,5–2,5 с. Нельзя добавлять его к отдельному диапазону боеприпаса как два обязательных наведения подряд.

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

Размер цели и разброс

В одной оценке точности игра сравнивает размеры цели с областью разброса.

u = ограничить(R/Rопорная,0,1); s = ограничить(sмин + (1 − sмин)u,0,1)
rх = s × H; rу = s × V
Оценка = ограничить[min(rх,w) × min(rу,h) / (rх × rу),0,1]​

w — меньший из длины и ширины цели; h — высота. H,V — параметры разброса. При нулевой площади результат 1; при наведении есть отдельная ветка.

Пример. Если принять H = 3,6 и V = 3 из карточки, s = 1, а условная цель имеет w = h = 2, оценка даст 4/10,8 ≈ 0,37.

Важно. Размеры цели здесь учебные. Это не обещание 37% попаданий Т-72: распределение снарядов и управляемые боеприпасы проверяются отдельно.

Ракеты ПВО и контрмеры

Игла, «Стрела», «Панцирь», Р-77-1 и ПТРК имеют разные способы наведения. Общая формула не превращает все пуски в одинаковые броски монеты.

Отдельное влияние контрмер

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

CM = 1 при n = 0; иначе CM = [(1 − r) × d]^n

n — учитываемое число контрмер; r и d — параметры взаимодействия. Все коэффициенты без единиц.

Пример. Для учебных r = 0,2, d = 0,5, n = 2 множитель равен 0,16. Это не значит, что «Панцирь» всегда попадает с шансом 16%.

Важно. Значок запаса контрмер ×10 на Ми-28НМ не означает n = 10 при каждом пуске. Запас и число участвующих в проверке контрмер — разные вещи.

Как складываются множители ракеты

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

H = точность × ECM × CM × стресс × опыт × крит

H — результат отдельного расчёта; ECM и остальные члены — коэффициенты.

Пример. Учебные точность 0,8, ECM 0,9 и прочие коэффициенты 1 дают 0,72. С CM = 0,16 получится 0,1152. Для Р-77-1 из колоды это объяснение принципа, а не измеренный шанс.

Важно. Нет доказанной универсальной проверки для каждого пуска. Тип наведения и повторные проверки меняют применение результата; карточка не показывает все входы.

Как разведка видит цель

У VDV Snaipery оптика 2000, у Т-72Б3М — 1400. Но указанная дальность сама по себе не гарантирует обнаружение.

Наземная цель

Учитываются заметность, вспышка оружия, местность, дым и скрытное движение.

f = max(вспышка, отметка); c = укрытие местности × укрытие дымаa = max(f,1) × заметность / max(c,1)В скрытном режиме без десантирования и при вспышке ≤ 1:aскр = ограничить[заметность / max(c × бонус скрытности,1), aмин, aмакс]; a = min(a,aскр)R = Rоптики × ограничить(a, ε, aмакс) × поправка оптики

R — игровая дальность; остальные параметры — коэффициенты. Без дыма его множитель равен 1; ε — очень малое положительное число.

Пример. При оптике снайперов 2000, заметности 1, вспышке 1 и условном укрытии ×2 дальность получится 1000. С дополнительным скрытным бонусом ×2 — 500, если ограничения разрешают.

Важно. Числа укрытия в примере условные. Даже рассчитанный R ещё требует свободной линии зрения и очередной проверки.

Воздушная цель

Для воздуха выбирается подходящая дальность сенсора, затем её меняют радар, заметность и применимые поправки.

R = Rсенсора × радар × max(вспышка, отметка) × заметность × поправка оптики

Rсенсора зависит от типа и высоты цели и наблюдателя. Для вертолёта используется ветка малой высоты.

Пример. У «Стрелы-10МН» дальность ракеты по малой высоте 1800 м, по большой 1000 м. Эти значения ограничивают оружие; они не заменяют неизвестные входы формулы обнаружения.

Важно. Наземный минимум вспышки 1 нельзя автоматически переносить сюда. Радарное обнаружение и разрешение оружию стрелять — разные проверки.

Лес и задержка обнаружения

Два одинаково удалённых врага могут обнаруживаться по-разному: один стоит на открытом месте, до другого взгляд проходит через лес.

Местность расходует дальность

Линия взгляда проверяется по шагам. Каждый подходящий образец местности расходует часть доступной дальности.

Для типа местности k = k + 1; расход шага = max(1, непрозрачность + k × рост)Общий расход = сумма шагов + добавка дымаЕсли расход > запас видимости, цель не видна.

k — общий счётчик образцов данного типа вдоль луча. При длине L берутся шаги от 0 до целой части L включительно.

Пример. В найденном наборе леса непрозрачность −15 и рост 0,75. Первые 21 шаг стоят по 1, 22-й — 1,5, 23-й — 2,25. Всего 24,75.

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

Почему контакт появляется не сразу

Обычная проверка видимости идёт с заданным интервалом, а не непрерывно.

Период случайно выбирается в диапазоне 0,6–0,9 с.Проверка разрешена, если прошло больше периода и завершена предыдущая проверка препятствий.

Период — игровые секунды. Для ПВО против снарядов найден отдельный множитель периода.

Пример. При периоде 0,8 с ровно 0,8 ещё недостаточно; 0,81 достаточно при готовой проверке. Это помогает понять задержку появления цели у разведки.

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

Контакт, стрельба и заметность

Исчезновение локального контакта, разрешение стрелять и затухание вспышки — отдельные процессы.

Когда цель ещё можно обстрелять

Помимо текущей видимости проверяются наблюдатели и преграды.

Мёртвая цель → нельзя. Видимая цель → можно.Для невидимой цели в проверке юнита: есть наблюдатели И счётчик дыма ≤ 0,5 И шаги леса ≤ предел.

Счётчик дыма здесь целый: условие фактически требует 0. Без данных видимости результат зависит от вида проверки.

Пример. В найденной настройке предел леса 45: при наблюдателе, дыме 0 и лесе 45 условие проходит; при лесе 46 или дыме 1 — нет.

Важно. Это не право стрелять по любым скрытым координатам и не полное описание командного обмена разведданными.

Вспышка оружия постепенно затухает

После стрельбы заметность снижается до своей нижней границы.

Новая вспышка = max(старая − уменьшение, нижняя граница)Граница = max(1, штраф отметки) при активной отметке; иначе 1.

Все значения — коэффициенты заметности.

Пример. Если у стрелявшего PKP вспышка условно 3, уменьшение 0,5, а отметка требует минимум 4, результат 4. Без отметки — 2,5.

Важно. Шаг относится к таймеру. Он не гарантирует исчезновение юнита: другие наблюдатели и условия остаются.

Обновление позиции для поиска

В одном из расчётов окружения объектов сохранённая позиция меняется после достаточного смещения.

Обновление при |P − Pсохранённая|² > 1

P — положение в игровых координатах. Это геометрическое условие, не таймер.

Пример. Для движущегося БТР-МДМ смещение ровно 1 ещё не проходит, 1,001 — проходит.

Важно. Это не предел задержки движения или засвета и не возможность намеренно скрывать движение мелкими шагами.

Как дым закрывает обзор

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

broken-arrow-industrial-guide-10.jpg

Длина пути через облако

Для сферического облака сначала находится расстояние от центра до линии взгляда.

ρ = |(T − O) × (C − O)| / |T − O|h = √(r² − ρ²)

O,T — начало и конец взгляда; C — центр дыма; r — радиус; h — половина хорды. × здесь векторное произведение.

Пример. Если взгляд проходит через центр облака радиуса 2, h = 2. Если линия дальше радиуса, пересечения нет.

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

Где взгляд входит в дым

Учитывается положение обоих концов луча внутри или снаружи облака.

Для обычного прохода снаружи: вход = a − h; выход = вход + 2h.Если O внутри: вход = 0; если T внутри: выход = L.Если только O внутри: выход = L − (b − h).

L = |T − O|; a и b — длины проекций от каждого конца к центру. Внутри означает расстояние строго меньше r.

Пример. Наблюдатель в 0, цель в 10, центр облака в 5, радиус 2: вход 3, выход 7. Путь в дыму равен 4.

Важно. Есть предварительное отбрасывание: ρ > r или max(|C−O|,|C−T|) > L+r. Касание даёт нулевой участок. Не заменять весь расчёт простой общей длиной всех облаков.

Плотность и длина расходуют видимость

По оставшимся участкам дыма берутся образцы, и общий счётчик продолжает расти между участками.

Для ℓ > 0: N = целая часть(ℓ) + 1Расход дыма = сумма(непрозрачность образца + k × рост), k начинается с 1.

ℓ — длина участка; N — образцы; расход — игровая цена видимости.

Пример. У «Дрока» есть 82 mm smoke. Для учебного участка ℓ = 2, непрозрачности 3 и роста 0,5 расход равен 3,5 + 4 + 4,5 = 12.

Важно. Два отдельных участка длиной 1 дадут 4 образца и расход 17: счётчик не сбрасывается. Нулевая длина пропускается; перекрытие облаков требует отдельной обработки.

Вертолётный манёвр и топливо

Ми-28НМ и Ка-52 удобно сравнивать по вооружению, но дальность ракеты не объясняет скорость манёвра или расход топлива.

Смещение к нужной точке

В отдельном вертолётном манёвре размер шага зависит от манёвренности и времени.

d = T − C; s = 0,25 × манёвренность × ΔtЕсли d = 0 или s ≥ 0 и s² ≥ |d|²: новая точка T. Иначе C + d/|d| × s.

C,T — положения; s — игровая длина; Δt — время.

Пример. Для учебного манёвра Ми-28НМ на 10 единиц при манёвренности 8 за 1 единицу времени сдвиг равен 2.

Важно. Это отдельное смещение, а не вся физика полёта. Показанную максимальную скорость нельзя подставлять вместо манёвренности.

Время такого манёвра

Для того же движения расстояние делится на скорость смещения.

Время = |T − C| / (0,25 × манёвренность)

Нужна положительная манёвренность; результат — игровое время.

Пример. При расстоянии 10 и условной манёвренности 8 получится 5.

Важно. Это продолжение предыдущего примера, не измеренные пять секунд для любого манёвра Ка-52.

Расход топлива

Запрашиваемый остаток уменьшается с прошедшим временем и коэффициентом расхода.

Fнов = Fстар − Δt × множитель форсажа

F — игровая шкала топлива; Δt — время.

Пример. При условном запасе 100, Δt = 0,5 и множителе 2 получается 99. Это помогает читать связь режима полёта и расхода для Су-35С.

Важно. Расчёт ещё должен быть принят системой изменения топлива. Из максимальной скорости самолёта нельзя восстановить этот множитель.

Почему скорость самолёта меняет поворот

У Су-35С и МиГ-35 разные наборы характеристик. Манёвренность в найденном расчёте плавно меняется между несколькими режимами скорости.

broken-arrow-industrial-guide-11.jpg

Промежуточная манёвренность

Поворот по курсу и тангажу получает промежуточное значение между настройками скоростей.

При v ≤ vmax: t = ограничить[(v − vmin)/(vmax − vmin),0,1]; rate = rmin + (rmax − rmin)tВыше vmax: t = ограничить[(v − vmax)/(vфорсаж − vmax),0,1]; rate = rmax + (rфорсаж − rmax)t

v — игровая скорость; rate — скорость соответствующего поворота; r — её значения в режимах. Если знаменатель ≤ 0,001, t = 0.

Пример. Учебные скорости 100/200/300 и повороты 10/20/15: при v = 150 результат 15, при 250 — 17,5. Ускорение не обязано всегда улучшать поворот.

Важно. Числа в примере учебные, а не реальные показатели Су-35С. Карточка показывает радиус разворота, но его связь с параметрами найденной формулы пока не установлена. Поэтому напрямую подставлять значение радиуса вместо скорости поворота в эту формулу нельзя.

Баллистика артиллерии

Шаг расчёта траектории

Для одной таблицы траектории горизонтальная дистанция делится на постоянное число.

ΔR = горизонтальная дистанция / 2001

ΔR — игровая длина шага.

Пример. Для условного выстрела на 1800 единиц ΔR ≈ 0,900. Это не 0,9 секунды полёта.

Важно. Нельзя по одному шагу получить высоту дуги или порядок прилёта всего залпа.

Частично найденный расчёт дальности

Сохранена именно найденная арифметика. Её нельзя заменить привычной школьной баллистикой.

g = G × множитель гравитацииПри t = 0: R = √(−2v²h/g)Иначе R = [v² − √(v⁴ − g(gt² + 2v²h))] / (gt)Время = R / [v × cos(H1(t))]

v — начальная игровая скорость; h — вертикальная составляющая; t — параметр угла; R — горизонтальная дальность. Горизонтальное направление нормируется, вертикальная составляющая сохраняет h.

Пример. При учебных t = 0, v = 10, h = −5 и g = 10 дальность равна 10. Точный прилёт снаряда «Тюльпана» по карточке здесь не вычисляется.

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

Откуда берётся разброс

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

Распределение расстояния от центра

Одна из схем использует обратную накопленную кривую распределения.

xj = j/10000, j = 0…10000; K(CDF(xj)) = xjTi = K(√(i/1000)), i = 0…999; k = целая часть случайного числа [0,1000]; r = Tk

CDF — накопленная кривая; K — обратное соответствие; r — безразмерный радиальный параметр.

Пример. Если условно CDF(x) = x и обратная кривая линейна, T250 = 0,5. Для «Дрока» это объясняет устройство распределения, а не его фактическую плотность попаданий.

Важно. Активная кривая и её интерполяция неизвестны. Поэтому нельзя рисовать достоверные 50% попаданий в половине радиуса.

Разброс меняет направление

Горизонтальная и вертикальная составляющие отклонения применяются по-разному.

n = нормировать(d × вверх); dнов = d + n × (u × H/L)ΔRнов = ограничить[ΔR × (1 + v × V/L), примерно 0,00001, верхняя числовая граница]

d — направление; L — опорная дальность; H,V — масштабы разброса; u,v — случайные составляющие.

Пример. При условных L = 1000, H = 20, u = 0,5 добавка направления равна 0,01n. При ΔR = 10, v = −0,5 и V = 40 шаг станет 9,8.

Важно. v здесь не скорость и не прямое смещение по высоте. При L ≤ 0 эта ветка ничего не меняет.

Другой вариант случайного отклонения

Вторая найденная схема строит пару чисел внутри приблизительно ромбовидной области.

x = случайное(−1000,1000); q = целая часть(|x|)y = случайное(q − 1000,1000 − q); результат (x/1000,y/1000)

x,y — безразмерные промежуточные числа.

Пример. Если x = 500, y берётся от −500 до 500. То есть при большом отклонении по одной оси разброс по другой сужается.

Важно. Это не равномерное распределение по площади ромба. Нельзя без проверки приписать эту схему каждому снаряду из колоды.

Случайность без мифов

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

Как число попадает в нужный диапазон

Заготовленное число переводится в диапазон конкретной проверки.

iнов = (i + 1) по модулю 100Результат = минимум + (максимум − минимум) × ai

ai — очередное число из последовательности; результат получает единицы выбранного диапазона.

Пример. Для учебного времени наведения от 1,5 до 2,5 и ai = 0,25 получилось бы 1,75 с. Это не доказанная форма распределения наведения Т-72.

Важно. При равных границах возвращается сама граница без продвижения; обратный диапазон недопустим. До подготовки последовательности есть отдельный путь.

Как подготовлена последовательность

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

Начальное состояние = 32-битное значение(исходное число − номер юнита)aj = 1 − случайная доля j, j = 0…99Далее используется формула предыдущего пункта.

Начальные числа и индекс — целые; aj — дробные значения.

Пример. После индекса 99 идёт 0. При границах 2 и 6 и a0 = 0,25 получается 3.

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

Движение и последняя известная позиция

Маршрут машины и видимый игроку контакт — разные задачи. Эти найденные правила помогают понять поведение приказов, но не раскрывают скрытого противника.

Приоритет поиска маршрута

При выборе следующего участка учитывается уже накопленная цена пути и оценка остатка.

Приоритет = g + 1,25 × [|dx| + |dy| − 0,5857864376269051 × min(|dx|,|dy|)

dx,dy — разница координат узлов пути; g — накопленная цена. Это не метры и не секунды по карточке.

Пример. Для условного маршрута БТР-МДМ: dx = 3, dy = 4 и g = 10 дают около 16,5533.

Важно. Формула не доказывает кратчайший путь в любом ландшафте и не позволяет вычислить время прибытия из максимальной скорости.

Обновление цели приказа

В отдельной ветке приказа учитываются текущая и последняя известная позиции цели и уже построенный путь.

Есть путь И min(d² до текущей позиции, d² до последней) ≤ 640000И d²(цель пути, выбранная позиция) > порог → обновление.Завершение по последней позиции при d² < 625.

Расстояния горизонтальные. Выбранная позиция зависит от режима преследования; порог уже задан в квадрате длины.

Пример. 800² = 640000: ровно 800 проходит дистанционное условие. 25² = 625: ровно 25 ещё не проходит условие завершения.

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

Дополнительная математика угла

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

Уточнение функции H1

Для обычных конечных чисел найдено приближение арктангенса. Оно возвращает угол в радианах.

a = |x|. Выбираются b и z:a < 0,4375: b = 0, z = aa < 0,6875: b = atan(0,5), z = (2a − 1)/(a + 2)a < 1,1875: b = π/4, z = (a − 1)/(a + 1)a < 2,4375: b = atan(1,5), z = (a − 1,5)/(1,5a + 1)Иначе b = π/2, z = −1/a. Далее q = z².R = z³ × [(0,004706779342861492q + 0,19232454640210858)q + 0,2965285988192392] / [(0,2993096999596597q + 1,1107249999539954)q + 0,8895857968624323]H1(x) ≈ знак(x) × (b + z − R)​

x — безразмерный аргумент; знак возвращает направление угла. Вход и выход округляются до обычной игровой точности 32-битного числа.

Пример. H1(0) = 0; H1(1) ≈ π/4, то есть 45°. Это уточняет функцию в баллистике, но не позволяет вычислить прилёт «Тюльпана» без остальных параметров.

Важно. При |x| > 5,512405943901487 × 10¹⁸ есть особый возврат со знаком π/2. Полное поведение исключительных чисел и всех округлений не подтверждено; писать H1 = atan без оговорок нельзя.

Комментарии

Сортировка: