Game mechanics, hidden and non-obvious [Rus]

Game mechanics, hidden and non-obvious [Rus]

Вступление

Часть информации я получил из тестов, часть получил из анализа внутренних файлов игры. Спасибо Reaktor4, создателю сайта Warno-Armory, за то что показал как читать внутренние файлы и отвечал на разные вопросы.

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

Также https://warno-armory.com занимается парсингом данных. Это значит что данные на сайты автоматически считываются с внутренних файлов игры.

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

Всего боевая система состоит из следующих боевых механик:

Вооружение и атака

Здоровье и броня

Сплоченность и подавление, бегство

Стан

Вооружение и стрельба


Game mechanics, hidden and non-obvious [Rus] image 11
Game mechanics, hidden and non-obvious [Rus] image 12
Game mechanics, hidden and non-obvious [Rus] image 13

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

Вот так работает атака в Warno поэтапно:

Юнит разворачивается в сторону атаки. Он разворачивается либо всем телом, либо своей башней. Пехотные юниты разворачиваются молниеносно. На HUD написано разворот (Aligning).

Юнит начинает прицеливаться. На интерфейсе это круг, заполняющийся зеленым. На HUD написано прицеливание (Aiming) Каждый раз когда юнит меняет цель, ему нужно прицеливаться. Если юнит потерял цель хоть на мгновение, он прицеливается снова.

После того, как юнит прицелился, он делает выстрел. Выстрел происходит молниеносно и никак не отображается на интерфейсе.

Если в залпе(Salvo Length) находится больше чем один выстрел, то юнит начинает готовиться к следующему выстрелу. В интерфейсе это выглядит голубым кружком, а на HUD оружие написано как стрельба(Firing)

После того как выстрелы в залпе закончились, юнит перезаряжается. На HUD написано перезарядка (Reloading), а иконка окрашивается голубым(как при подготовке к следующему выстрелу).После чего цикл начинается заново со стрельбы. Повторно юнит не прицеливается по той же цели.

Berlin Rifles прицеливается, в то время как все остальные либо стреляют, либо перезаряжаются.

Очень важный момент:

Одно оружие всегда занимает один слот. Если вы видите например m16A2 x5 в карточке, это не значит что у юнита 5 м16а2. У него она одна.

Например посмотрите на скриншоты ниже. Вы увидите отряд инженеров с 5 винтовками. На самом деле у них технически ровно одна винтовка. И только одна она и наносит атаку. Не 5 винтовок стреляет с каким-то шансом на попадание, а одна. Большее количества оружия не дает новые атаки, а усиливает эту одну атаку одним оружием.

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

Для примера я показал информацию целого юнита, и юнита после потери 4 человек(то есть потери 4 винтовок, который на самом деле не являются целым оружием со своими шансами попасть, а являются лишь "усилением") При этом в карточке информация не меняется.

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

Также у атаки есть сплэш(Урон по области), и она может задеть рядом стоящих юнитов. Чем дальше от центра попадания, тем меньше урона. Формула конкретная мне неизвестна, но на сайте https://warno-armory.com у оружия написан его максимальный сплэш. Также у оружия есть параметр "Может ли подавить если промахнулся", при промахе "снаряд" все равно создается и летит, и этот параметр отвечает, сможет ли он при разрыве где-то там случайно подавить рядом стоящих юнитов. Все пехотное оружие имеет этот параметр выключенным.

Зная механику стрельбы, обратимся к карточке юнита:

Точность стрельбы написана на максимальной дистанции до цели. То есть если юнит стоит на дистанции 850 метров шанс попадания будет равен 35%. При приближении шанс увеличивается. Но не по линейной прогрессии, на расстоянии 150 метров и ближе точность начинает расти очень быстро.

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

Скорострельность описана ниже, она требует подробного объяснения.

Скорость прицеливания (Aiming Time) отвечает за время прицеливания.

Скорость перезарядки(Reloading Time) отвечает за время перезарядки.

Размер залпа(Salvo Length) определяет количество выстрелов.

