Форум HeroesWorld-а - Показать сообщение отдельно - Тонкости механики игры
Показать сообщение отдельно
Старый 06.05.2019, 21:42   #66
Sadness
 
Аватар для Sadness
Регистрация: 12.07.2012
Сообщения: 278
Sadness - уровень боевого духа
1520
Отправить сообщение для  Sadness с помощью ICQ
По умолчанию Re: Тонкости механики игры

А вдруг Игорь еще читает эту тему?... :-)

К сожалению, я не нашёл на форуме некоего алгоритма ведения боя со стороны ИИ в битвах с нейтралами (для себя битвы с героями определяю как частный случай битвы с нейтралами, который представляет меньше интереса для онлайна).

Несколько вопросов, которые у меня есть:
- Какая цель ИИ на бой на уровне алгоритма? Нанесение максимального урона, или максимального количества существ с оглядкой на их уровень? Или?)
В частности это интересно, когда ИИ знает, что бой заведомо проигрышный, т. е. нет такой ситуации, при которой он всё-таки может выиграть (3 бегемота vs 1 бегемот, либо 1 ангел в мини склепе).
Исходя из ответа можно будет протестировать несколько стратегий для типовых боёв, различные расстановки и т. д. Скажем, стандартное взятие консы с гр. стеком армией со основным ударным стрелковым отрядом в 6 стеке. Ну вот почти всегда гр. стек грифонов летит блокировать стрелковый отряд, при этом самих стрелков не лупит. Хотя именно стрелки представляют угрозу и, в конечном итоге, приносят победу.

- По какому принципу ИИ определяет, бить ли ему единичку/отжор или бить ударный стек, если он за ход дотягивается и до того и до другого? Некоторые наблюдения на этот счёт есть, но без подробностей. Скажем, если ИИ видит, что может за 1-2 раунда убить ангела - он не кинется убивать "вкусный" стек копейщиков, который по совокупному количеству ХП может быть больше, чем ХП ангела. В случае с ударным стеком и единичкой, если ИИ дотягивается до обоих и у него один стек (1 + 70 троглодитов vs 25 кентавров), то в ряде случаев он врежется в единичку, а в другом случае - в ударный стек (вероятно, когда знает, что не помрёт с ответки).

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

- Иногда ИИ не атакует, когда у него есть такая возможность. Есть какие-то правила, при соблюдении которых ИИ не станет атаковать?
Т. е. ни магия, ни другие препятствия ни при чём. Речь не идёт о драконах, которые боятся подставиться или дыхнуть на своего, также о первом-втором раунде боя "гидры vs улей", где змейки разбегаются в стороны, боясь одновременного удара, здесь как раз ясна закономерность (хотя описание всех таких случаев тоже было бы уместным).

--

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