Форум HeroesWorld-а - Показать сообщение отдельно - Школа мастерства онлайн
Показать сообщение отдельно
#22
Старый 13.10.2008, 12:46
  #22
^
Oelm
 
Аватар для Oelm
📖
Регистрация: 26.09.2008
Сообщения: 2571
Регистрация: 26.09.2008
Сообщения: 2571
По умолчанию
Re: Школа мастерства онлайн

В игре часто возникает возникает ситуация , когда несколько жирных юнитов имеют дело с со стреляющими нейтралами. Например при игре за болото герой с 2-мя вивернами нападают на толпу ящеров. Ящеры разделились на несколько отрядов, но нам удалось после маневров заблокировать двумя единичками всех стрелков. Итого каждая виверна окружена несколькими отрядами. В каком порядке нужно бить отряды нейтралов, чтобы они нанесли минимальный урон? (Все это имеет смысл и в ситуации, например, когда 2 виверны окружены отрядами кентавров капитанов, или один медведь окружен толпой фей, т.е. разница в скорости и отсутсвие магии не позволяет эффективно маневрировать).

1. Для простоты рассмотрим ситуацию, когда один наш отряд сносит за удар ровно один юнит нейтралов. Значит бой продлится (общее число нейтралов)/2 раунда. В каждом раунде будет погибать 2 юнита. Во время хода нейтралов наш отряд получает одинаковый урон, а вот с ответки урон разный. Так как битва в любом случае длиться одинаковое количество раундов, то нужно минимзировать урон с ответки - значит самым оптимальным будет бить отряд с наименьшим количеством юнитов.

Проверим: напр. один наш отряд бьет 2 стэка нейтралов в одном 7 в другом 3 юнита. Бой длиться 5 раундов. Первый ход наш, у нейтралов первый ходит стэк из семи юнитов. Посчитаем урон с ответки если бить максимальный стэк: (6+4+2+0+1)*х=13х (х-урон одного вражеского юнита, для простоты считаем, что он фиксированный). Если бить с минимального стэка: (2+0+4+2+0)*х=8х. Дамаг, который наносили нейтралы на своем ходе:
(9+7+5+3+1)*х=25*x
Итого разница в уроне 20%!

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

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

3. Если урон наносимый нашим отрядом < здоровья вражеского юнита, то все расчеты остаются верными.

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

Например: у нас один отряд, выносящий ровно 5 юнитов нейтралов. Нейтралов 2 стэка, в одном 8 юнитов, в другом три. Как эффективнее бить? Бой идет 2 раунда. Считаем суммарный урон: если бить восьмерку, то получаем 3x в ответ + 6x ход нейтралов =9x (x - урон одного нейтрального юнита), если бьем тройку, то получаем только 8x урона.

Т.е. при таком соотношении выгоднее бить вначале 3-х юнитовый отряд.

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

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

P. S. по моему такой теме на форуме не было, т.к. не хотелось бы повторяться.
Oelm вне форума
Ответить с цитированием