на Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Index
на Главную Форума - back to Forum Index
Эадор.Сотворение - Eador.The Genesis на Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Index
на Главную Форума - back to Forum Index
Автор / Сообщение

Оптимизация поиска пути

   Adrageron

 
 
 * Небесный Лорд *
зловредный гремлин
developer



Свитков: 2153
С нами с: 26.03.2008
Откуда: Artifactorium
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 13:41     Заголовок сообщения: Оптимизация поиска пути

Пытаюсь побороть тормоза в алгоритме поиска пути, потому есть просьба к тем, у кого в текущей игре сильно тормозит поиск пути героем или очень долго думает ИИ, выслать архив с сохранением для проверки сюда: adrageron@eador.com.
Заранее спасибо.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
   wmaster

 
 
 Великий Дух Астрала
admin
Стража Древних



Свитков: 13480
С нами с: 28.03.2008
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 14:08     Заголовок сообщения: Re: Оптимизация поиска пути

Adrageron писал(а):
Пытаюсь побороть тормоза в алгоритме поиска пути ... очень долго думает ИИ

Введи в начало и середину алгоритма простую проверку

if ( random(100) > 50 ) { exit; }

Тому ИИ чаще всего выгодно далеко не бегать))) а то носится по всей карте, а у самого ни родовая не разведана, ни провы первого круга не зачищены)))
Профит для ИИ - 200% Wink

А лучше вставь её на каждый 5й или 10й шаг рекурсии для ИИ. имх.
_________________
«Ни сы!» = «Будь безмятежен, словно Цветок Лотоса у подножия Храма Истины» Древняя китайская мудрость
Draco dormiens nunquam titillandus! (lat.)
Dragon Cave #ffe0b0 #006595


Последний раз редактировалось: wmaster (Сб Апр 14, 2012 15:38), всего редактировалось 2 раз(а)
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
   Gem

 
 
 * Небесный Лорд *
Ветеран
Демиург: Мастер игр



Свитков: 2333
С нами с: 24.03.2011
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 15:31     Заголовок сообщения:

Простейший пример -
Обычно одного попутного ветра хватает, чтобы поиск пути стал заметным. Если ещё у героя есть умения следопыта на игнор местности и надо идти по пересечённой, то очень заметно.

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

PS:Легко воспроизводимо, сейчас вам на почту отправлю.
УПД: отправил.

Последний раз редактировалось: Gem (Сб Апр 14, 2012 16:05), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
   Oblitus

 
 
 ζ Заклинатель ζ
Ветеран



Свитков: 325
С нами с: 17.12.2009
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 16:00     Заголовок сообщения:

Не запасся сохранением, но при мобильности 8++ (попутный ветер в помощь) при движении на соответствующее расстояние повторяемость подвисания на несколько секунд при поиске пути практически 100%.

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

И да, компьютер хапает всё, до чего может дотянуться, не заботясь исследованием. Для игрока это ведет к взрывному росту коррупции (никогда не видел, чтобы компьютер строил дом наместника) и огромным расходам на охрану, а компьютер откровенно жульничает, даже не пытаясь делать вид, что играет по тем же правилам.
Посмотреть профиль Отправить личное сообщение
   Adrageron

 
 
 * Небесный Лорд *
зловредный гремлин
developer



Свитков: 2153
С нами с: 26.03.2008
Откуда: Artifactorium
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 16:24     Заголовок сообщения:

wwwmaster писал(а):
Введи в начало и середину алгоритма простую проверку

if ( random(100) > 50 ) { exit; }

Тому ИИ чаще всего выгодно далеко не бегать))) а то носится по всей карте, а у самого ни родовая не разведана, ни провы первого круга не зачищены)))
Профит для ИИ - 200% Wink

А лучше вставь её на каждый 5й или 10й шаг рекурсии для ИИ. имх.

Если последняя правка алгоритма не поможет, буду экспериментировать. Хотя там и сейчас у ИИ заглушки стоят, но не такие жёсткие Smile

Gem писал(а):
Простейший пример -
Обычно одного попутного ветра хватает, чтобы поиск пути стал заметным. Если ещё у героя есть умения следопыта на игнор местности и надо идти по пересечённой, то очень заметно.

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

PS:Легко воспроизводимо, сейчас вам на почту отправлю.


Это я у себя уже воспроизвёл, тормозов не было (с теми правками, что я внёс в код). За сейв спасибо, в нём всё тоже быстро. Но у меня теперь мощный комп, как бы не оказалось, что это он виноват в отсутствии задержек Rolling Eyes
Предлагаю обратный тест - проверить поиск пути на версии, которую я пришлю. Но предупреждаю: она меняет структуру сохранённых файлов, так что лучше либо сделать резервную копию либо работать с ней постоянно, т.к. она старые форматы сохранёнок читает, а старые экзешники новый формат - нет.

