КАМ ИИ
|
AntonP | Дата: Четверг, 22.03.2012, 09:05 | Сообщение # 1 |
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
| Сегодня думал над работой ИИ, вот мои предложения: У ИИ будет 5 параллельных уровней приоритетов (Не зависящих друг от друга). Первый уровень Строительство зданий и дорог Второй уровень обучение гражданских и рекрутов Третий уровень Найм войска в казарме Четвертый уровень заказ оружия или доспехов Пятый уровень Оборона и нападение Допустим можно, приказать строить здание и параллельно отдать приказ на обучение строителя. Каждый из этих уровней будет не зависимо от остальных работать, как несколько потоков, но они смогут обращаться друг к другу, допустим первый уровень, может сказать второму уровню, что нужно обучить лесоруба, или пекаря. Пятый уровень может обратиться к третьему и приказать обучить воинов, а третий в свою очередь может обратиться к четвертому и заказать какое-нибудь оружие или доспехи и т.д. ПРИМЕР СТРОИТЕЛЬСТВА: ПРИМЕР ВЗАИМОДЕЙСТВИЯ УРОВНЕЙ ВОЕННАЯ ОБОРОНА ИИ И ПОМОЩЬ СОЮЗНИКУ НАПАДЕНИЕ ИИ
Давайте определимся, что Искусственный Интеллект у нас создать врятли получится, ну по крайней мере в самом начале, но достаточно умный Имитатор интеллекта вполне возможно. В зависимости от времени перемирия будут разные схемы строительства. Час перемирия, врятле получится сильно развиться, надо поскорее строить войско. Последовательность будет примерно такая: Школа,Харчевня, 2 Каменоломни, 6 Хижин Лесоруба, 2 Лесопилки, 2-3 Оружейки, 3 Винодельни, 3 Фермы, 1 Мельница, 1 Пекарня, 3 Свинофермы, Далее добыча золота, железа, железные доспехи и т.д.
Война и мир лучшая!
Сообщение отредактировал AntonP - Четверг, 22.03.2012, 09:07 |
|
| | |
Krom | Дата: Четверг, 22.03.2012, 11:30 | Сообщение # 2 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| Я бы предложил отталкиваться от среднего звена, с которым все боле-менее понятно: Мэр и Генерал. Это 2 сущности, первый занят городом, второй - армией.
У них есть верхний уровень - ИИ, который генерирует и выдает им общие приказы, типа - строить город, напасть на врага. И есть нижний уровень, у Мэра - алгоритм выбора мест для зданий, прокладка дорог. У Генерала - выбор места защиты, управление отрядами.
Нужно иметь достаточную гибкость для выбора стратегии ИИ - мирной (строитель) или агрессивной (вояка), умный или дурак, оборона или нападение. Нужны вспомогательные ресурсы в виде карт влияния (областей опасности) на карте - т.е. какие места безопасны и там можно строить, а какие - опасны и перед ними надо ставить оборону. Естественно сущности многозадачные, и сразу в параллель идет обработка требований и выполнение (строим и нанимаем одновременно)
Если смотреть снизу, то проще всего сделать выбор мест для домов, соединение дорогами, наем слуг. Ограничения в виде количества одновременных строек и дорог, ограничения от карты опасностей и доступного места. Следующий слой, Мэр, сложнее - как управлять выбором мест и наймом - ведь игра постоянно находится в движении и надо как-то выбрать момент когда и что должно быть построено. Например у Мэра должна быть цель - хозяйство или военка, т.е. какие здания он будет строить. У него есть приоритеты, еда, школы, найм рекрутов, и т.п. в том числе требования от ИИ на стройку линии обороны, и вот тут мысли начинают путаться и заканчиваются.
С Генералом примерно так же. У него есть модуль для расчета угрозы со стороны врагов, приоритеты защиты/атаки, запросы на наем войск. Использование карты статической (зоны влияния врагов) и динамической опасности (передвижение армий). Выбор врагов и инициация атак (которая разруливается нижним слоем). И тут тоже немного мутно все описано..
А сверху ИИ, у которого общие данные типа карты опасности и цель "красиво проиграть". и тут совершенно пусто в плане идей - как он будет командовать Мэром и Генералом.
Например в начале Генералом игры оценивается потенциальная угроза и принимается решение что нужно 100 пикенеров, запрос идет к Мэру, чтобы он их обеспечил и заодно построил линию обороны. А у Мэра свои заботы - нужно обеспечиться едой. и тут что перевесит - строитель или военный, туда и будут здания строиться, причем по мере стройки приоритет снижается, т.к. когда 50 пикенеров готовы, то вес оставшихся 50 будет меньше возросшего веса требования еды. Как-то так ...
AntonP, В целом у нас есть точки соприкосновения. Но я хочу структуру, которая будет генерировать то что ты описал внизу - т.е. сама выбирать оптимальную линию строительства приведенную тобой.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
Krom | Дата: Четверг, 22.03.2012, 11:37 | Сообщение # 3 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| Был парень, который предлагал плясать от Целей. Т.е. построить дерево целей с победой на верху и дальнейшим разветвлением способов реализации этой цели. В этом тоже есть разумное зерно.
Победа складывается из собственного выживания и уничтожения врага, которые дальше дробятся на: не умереть от голода, не быть уничтоженным армией, не "еще что-то"(?) и соответственно военное превосходство, уничтожение армий врага, уничтожение городов. И так далее и т.п. И у каждой цели под ней способ ее достижения - строить город, делать еду, делать армию, обороняться и нападать..
Вопрос как это органично связать с тем что я писал выше - Мэр, Генерал, ИИ.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
AntonP | Дата: Четверг, 22.03.2012, 14:28 | Сообщение # 4 |
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
| Quote (Krom) Например в начале Генералом игры оценивается потенциальная угроза и принимается решение что нужно 100 пикенеров, запрос идет к Мэру, чтобы он их обеспечил и заодно построил линию обороны. А у Мэра свои заботы - нужно обеспечиться едой. и тут что перевесит - строитель или военный, туда и будут здания строиться, причем по мере стройки приоритет снижается, т.к. когда 50 пикенеров готовы, то вес оставшихся 50 будет меньше возросшего веса требования еды. Как-то так ... Можно сделать так: Добавить в приоритеты строительство линии обороны, предварительно выбрав место под их расположение, Допустим Мер выполнил один из своих приоритетов, всем остальным приоритетам силу увеличиваем на 1. И так 2-3 раза и дойдет и до генеральских запросов. Вот допустим: У ИИ есть 3 приоритета: строить Свиноферму, строить пекартню, строить винодельню, у всех этих приоритетов сила допустим 50. Тут еще и Генерал подкидывает приоритет, строительство 2 дозорных баши, теперь у ИИ 5 приоритетов: строить Свиноферму, строить пекартню, строить винодельню, строить дозорную башню, строить дозорную башю. ИИ построил Свиноферму, следовательно остальным четырем приоритетам увеличивает силу на 1, теперь у них сила 51. Потом построили пекарню, опять увеличиваем силу всех приоритетов на 1. Это делаем для того, чтобы данные приоритеты выполнились раньше чем те, которые ИИ добавит в последствии.
По поводу оценки потенциальной угрозы. Сила воинов (Примерно): 1 ополченец=0,01 1 пеший воин=0,04 1 копейщик=0,03 1 разведчик=0,04 1 лучник=0,03 1 мечник=0,07 1 арбалетчик=0,05 1 пикейщик=0,06 1 конный гвардеец=0,07 Давайте для начала сделаем примерно так: Нужно подсчитать силу ИИ относительно выбранного игрока. У ИИ есть 20 пеших воинов 20 копейщиков и 12 лучников, 20*0,04+20*0,03+12*0,03=0,8+0,6+0,36=1,76 У выбранного игрока 50 ополчения и 12 арбалетчиков, тогда 50*0,01+12*0,05=0,5+0,6=1,1 Теперь вычисляем непосредственно силу войска ИИ по сравнению с этим игроком, для этого: 1,76/1,1=1,6 Значит войско ИИ сильнее войска игрока. Еслибы былобы меньше 1, значит ИИ былбы слабее. А теперь подсчет потенциальной угрозы со стороны всех врагов. Подсчитываем силу ИИ относительно каждого врага, и делим на колличество врагов, если меньше 0,5 значит ИИ слишком слаб, стоит задуматься Генералу. Конечно есть всякие нюансы, типо копейщики сильнее разведчиков, но слабее пеших воинов, а разведчики сильнее пеших воинов и т.д. Но это можно исправить в последствии.
Война и мир лучшая!
Сообщение отредактировал AntonP - Четверг, 22.03.2012, 14:33 |
|
| | |
Krom | Дата: Четверг, 22.03.2012, 14:42 | Сообщение # 5 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| AntonP, Насчет весов - ты в общем правильно расписал. Детали не так важны, как именно выстроить четкую структуру связей.
Модель для расчета сил уже есть, он считает армии по сравнению между друг другом с учетом бонуса пикенеров.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
AntonP | Дата: Четверг, 22.03.2012, 15:59 | Сообщение # 6 |
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
| Пусть Мер делает выводы, какие здания строить Базовые ресурсы ИИ: -Хлеб -Вино -Доски -Камни -Золото Критическое колличество 50. Если 50 или меньше, значит надо что-либо предпринять, для увеличения критических ресурсов. Построить здание, отменить производство оружия, и т.д.
Война и мир лучшая!
|
|
| | |
DIV | Дата: Четверг, 22.03.2012, 16:16 | Сообщение # 7 |
Гвардеец
Группа: Друзья
Сообщений: 1227
Награды: 12
Репутация: 59
Статус: Offline
| AntonP, а если сделать количество припасов, зависимо не от количества на складе, а в зависимости от населения? Например 2 продукта на 1 солдата.
ТК в случае кормешки большой армии, по твоей системе может начаться голод.
div@kamclub.ru
|
|
| | |
AntonP | Дата: Четверг, 22.03.2012, 17:21 | Сообщение # 8 |
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
| Quote (DIV) AntonP, а если сделать количество припасов, зависимо не от количества на складе, а в зависимости от населения? Например 2 продукта на 1 солдата. ТК в случае кормешки большой армии, по твоей системе может начаться голод. Можно конечно и так. Голод не начнется, т.к. компьютер при большой армии будет нападать, 60-70 боевых едениц)
Война и мир лучшая!
|
|
| | |
Krom | Дата: Четверг, 22.03.2012, 18:07 | Сообщение # 9 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| Я думаю для начала так попробовать, чтобу не усложнять жизнь.
Сейчас попробовал нарисовать дерево целей - получился дикий лес из 50+ нод только для базовой деревни.. Так что пока попробую написать выбор места для зданий.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
DIV | Дата: Четверг, 22.03.2012, 18:46 | Сообщение # 10 |
Гвардеец
Группа: Друзья
Сообщений: 1227
Награды: 12
Репутация: 59
Статус: Offline
| Отлично
div@kamclub.ru
|
|
| | |
AntonP | Дата: Пятница, 23.03.2012, 01:53 | Сообщение # 11 |
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
| Quote (Krom) Сейчас попробовал нарисовать дерево целей - получился дикий лес из 50+ нод только для базовой деревни.. Так что пока попробую написать выбор места для зданий. Напиши сюда, что получилось, может быть совместными усилиями улучшим)
Война и мир лучшая!
|
|
| | |
Krom | Дата: Пятница, 23.03.2012, 12:08 | Сообщение # 12 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| Пока вот такая схемка, застывшая на середине переделки из дерева целей в более привычное и простое дерево задач.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
AntonP | Дата: Пятница, 23.03.2012, 12:55 | Сообщение # 13 |
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
| Мощная схемка. Жаль с англ. языком плоховато, поэтому понел ее примерно. У меня вот идея, значит войском управляет генерал, у каждого отряда ИИ будет чтото вроде офицера, генерал допустим отдает приказ всем офицерам(Отрядам) оборонять базу, офицеры основываясь на каких-либо данных (расположение войска противника, тип войска противника колличество и т.д.) выбирает для своего отряда нужную позицию и направление, или допустим офицер пеших воинов ставит задачу своему отряду прикрыть лучников, а офицер лучников отдает приказ своему отряду отступить немного назад и продолжить бой. Тоесть генерал говорит, что именно делать, а офицеры решают, как это делать.
Война и мир лучшая!
|
|
| | |
Krom | Дата: Пятница, 23.03.2012, 14:54 | Сообщение # 14 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| Давай про Мэра продолжим, раз уж я за него взялся сейчас. Итак, как ему определить какие дома надо строить? Очевидно что примерно как ты описал (Школа,Харчевня, 2 Каменоломни, 6 Хижин Лесоруба, 2 Лесопилки, 2-3 Оружейки, 3 Винодельни, 3 Фермы, 1 Мельница, 1 Пекарня, 3 Свинофермы) Каким образом надо сделать его мозги чтобы он строил в этой очередности?
Я думаю над параметром важности - у Мэра список типов домой и важность каждого типа как-то (как?) расчитывается, таким образом, что у школы и харчевни они самые высокие в начале, у каменоломни поменьше (причем если есть запас 5000 камня на складе, или камня рядом нет, то строить ее не надо). То же и с прочими домами ...
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
AntonP | Дата: Пятница, 23.03.2012, 15:25 | Сообщение # 15 |
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
| Я думаю сначало ИИ проанализирует свои ресурсы на складе, как вы и сказали если у него 5000 камня, то надобность каменаломни сразу отпадает, если только построить ее для того чтобы дальше появилась возможность строить хижину лесоруба. Теперь какже ему строить, ну очевидно, что для того чтобы открыть "дерево построек", ему и так и так придется строить Школу, харчевню, каменаломню, лесорубню и лесопилку (Стандартная процедура). А вот дальше уже и разделяется тактика игроков. Комп значит проанализировал ресурсы, приоритетные ресурсы: -Хлеб -Вино -Доски -Камни -Золото Сначала он проверяет уровень вышеназванных ресурсов, если какой-либо из них меньше критического (Допустим 50), то он и выбирает для постройки здание, которые этот ресурс производит. Если все эти ресурсы выше 50, то думаю разумней начать с постройки золотой шахты(Если рядом есть золотая жила), наладить производство золота, потом ударить в производство продуктов питания, начиная с вина, потом хлеб, потом колбаса. Если вдруг золота у нас 1000, то золото пропускаем, сразу в строим здания еды. А нужное колличество зданий у ИИ будет забито уже сразу, допустим 4 лесорубни, 2 каменоломни. А может быть сделать ему если все в порядке, рандомный выбор направления строительства, сразу ударить в производство золота или сначало еду, потом золото, а после строительства зданий Мера, Генерал уже заявит, что нужны ему оружейни, доспешные и казармы.
Война и мир лучшая!
Сообщение отредактировал AntonP - Пятница, 23.03.2012, 15:26 |
|
| |
|