Скорость подготовки следующего выстрела - это скрытая переменная, которая нигде никак не отображается и её никак не посмотреть. У артиллерии она занимает ~секунду, у БМП ~0.15 секунд. Понимать реальную скорость - только тестить самому.

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

Разберем здесь на примере Автомата Калашникова. Автомат Калашникова в минуту нанесет 60 / 1.125 = 53.33333 атак. Это именно атака, который нанесет подавление и урон. И это атака стоит 3 патрона (Я узнал это проверяя в игре, нигде это не написано в карточке).

Перемножим 53.3333 на 3, и получим 160.

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

Зная все эти подводные камни, давайте подведем итоги на примере пулеметчика.

Пулеметное отделение начало стрелять по другому пехотному юниту. У них якобы 4 автомата и 3 пулемета. Урон всех автоматов складывается, происходит один единый выстрел, он проходит проверку на попадание/промах. После этого выстрела, так как у автомата в залпе всего лишь выстрел, он уходит на перезарядку, после чего выстрел повторяется.

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

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

И да, в этот момент, если появится техника, этот один оставшийся человек, не переключаясь стрельнет с гранатомета.

За 10 секунды стрельбы, пулеметное отделение "стрельнет" примерно 15 раз. 10 Раз из автомата, 5 раз из пулемета, каждая это атака должна будет пройти проверку на попадание. Если пулеметное отделение попала все 15 раз, то за 10 секунд она в сумме нанесет 4 HE урона.

Здоровье

Здоровье юнита описывается с помощью характеристика сила/максимальной урон(Strength и Max Damage). Они не зря разделены, так как пехотные юниты при потере здоровья теряют оружие, в то время как техника нет.

У пехоты количество силы почти всегда описывает количество людей в отряде. Исключением является станковые пулеметы и гранатометы. Станковый пулемет имеет 4 силы, гранатомет 3, хотя визуально в расчете только 2 человека.

Визуально здоровье выглядит так:

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

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

Исключением является артиллерия и авиа-бомбы. При попадании артиллерии или авиа-бомбы в здании каждый юнит получает свой урон, как если бы они просто стояли бы на земле.

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

Для того чтобы снять у пехоты одно очко силы, ему нужно нанести 1 HE урон. У всех пехотных юнитов кроме станковых орудий при этом погибает один боец. Погибая, отделение теряет одно стрелковое оружие.

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

На данный момент здания дает 50%, лес 35%, руины 45% сопротивления.

У техники есть показатель брони, который уменьшается получаемый урон. Здесь я скопирую текст из мануала, я думаю он до сих пор актуален и формулы не менялись

Как только снаряд может пробить броню противника, он наносит следующий процент урона:

= Процент урона = (Значение AP - Броня) / 2 +1

Примечание: если у цели нет брони, урон равен 2 x значение AP.(То есть если у нас пробой 20, а броня техники 0, то в формуле пробитие будет считаться как 40)

Если у цели броня 1, урон равен 1 x значение AP.

Например, мы стреляем снарядом AP с бронепробиваемостью 14

(при попадании) по цели со значением брони 3.

Урон = (14-3)/2 + 1= 6,5, то есть 65% урона.

В игре есть техника, чье значение брони равно <1. Я не знаю что это значит, и как формула реагирует на это.

Может быть, это специальное значение, чтобы он имел значение 0(мог простреливаться с любого пехотного оружия), но урон не умножался на 2.

Также увеличение бронепробития при приближении работает на автоматических пушках.

Удобно высчитать урон можно на сайте:

https://warno-armory.com/intel/armorAnalysis

Сплоченность, подавление и трейты

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

В манауле написано, что юнит может получить 1000 очков подавления. Это неактуально. Юниты может получить только 500 очков подавления. Если по юниту стреляют из пушки которая наносит 200 подавления(Supression), то за 3 выстрела юнит будет максимально подавлен.

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

Увеличивавшие подавление приводит к уменьшению сплоченности.

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