Oblitus писал(а):
И да, компьютер хапает всё, до чего может дотянуться, не заботясь исследованием. Для игрока это ведет к взрывному росту коррупции (никогда не видел, чтобы компьютер строил дом наместника) и огромным расходам на охрану, а компьютер откровенно жульничает, даже не пытаясь делать вид, что играет по тем же правилам.

Имх, основная задача ИИ - развлекать игрока, а не пытаться изображать из себя честного мАлого Smile Согласен, слишком быстрая экспансия порой вызывает раздражение, в планах была реализация разных поведенческих моделей для разных владык, но так до этого и не добрался. Новый алгоритм для ИИ - это куча работы, которую довольно сложно толком оттестировать. До сих пор нахожу в коде ИИ там и сям мелкие явные ошибки, которые никто не заметил.
По поводу тормозов из-за кучи героев у ИИ: надеюсь, оптимизация алгоритма исправит этот момент.

Последний раз редактировалось: Adrageron (Сб Апр 14, 2012 16:27), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
   Gem

 
 
 * Небесный Лорд *
Ветеран
Демиург: Мастер игр



Свитков: 2333
С нами с: 24.03.2011
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 17:06     Заголовок сообщения:

У меня самого компьютер мощный(что аж в бою тормоза проявляются Laughing )
тормоза с поиском пути в том сейве, что прислал, исчислялись пятью секундами максимум, но были заметны.

Что входит в экспериментальную версию - новый экзешник, и всё?

Хочется, чтобы дракон перестанет стрелять с холмика на 3 клетки. Rolling Eyes
И верфи у каждой лужи опять. - а то русалок ловят, а верфь не строят.
Посмотреть профиль Отправить личное сообщение
   Adrageron

 
 
 * Небесный Лорд *
зловредный гремлин
developer



Свитков: 2153
С нами с: 26.03.2008
Откуда: Artifactorium
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 17:33     Заголовок сообщения:

Gem писал(а):
У меня самого компьютер мощный(что аж в бою тормоза проявляются Laughing )
тормоза с поиском пути в том сейве, что прислал, исчислялись пятью секундами максимум, но были заметны.

Похоже, что пофиксил. У меня вообще нет задержки.

Цитата:
Что входит в экспериментальную версию - новый экзешник, и всё?

Не только, там тот же набор данных, что в бета-патче, плюс ещё файлик-другой.

Цитата:
Хочется, чтобы дракон перестанет стрелять с холмика на 3 клетки. Rolling Eyes

Сдалал (но не проверил).

Цитата:
И верфи у каждой лужи опять. - а то русалок ловят, а верфь не строят.

Хмм... В каком смысле "опять"? После бета-патча или просто со времён выхода 1.05? Вроде исправлял эту штуку, и давно (выкладывал фикс).
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
   Снипер

 
 
 * Бессмертный *
admin
Сontest Prize Winner

Award of the Prize-winner of Eador

Свитков: 1572
С нами с: 10.11.2010
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 17:37     Заголовок сообщения:

У меня тоже регулярно происходит так как Гем описал. Если делаешь попутный ветер при сильно открытой карте (я люблю играть на больших картах), тормоза идут на секунд 10-15.
Посмотреть профиль Отправить личное сообщение
   Gem

 
 
 * Небесный Лорд *
Ветеран
Демиург: Мастер игр



Свитков: 2333
С нами с: 24.03.2011
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 17:43     Заголовок сообщения:

*артистично махнув рукой, и выдохнув*
А, ладно. Шлите, посмотрим.

Насчёт верфей - информация не из первых рук, недавно видел жалобу на них. Возможно, что по непропатченной версии.
/*У меня самого не уверен какая стоит. Вроде дворец с х50 множителем*/
Посмотреть профиль Отправить личное сообщение
   Catalyst

 
 
 * Аватар *
Ветеран



Свитков: 1956
С нами с: 30.10.2010
Откуда: Київ
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 17:49     Заголовок сообщения:

Цитата:
Хмм... В каком смысле "опять"? После бета-патча или просто со времён выхода 1.05? Вроде исправлял эту штуку, и давно (выкладывал фикс).
ИИ возле озер строить может.
_________________
30.10.2010 - 17.09.2013
Посмотреть профиль Отправить личное сообщение Отправить сообщения электронной почты
   Adrageron

 
 
 * Небесный Лорд *
зловредный гремлин
developer



Свитков: 2153
С нами с: 26.03.2008
Откуда: Artifactorium
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 17:56     Заголовок сообщения:

Gem писал(а):
А, ладно. Шлите, посмотрим.

