Было бы очень полезно сделать самую простейшую реализации Берсерка для ИИ.
Без сложных расчетов, даже просто на случайный стек противника.
Объявления | ||
---|---|---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Улучшение ИИБыло бы очень полезно сделать самую простейшую реализации Берсерка для ИИ.
Без сложных расчетов, даже просто на случайный стек противника. |
Re: Улучшение ИИ)))
Анатолий, расчет, который я привел - он не сложный. Адекватный алгоритм для ИИ Берсерка будет сложнее на порядок. На самом деле нам не достаточно получить набор битов в 0x544. Ведь нужно знать именно ближайший стек, к которому пойдет стек, на который наложен Берсерк. То есть нужно воспроизвести в точности ту механику, которая происходит при применении заклинания. Но только в расчетах, естественно, без применения. Но начинать нужно с простейшей реализации (не реализации даже, по сути, а черновика) Берсерка - тут полностью с тобой согласен. То есть для начала было бы удовольствием просто посмотреть, как ИИ применяет Берсерк. |
Re: Улучшение ИИМожет кто-нибудь прокомментировать, что происходит в функции действия монстра под Берсерком ?
|
Re: Улучшение ИИУниверсальная (некостыльная) функция для расчета предпочтения ИИ опыта/денег. Почему универсальная ? - потому что не заставляет ИИ что-то жестко делать/выбирать, а исходит из реальной ситуации (например, ситуации острой нехватки у ИИ денег). Таковыми в идеале должны быть все изменения по ИИ.
Справедливости ради - получилась не на 100% универсальная функция (то есть имеет место "полукостыльность"). В функции сравнивается значение "выгоды от опыта", полученное по новой формуле и по старой (оригинальной). Выбирается большее значение. Написание единой хорошей универсальной функций потребовало бы достаточно много усилий.
|
Re: Улучшение ИИПрекрасный повод для исследования ! Попробуй докопаться, почему получается маленькое значение Value (до увеличения в 100 раз).
|
Re: Улучшение ИИТак в том-то и дело, что вес даже без моего умножения = 300 000, это точно наибольший вес среди всех объектов для этого героя.
Все остальные веса в районе 1000. Проверил вообще без всех моих изменений - город также не берется. |
Re: Улучшение ИИЗначит нужно посмотреть, какое Value получается на выходе из AICalculateMapPosWeight - может быть, какой-то другой объект получает очень большое значение.
as239 писал(а): Все таки это нужно уточнить. Есть, конечно, еще вариант, что он просто не видит этот город, но ты написал, что в итоге заставил его взять этот город. При желании докопаться до причины всегда возможно. |
Re: Улучшение ИИТак именно это я и проверил - наибольшее значение у города.
Видимо после этой функции есть еще какая-то где может быть принято решение независимо от веса. Буду смотреть. Самое интересное что в итоге он идет и забирает шахту руды, пропустив два пустых города соперника! Последний раз редактировалось as239 11 май 2020, 07:40, всего редактировалось 1 раз.
|
Re: Улучшение ИИЕще важный момент при издевательствах над ИИ алгоритмами - если мы меняем что-то в Enter2Object, то почти всегда должны произвести соответствующие изменения для этого объекта в AICalculateMapPosWeight. Иначе может получиться, что герой будет ходить туда-сюда к объекту-от объекта.
as239 писал(а): Видимо после этой функции есть еще какая-то где может быть принято решение независимо от веса. Буду смотреть. Самое интересное что в итоге он идет и забирает шахту руды, пропустив два пустых города соперника! Возможно, мы на пороге очередного маленького открытия по ИИ |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4