При подавлении и выше 50% сплоченность юнита переходит из нормального в приземленное(mediocre) и приводит к средним ухудшением боевых характеристик.

При подавлении выше 75% сплоченность юнита переходит из приземленного в низкое, и здесь он получает максимальные ухудшения боевых характеристик, и они очень серьезны, делая юнита практически не боевым. Также, находясь в состоянии низкой сплоченности, каждое попадание по юниту заставляет его пройти проверку на бегство. По ощущением, чем больший HE нанесенного урона, тем больше шанс что юнит дрогнет. В этом состоянии юнит просто не следует приказам и начинает убегать. При этом время бегства случайное. Я думаю где-то от 0.5 до 5 секунд.

-Точность понижена на 75%

-Время перезарядки повышено на 40%

-Время прицеливания повышено на 18%

-Скорость передвижения уменьшено на 15%

-Скорость поворота башни и шасси(то есть всего тела техники) увеличено на 50%

Каждый юнит, независимо от типа и количества бойцов в нем, имеет 500 поинтов.

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

Шкала подавления находится под здоровьем. Она заполняется слева направо и показывает количество очков подавления. Цвет шкалы показывает текущую сплоченность юнита. Желтый - высокий, рыжий - нормальный, красный - приземленный, тёмно-красный мигающий - низкий.

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

Также иногда при получение максимального подавления, максимальное подавление сбрасывается на ~30-40 очков обратно. Я не знаю действительно это так, или чисто баг интерфейса.

Подавление работает адекватно и согласно числам описанных в листе юнитов. За исключением стрельбы по танкам. Там он работает непонятно как. По словам старого мануала, за единицу брони техника получает на 5% меньше очков подавления. Но у меня была игра, где Dragon II наносил 6 очков урона, и вместо 160 подавления выдавал около 280.

В принципе я заметил, что ПТУРы сильно подавляют и станят технику. Я не знаю почему. Могу точно сказать - это не совпадает с числами в листе юнитов.

Может быть расчет по вертолетам и самолетам также работает иначе, я не тестил.

Как я сказал ранее, оружие также имеет сплэш подавления, и близкие юниты к центру взрыва могут получить подавление. Юниты, находящиеся в здании, не получают сплэш от подавления, а делят случайным образом сплэш между собой. Исключение являются авиа-бомбы и выстрелы артиллерии, которые наносят урон каждому задетому юниту.

Говоря о восстановление сплоченности: это текст из устаревшего манула, объясняющий как восстанавливается юнит.

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

Начиная тестировать юнитов, я пришел к таким результатам:

Юнит нулевого уровня ветеранства, который уменьшает подавление на 0.6 поинтов в секунду, восстановил полностью сплоченность за ~440 секунд.

Юнит спецназ 3-его уровня ветеранства(зеленые береты), который уменьшает подавление на 3.3 поинтов в секунду, восстановил полностью сплоченность за ~130 секунд.

Если перемножить количеств восстанавливаемых поинтов на время, то получится что зеленые береты восстановили лишь 429 поинта, а вот резервисты лишь 270. В обоих случаях не дотягивает до 500.

Единственным решением было предположить, что за покой юниты дополнительно получают каждые 10 секунд дополнительное восстановление. Я предположил минимальное значение в 0.6, и после этого данные сошлись и они оба приблизительно восстановили 500 поинтов.

Береты - 429 поинта + (130 * 0.6) = 429 + 78 = 507

Резервисты - 264 поинта + (440 * 0.6) = 264+ 264= 528.

(Я замерял не точно, здесь есть погрешности)

У меня не получилось провести тест, будут ли дополнительные очки в покое начислятся во время боя(в смысле когда юнит получает урон), но они точно начисляются при беге и при стрельбе юнита.

Получаемое подавление можно уменьшить, находясь в здании, в лесу или руинах. Так же соответственно 50%, 35% и 45% сопротивления.

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

Трейт резервист увеличивает получаемое подавление на ~20%

У 24 механизированной США есть пехотный командир MP LEADER, который одновременно является и командиром, и военной полицией. В сумме благодаря этим двум усилениям резервисты начинают получать на 34% меньше урона по подавлению

