(30.05.2017 13:39)Algor Wrote: (30.05.2017 13:27)Heromant Wrote: Реализовывать алгоритм поиска оптимального пути на ERM с нуля достаточно сложно...Но данный алгоритм уже реализован в базовом ИИ игре, но как извлечь его, отделив от перемещения - я не знаю, да и вряд ли кто-то здесь мне поможет это сделать.
Вообще, надо просто найти существующую функцию и использовать ее. Это к "реверсерам". По-поводу "вряд ли кто-то здесь мне поможет" - а ты просил?
А кто-нибудь разбирался вообще, как работают баллы значимости. В ERM-Help написано следующее:
"В зависимости от установленной значимости точки, ИИ может отклонить от пути для сбора сокровищ, атаки более слабых монстров или героев, захвата шахты или городов." А в описании соответствующего параметра для AI:S
"$4 – значимость точки (500000 – значима, 5000000 – очень значима)"
Вопрос в следующем. Возможно, дальность и сложность доступа, не учитываются в баллах значимости, также, как и мощь героя с армией, для которого эта значимость точки устанавливается. Ведь наверняка же эти баллы для каких-нибудь мельниц не меняются в зависимости от того, какой герой с какой армией выбран и на каком расстоянии он от этой мельницы находится. Читаем дальше ERM-Help:
"Также можете связать координаты героя противника и координаты точки назначения, и герой ИИ будет неумолимо преследовать героя игрока."
А почему бы не связать таким образом координаты одного героя ИИ с координатами другого героя ИИ, армии/артефакты которых нуждаются в перераспределении. Ведь, как и в случае с мельницей, баллы значимости, которые мы будем задавать не должны будут меняться с расстоянием между героями а зависеть лишь от полезности встречи. Причем, очевидно, более слабый герой должен затрачивать больше мувипойтов для встречи, так как у сильного скорее всего будут задачи с большей значимостью, например пробивки.
Самая важная задача в этом случае правильно отмасштабировать баллы скоринга полезности встречи с задаваемыми баллами полезности встречи в ERM.