Выслал.

Catalyst писал(а):
Цитата:
Хмм... В каком смысле "опять"? После бета-патча или просто со времён выхода 1.05? Вроде исправлял эту штуку, и давно (выкладывал фикс).
ИИ возле озер строить может.

Вроде поправил. В бете не проверял?
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
   Oblitus

 
 
 ζ Заклинатель ζ
Ветеран



Свитков: 325
С нами с: 17.12.2009
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 19:37     Заголовок сообщения:

Adrageron писал(а):
Oblitus писал(а):
И да, компьютер хапает всё, до чего может дотянуться, не заботясь исследованием. Для игрока это ведет к взрывному росту коррупции (никогда не видел, чтобы компьютер строил дом наместника) и огромным расходам на охрану, а компьютер откровенно жульничает, даже не пытаясь делать вид, что играет по тем же правилам.

Имх, основная задача ИИ - развлекать игрока, а не пытаться изображать из себя честного мАлого Smile Согласен, слишком быстрая экспансия порой вызывает раздражение, в планах была реализация разных поведенческих моделей для разных владык, но так до этого и не добрался. Новый алгоритм для ИИ - это куча работы, которую довольно сложно толком оттестировать. До сих пор нахожу в коде ИИ там и сям мелкие явные ошибки, которые никто не заметил.
По поводу тормозов из-за кучи героев у ИИ: надеюсь, оптимизация алгоритма исправит этот момент.
Играть с явным читером - удовольствие ниже среднего. Для сдерживания экспансии достаточно двух вещей - ограничить число героев (4, а лучше вовсе 3) и сделать приоритет исследования намного выше, чтобы наличие большого числа земель с низким исследованием препятствовало экспансии. Простейший вариант - если количество провинций с исследованием менее 70% более или равно количеству героев, то не захватывать провинций, а исследовать старые.
Посмотреть профиль Отправить личное сообщение
   Gem

 
 
 * Небесный Лорд *
Ветеран
Демиург: Мастер игр



Свитков: 2333
С нами с: 24.03.2011
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 19:42     Заголовок сообщения:

Shocked не-не-не.
на исследование одного болота до 70% может уйти 25 и более ходов, а с ограничением числа героев он во второй круг за 100 ходов не выйдет.
Посмотреть профиль Отправить личное сообщение
   Oblitus

 
 
 ζ Заклинатель ζ
Ветеран



Свитков: 325
С нами с: 17.12.2009
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 20:43     Заголовок сообщения:

Gem писал(а):
Shocked не-не-не.
на исследование одного болота до 70% может уйти 25 и более ходов, а с ограничением числа героев он во второй круг за 100 ходов не выйдет.
Ну как минимум требовать исследования до уровня, позволяющего рост населения с запасом минимум в один уровень провинции (дабы не дергаться постоянно и не терять ходы на беготню). Плюс если он будет уметь слать исследовать болота именно разведчика - всё будет не так страшно. Тем более, что он, как я замечал, очень любит мультиклассы с разведчиками.
Посмотреть профиль Отправить личное сообщение
   Gem

 
 
 * Небесный Лорд *
Ветеран
Демиург: Мастер игр



Свитков: 2333
С нами с: 24.03.2011
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 20:55     Заголовок сообщения:

Не надо ничего требовать от стратегического ИИ. С таким алгоритмом заставы не нужны будут - компьютер захватит болото рядом с родовой, и будет его исследовать до посинения.
А если ещё и сайтов не очень много выставлено, то по 5-7 ходов у компа будет впустую между ними уходить.
8 героев у компа я ни разу не видел, кстати. На гигантской карте один против 16 мастеров- 3 максимум.

Вот поставить противнику повыше приоритет у сайтов - можно. Потому что они постоянно в такой хлам одеты, что стыдно. Семь пар сандаликов с Вианты снял. Laughing
Посмотреть профиль Отправить личное сообщение
   Catalyst

 
 
 * Аватар *
Ветеран



Свитков: 1956
С нами с: 30.10.2010
Откуда: Київ
Цитировать
СообщениеДобавлено: Сб Апр 14, 2012 21:01     Заголовок сообщения:

Цитата:
Вроде поправил. В бете не проверял?
Кстати, нет. Щас проверю.
_________________
30.10.2010 - 17.09.2013
Посмотреть профиль Отправить личное сообщение Отправить сообщения электронной почты
Часовой пояс: GMT +3:00


 


Ты не можешь начинать темы
Ты не можешь отвечать на сообщения
Ты не можешь редактировать свои сообщения
Ты не можешь удалять свои сообщения
Ты не можешь голосовать в опросах
на Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Index Eador. The Genesis. Encyclopedia на Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Index