Трейт шоковый увеличивает подавление вашего оружия на ~20%. Внимание! Это работает только в ближнем бою. Ближний бой начинается с 180 метров. Если вы на этой дистанции или ближе - ваш юнит получит иконку скрещенных ножей.

Трейт спецназ увеличивает наносимый урон и уменьшает получаемое подавление на ~20%. Я не тестил урон, но предполагаю что там также ~20%. Все значения трейтов приблизительно такие. Да, получается что спецназ максимального ветеранства вместе с этий трейтом получает на 60% меньше подавления, что просто огромные цифры.

Трейт фанатик уменьшает получаемое подавление на ~20%. Не тестил, предполагаю.

Будучи под влиянием трейта военной полиции, юнит приблизительно начинает восстанавливать на 1 поинт в секунду больше. Без усиления береты восстанавливают 3.9 поинта и это занимает 130 секунд до полного восстановление. Под усилением они начинают успевать восстановиться за 100 секунд. Такое возможно только в случае, если это усиление дает 1.1 или 1 очков восстановление в секунду, повышая его до 5 в секунду в сумме.

Стан

В мануале написано, что при очень плотном огне юниты могут получить стан, и в это время они не будут получать стрелять, двигаться, атаковать и не будут слушаться приказов в течении 20 секунд. Сейчас стан составляет ~4 секунды, и при этом он является скрытой механикой которая абсолютно не связана с механикой подавления. Он использует свои скрытые переменные, которые негде посмотреть.

Узнал я о том, что это отдельные переменные случайно. Я тестил подавление и выкатил танки, юнит стабильно станился после каждого 2-выстрела при подавлении в 150. После чего взял М40А1, они имели огромное подавление в 200 и это было более удобным для наблюдения числом. После 4 выстрелов в юнита, тот не застанился. Последующие выстрелы так же не привели к стану.

Безоткатное орудие имело тот же самый HE, и подавление больше чем у танка, но тем не менее танк станил пехоту после 2-ух выстрелов, а безоткатное орудие не станило даже после 5-6. (это абсолютно не является частью игровой механики, а просто нарратив, но тем не менее даже калибры совпадали)

Я потестил несколько танков, все они станили на 2-ом выстреле. Я думаю, что у каждого танка стает одно типичное значение.

Что известно про стан из тестов:

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

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

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

Сопротивление подавлению не помогает от стана.

Маленькие факты

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

Артиллерия наносит больше подавления и урона, чем написано на карточке.

Я не тестил всю артиллерию, но думаю что так везде. В среднем артиллерия мощнее своих показателей на 30%. M110 имеет фугас 4.5, и подавление 250. На деле же он убивает 6 человек за выстрел, и и подавляет на около 340.

Взрывчатка имбалансна.

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

К этому еще вишенка на торте. Диаметр взрыва 300 метров, и по всей области наносится полный. Во время теста у меня сидел один сквад в здании, за ним примыкало второе, и в нем еще 2 сквада. От прокидывания одного сатчела погибли 3 человека, по одному в каждом скваде. Это очень мощно.

Ветеранство спецназа.

Для меня это было неожиданностью, но оказывается у спецназа свои собственные усиления от ветеранства в отличие от остальной пехоты. И на максимальном уровне они имеют высокие показатели сопротивления подавлению и восстановления сплоченности. Ветеранство спецназа увеличивает скорострельность, что не понятно на что влияет. Я думаю уменьшается скорость перезарядки и скрытая переменная, отвечающая за скорость подготовки следующего выстрела в залпе. То есть напримере LRS: у них карабин имеет размер залпа 8, и увеличения параметра скорострельность будет приводить к тому, что задержка между выстрелами в залпе будет меньше.

Заключение

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

Время от времени руководство будет обновляться, пополняясь описанием новых фич и нюансов. Если вы знаете какие то игровые механики - делитесь в комментариях. Надеюсь вы нашли руководство полезным.

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=3298630583					

More WARNO guilds