«И залпы башенных орудий» или Частные вопросы штурма замка во вторых героях
Данный материал состоит из двух частей: прекрасного аналитического материала, написанного талантливым исследователем Героев Меча и Магии AlexSpl, и оптимистическими советами от Qwerty. автор AlexSpl I Защитные стрелковые башни (баллисты) Защитные стрелковые башни можно рассматривать как отряды стрелков, которые не могут быть блокированы.Атака центральной башни равна 2, а урон составляет (2-3) * k, где k — количество построек в городе. Примечание — Cам замок тоже считается постройкой, т.о. число k может принимать значения от 1 (пустой замок) до 20 (полностью отстроенный замок). Ход защитных стрелковых башен наступает перед ходом самого быстрого обороняющегося отряда. Сначала стреляет центральная башня, затем — левая (верхняя) и, наконец, правая (нижняя). Атака стрелковых башен может быть увеличена за счёт: Примечания: A = 2 + Hero_Captain_Attack + Mage_Guild_Level Урон стрелковой башни может быть увеличен или снижен в зависимости от разности между её атакой и защитой атакуемого отряда осаждающих. За каждую единицу разности A — D урон увеличивается на 10%, если атака башни больше защиты отряда противника, и уменьшается на 5% за каждую единицу разности D — A, если защита больше атаки: Damage = Base_Damage — 5% * Base_Damage * (D- А), если атака меньше защиты; где, Примечание — Разность А – D не может превышать 20 ед., а разность D — А — 16 ед. Таким образом, в зависимости от соотношения атака/защита, результирующий урон может превышать базовый в три раза или быть в пять раз меньше базового, но не меньше 1 HP.
Если требуется найти абсолютный минимальный и максимальный урон центральной башни, то считать нужно так: Минимальный урон. Максимальный урон. В последнем случае диапазон уронов составляет 3 * (2 * 20) — 3 * (3 * 20) = 120-180, т.е. башня будет наносить 150 ед. урона в среднем. Так как формально башня является стрелковым отрядом с численностью боевых единиц равной количеству возведённых построек в городе, базовый урон генерируется отдельно для каждой боевой единицы (может быть 2 либо 3), поэтому более вероятны уроны из центра диапазона [Min_Damage..Max_Damage]. Уроны вблизи границ данного отрезка маловероятны (чем больше значение k, тем выше вероятность уронов из центра диапазона и ниже вероятность уронов близ его границ: кривая распределения вероятностей напоминает колокол). II Защитный ров Защитный ров служит препятствием для пеших отрядов и преодолевается ими за два хода, т.е. чтобы перейти ров, отряд должен сначала в него стать (это касается отрядов обеих сторон). В отличие от третьей части, находясь внутри рва, отряды не получают никакого урона и пенальти к их характеристикам. Отряд получает бонус +3 к атаке, если атакует отряд, стоящий во рву (исключение — стрелковые башни: они указанный бонус не получают). Для того чтобы пешим отрядам можно было попасть внутрь замка минуя ров, необходимо либо заставить пеший отряд противника открыть ворота, либо воспользоваться магией Телепорт, либо дождаться, когда их разобьёт катапульта. III Штрафы для стреляющих отрядов осаждающей стороны Крепостная стена обеспечивает защиту от стрелковых атак всем отрядам защищающейся стороны, т.е. стрелки осаждающей стороны получают штраф при стрельбе по отрядам противника, укрывшимся за крепостной стеной. Визуально наличие штрафа отображается в виде курсора в форме сломанной стрелы при наведении его на отряд противника. При стрельбе со штрафом урон, наносимый стрелками, уменьшается вдвое. Существуют правила, позволяющие узнать, в каких случаях штраф отсутствует (здесь всё довольно не просто: штраф может отсутствовать даже при полуразрушенных секциях крепостной стены, т.е. когда ни одна секция не разрушена полностью!) . 50% штраф к урону для стрелковых отрядов, атакующих отряды противника за крепостной стеной, исчезает, если: Что такое линия атаки и что значит не блокирована ни одной секцией крепостной стены? Для начала введём прямоугольную систему координат, ось абсцисс направим слева направо, ось ординат — сверху вниз, как показано на скриншоте №1. Узлы сетки будут соответствовать гексам осадной арены. На скриншоте №1 узлы обозначены красными квадратами.
Назовём линией атаки отрезок, соединяющий узлы, в которых расположены стрелок и его жертва. Назовём окрестностью секции с координатами (X, Y) множество точек (Xi, Yi), для которых выполняются следующие два условия: Указанное множество есть единичный квадрат (плоская фигура) с двумя отсутствующими сторонами (на скриншоте салатовые квадраты без восточной и южной сторон). Тогда если линия атаки и окрестность секции пересекаются (это значит имеют хотя бы одну общую точку), то будем говорить, что секция блокирует линию атаки. На скриншоте №1 западная и северная границы окрестностей секций обозначены зелёным цветом, если секция является стеной, синим цветом, если секция является башней. Оранжевым цветом обозначены границы окрестности ворот (подъёмного моста). Обратите внимание, что окрестность крайней правой (нижней) стены состоит только из одной северной границы (является вырожденной). Окрестность этой секции выходит за пределы осадной арены. Таким образом, если Вы внимательно читали весь этот бред , то фраза «линия атаки стрелка не блокирована ни одной секцией крепостной стены» теперь должна быть Вам понятна. Примеры на скриншоте №1: Примечания:
Немного о машинных погрешностях… Рассмотрим две линии атаки на рисунке: синюю (1) и красную (2). Оба отрезка пересекают окрестность шестой секции-башни в одной единственной точке, но в первом случае штраф отсутствует, а во втором — нет. В чём дело? Неправильный метод? Нет, в методе я уверен на 100%, иначе не стал бы его опубликовывать. Всё дело в машинных погрешностях. Угловой коэффициент синей линии атаки k1 = 2/3 = 0,(6) — периодическая дробь, которая, будучи помещена в четырёхбайтовую переменную, превращается в 0,66666668653… > 2/3. Далее, линия атаки не есть непрерывный отрезок. Чтобы не увязнуть в общих рассуждениях, рассмотрим отрезок №1. Длина проекции данного отрезка на ось абсцисс (6) больше его длины проекции на ось ординат (4). С шагом 0,1 по длине большей проекции игра строит «дискретную» линию атаки. Уравнение рассматриваемой линии y = 2/3 * x, где x принимает значения 0; 0,1; 0,2; … Тогда y(2,9) = 0,66666668653… * 2,9 < 2, а в точке предполагаемого пересечения с окрестностью секции (синий квадрат) y(3) = 0,66666668653... * 3 > 2! (см. скриншот №1). Поэтому из-за машинных погрешностей реальная «дискретная» линия атаки не пересекает окрестность рассматриваемой секции. Для тех, кто пропустил вышенаписанное, или читал, но не всё понял: 1) Если пересечением линии атаки с окрестностью секции является одна единственная точка, то секция НЕ блокирует линию атаки, если её угловой коэффициент — периодическая дробь (из-за машинных погрешностей). На рисунке линия атаки (1) НЕ блокирована шестой секцией-башней несмотря на то, что линия пересекает секцию, т.к. угловой коэффициент этой линии k1 = 2/3 = 0,(6) — периодическая дробь. А вот линия атаки (2) блокирована этой же секцией (угловой коэффициент этой линии k2 = 1/2 = 0.5 — непериодическая дробь). 2) Если пересечение линии атаки и окрестности секции пусто (линии 3 и 4) или не состоит из одной единственной точки, то угловой коэффициент никакой роли не играет. Извиняюсь, что уделяю внимание таким мелочам, которые на практике не встретятся 100%, но хочется изложить всё как можно строже, чтобы свести к минимуму недоразумения. Описанный метод есть графическая интерпретация алгоритма, с помощью которого игра определяет, имеет ли стрелок штраф при стрельбе через крепостные стены. Возможно, что в третьей части реализован подобный алгоритм. Аналитические условия отсутствия штрафа при стрельбе через крепостные стены Пусть координаты атакующего стрелка (Xa, Ya), При 0 <= |k| <= 1 (угол стрельбы не больше 45 градусов): Примечание: дополнительно, при k = -1, в силу особенности геометрии окрестности секции, секция блокирует линию атаки, если При |k| > 1 (угол стрельбы больше 45 градусов): IV Катапульта Катапульта является осадным орудием и предназначена для разрушения крепостных стен и уничтожения стрелковых башен, она занимает первый гекс восьмой горизонтали. Катапульта не может быть атакована, разрушена или оказаться под действием заклинания. Ход катапульты наступает перед ходом самого быстрого отряда осаждающих. Количество последовательных выстрелов, которое катапульта может сделать за один раунд, равно: Примечание — Если герой владеет артефактом Ballista (Баллиста), число последовательных выстрелов катапульты увеличивается на один. Последовательность разрушения замковых укреплений *) Вероятности выбора катапультой конкретной стены (нумерация стен сверху вниз): **) Вероятности выбора катапультой конкретной башни: Один выстрел катапульты наносит 0, 1 или 2 ед. повреждений крепостным стенам, воротам или башням. Вероятности конкретного урона Если у героя нет вторичного навыка Баллистика: Если у героя есть базовая или продвинутая Баллистика: Если у героя есть экспертная Баллистика: Максимальное количество единиц повреждений, которое может нанести катапульта за один раунд, равно 6 ед. (артефакт Баллиста + экспертная Баллистикa). V Подъёмный мост (ворота) Если нет магии Телепорт, единственный способ для пеших отрядов попасть за крепостные стены, минуя ров, — через открытые или разрушенные ворота. Открыть ворота могут только отряды, защищающие замок. Любой отряд, стоящий или погибший прямо перед воротами, воспрепятствует их открытию. Таким образом можно временно запереть защитников замка за крепостными стенами, если это выгодно осаждающей стороне. Далее, отряды, погибшие на любом гексе открытого моста (открытые ворота занимают два гекса), будут препятствовать его закрытию. Опять же, элементали не годятся и для этой цели (ворота закрываются сразу после уничтожения стоящих на них элементалей). На этом всё. автор Qwerty В одном из материалов прошлых лет я уже касался данной темы, но актуальность вопроса не уменьшается … 2. Онлайн-игра. Здесь своевременный штурм замка компа может дать целый ряд бонусов. «За нашу случайную встречу» или Границы применимости фундаментальных законов. Во вторых героях законы сохранения не действуют. То есть вторые герои остались за границей применимости законов сохранения. В частности, это касается отдельных случаев при штурме замка. 1. Сначала войска, которые есть в гарнизоне, присоединяются к идентичным войскам героя. Если у героя есть несколько слотов с такими войсками, то воины из гарнизона присоединяются к самому левому (верхнему) слоту. 2. Таким образом, если у героя заняты все 5 слотов войск, то присоединиться из гарнизона смогут только те же войска, которые уже присутствуют у героя. 3. Если у героя есть свободные слоты, то после выполнения пункта 1 (соединение идентичных отрядов) войска из гарнизона входят на свободные места, начиная с самого левого (верхнего). То есть на первое свободное место входит самый левый гарнизонный отряд, и т.д., а до последних справа очередь может и не дойти. Процедура производится 1 раз перед битвой. 4. В случае выигранной битвы герой «встречает утро» с теми войсками, с которыми он завершил битву. 5. В случае проигранной битвы войска в гарнизоне, не участвовавшие в битве, бесследно исчезают. 6. Компьютер принимает решение о нападении на замок исходя из суммарной силы армии гарнизона и героя, а не из реально участвующей в битве армии. 7. Следует помнить о том, что за захват пустого города опыта не даётся, а вот за битву даётся помимо всего прочего 500 единиц опыта. Здесь необходимо понимать, что компьютер воспринимает замок как дополнительного бойца, то есть по-разному оценивает перспективы грядущего сражения с героем в замке и снаружи, и соответственно по-разному принимает решение о целесообразности нападения. «Щит и меч» или Некоторые тактические приёмы при штурме и обороне замка. 1. Хит-энд-ран. Классический приём. Суть – покупаем героя, нападаем на будущего штурмовика, наносим максимальный урон, часто магией, сбегаем. Можно сделать несколько таких вылазок. В результате штурмовик теряет и войско и ману. 2. Механические преграды. Скупаем героев и располагаем их таких образом, чтобы герой-штурмовик не успел дойти до замка, потратив ход на побивание жертвенных героев. 3. Провокация. Зачастую наиболее выгодным вариантом является нападение героя-штурмовика на замок (естественно, в случае, если мы уверены в своей победе, а соперник – в своей). Суть в том, что специально не скупается много войск, так, чтобы компьютер счёл нужным напасть. 4. Стрельба первого уровня даст возможность стрельбы через стены без штрафа. 5. Баллистика не только позволяет быстрее вступить в битву пешеходам, но и уменьшает урон от башен замка в связи с их скорейшим разрушением. 6. Можно попробовать выманить отряды компьютера за стены, подставив под удар свой отряд. 7. У Капитана мана восстанавливается после каждой битвы. В случае нескольких нападений подряд это может стать существенным фактором. Ну и главное. Сохраняйтесь перед штурмом. Обороняйтесь или штурмуйте. Переигрывайте. Ещё. Ещё. Почувствовали разницу? AlexSpl и Qwerty желают Вам удовольствия от замечательной игры – Heroes of Might and Magic – 2! |