Comments 16
А юниты в симуляции всегда ходили вперед в свой ход, или могли ждать и нанести двойной урон, или первый удар, если у противника нет дистанционной атаки, а их скорость выше? К примеру, грифон против цербера - у цербера скорость 8, у грифона 11, первый ход грифон ждёт, цербер подходит (потому как больше некуда деваться), грифон бьёт, второй ход - грифон бьет первым, двойная атака. (Лучше работает для стрекозы - она может первый ход не лезть в рукопашную, выиграв одну атаку первой, и с некоторым шансом выиграть больше боёв 1v1 чем налетая сразу, если противник не стреляющий)
Да, если у юнита есть преимущество в скорости - он этим пользуется и ждёт, чтобы потом совершить две атаки подряд. У некоторых других особенных юнитов тоже постарался учесть их абилки. Например Чемпионы и Кавалеристы с абилкой JoustingBonus (Кавалерийский бонус - доп. урон за каждую пройденную клетку) стараются максимизировать число пройденных клеток перед ударом.
С интересом прочитал статейку :) в принципе да , вопрос хороший про тактику боя ..
В воге так вообще та же самая стрекоза может переполошить всю армию противника ,используя заклинание берсерка , а если ещё и герой этим поколдует... )))) не знаю какие плюшки у грифона ,скорее всего у него атаки без ответа, что согласитесь тоже мощное дело - так и заклевать не долго :)
Есть тут ещё момент, моментище сказал бы - 8 уровень некоторых перекрашеных монстров 7 уровня... Вот там да... Один барон преисподней может удерживать более значительно превосходящую армию противника - он играючи заколдовывает обездвиживающим заклинанием, но если не получится кастануть... То повезет ему ,если не упадет от атак)))) Я вон почти всегда в поход его беру ,ставлю его командиром и попер все крушить ))))) или громовержца по настроению, если захочется пострелять ....
В планах есть потом добавить юнитов из модов и дополнений, WoG в том числе)
У меня тут ещё мысля возникла :) раз уж определились самые лучшие монстры из лучших,тогда предлагаю вот что исходя из этого ..
Понимаю, что битвы сугубо индивидуальны, тем и притягательны, что не под копирку бьешь всех подряд.... Хотя в отношении слабых и очень слабых армий - так увы и происходит... После 20 таких битв хочется просто отрубить анимацию боя.... Зачем и так понятно кто победит , да архангел полетит и врежет с одного раза, да и дракон следом... И усё - победа.
Потому ,может оно и действительно нафиг никому это не нужно , но сделайте пожалуйста для статистики ,ради которой написан пост, что то типа заданного алгоритма 7 отрядов с 1лв по 7лв ,где например 7 лв из топа голд (выше там картинка в посте) бьёт строго 6лв из того же топа голд, 2лв например бежит и хочет нанести урон отряду 3лв или 1лв итд , и в целом рассмотреть индивидуально золото серебро и бронзу и пары золото с рангами серебро и бронза ... Такую же сеточку, типа вот они лучшие из лучших, и боёв 20000 - и топ тех самых алгоритмов ;) но при этом алгоритмы должны быть хоть как то обоснованы, грубо говоря не взяты с потолка , например почему 7лв не летит или бежит мочить сразу юнитов 1-3лв ))))
Вроде понятно изложил :)
В воге 15 уровней "взросления" отряда ))) в учёт пойдет?)))
В сценариях «покупка на 10k золота», интересно и юниты разных уровней посравнивать. Например, на эти деньги можно купить 166 обычных скелетов, но всего двух архангелов. Да, по моим прикидкам, два архангела таки выкосят 166 скелетов за счёт огромного здоровья. Но вот с более младшими юнитами не очевидно, всегда ли имеет смысл купить кучку более мощных вместо толпы более слабых, или же в игре есть перекос и это не всегда верно?
Тут как бы не про 7лв против 1лв ,а 1лв против 1лв итд
В целом код довольно гибкий, можно и в таком варианте сравнивать, но надо формализовать конкретнее кого с кем, ато так получается что мы сравниваем каждого против каждого, а этом очень много пар. Надо будет подумать, спасибо за идею)
Просто у тех же некромантов это обычная стратегия — копить армии скелетов (хоть простых, хоть улучшенных). И интересно, до какого уровня противников это действует. Так как фракции добра терпеть не могут фракции зла и, обычно, наносят больший урон по сравнению с нейтральными фракциями, то можно хотя бы противоположные фракции сравнить.
Только вот в героях воюют не 1 юнитом, а армией. С поддержкой героя, как в характеристиках, так и в магии. Какие, блин, Haspids, если у меня Клинок Армагеддона и черные драконы в сопоставимом количестве?
Юниты и их баланс не существуют в вакууме, поэтому результаты не сильно полезны с практической точки зрения. Три простых примера:
Магоги: бьют по площади. В битвах юнит-на-юнит их "рейтинг" будет значительно занижен, потому что их главная абилка не работает. Остаются статы: +1 атака за +50 золота.
Улучшенные вампиры: есть чекпоинт в виде их количества, после достижения которого они способны самоподдерживаться и выносить большинство сражений в одиночку без потерь.
Стрелки в целом: обычно не стоят в открытую, а окружены армией единичек.
Но технически проект интересный, не хочу умалять ваш труд :)
Моделировать полные бои я, честно говоря, не знаю как, а если ещё факт наличия героя рассматривать..
Можно попробовать посмотреть в сторону самообучающейся модельки ИИ. Убиваем вражеских юнитов и мало теряем своих - получаем плюс к социальному рейтингу и кошку-жену, бестолково ходим или пропускаем ходы - минус к рейтингу.
Так и знал, что по ссылке литовский бро Lexiav :D
Спасибо за комментарий!
Полностью согласен, что тут многие абилки бессмысленны, FireBall магогов, Кастование заклинаний юнитами (например Архангелы, Мастер-Джинны, Йотуны), Дыхание драконов и много других. И это искажает общий рейтинг юнита.
Можно попробовать посмотреть в сторону самообучающейся модельки ИИ
Тоже думал про это, но сначала надо сделать движок симуляции полных боёв, а это существенно сложнее) Вынес в планы на необозримое будущее)
Симуляция дуэлей юнитов HoMM III: кто сильнее в честном 1vs1?