[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Jery, Rey  
Форум » Knights and Merchants: Remake » Идеи и предложения » КАМ ИИ (Предложения...)
КАМ ИИ
AntonPДата: Вторник, 07.08.2012, 11:01 | Сообщение # 106
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
Krom, пусть зоны будут 16х16. Смотрите картинку, поле и виноградники это и есть зоны, которые имеют 16х16 клеток, думаю это будет оптимальное. Там есть 2 игрока, предположем что это два ИИ, у верхнего правого, есть различные горы, которые он могбы использовать для обороны, у нижнего левого нету ничего. Красными линиями я отметил, как они примерно должны обороняться. Теперь нужно думать какже это все реализовать:)
Можно впринцыпе проверять соседние зоны на проходимость между ними. Соседние с зонами влияния ИИ. Если есть проходимость, то можно между ними выстраивать отряд. Разумаеется не все зоны нужно будет оборонять, допустим если ИИ имеет базу в углу, как сейчас, то нужно проверять зоны, которые враг обязательно пересечет если будет идти к базе ИИ.


Война и мир лучшая!
 
KromДата: Вторник, 07.08.2012, 12:11 | Сообщение # 107
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
AntonP, Ты почти нарисовал то что навмеш дожен сам сделать. Только вот разногласие - как ты провел красные линии? Они долэны идти либо по сетке, либо нужен алгоритм их рисующий.

С настоящим навмешем эта проблема решается сама собой - сетка навмеша строится так, что остается только выбрать какие из линий сделать красными(т.е. линиями обороны).


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
KromДата: Вторник, 07.08.2012, 15:33 | Сообщение # 108
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
После продолжительного гугления сделал алгоритм марширующих квадратов для поиска препятствий на карте:


Следующий щаг на очереди - алгоритм Douglas-Peucker для упрощения сетки (или если есть другие предложения).
Прикрепления: 6954857.jpg(38.6 Kb)


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
KromДата: Среда, 08.08.2012, 09:09 | Сообщение # 109
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
После некоторых манипуляций с алгоритмом упрощения сетки:


Далее: надо инвертировать сетку, чтобы наконец-то сделать подобие навмеша по проходимым тайлам. Его оптимизация - потом.
Прикрепления: 0190766.jpg(43.7 Kb)


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
AntonPДата: Четверг, 09.08.2012, 10:38 | Сообщение # 110
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
Krom, просвятите меня, допустим вы получите инвертированную сетку, как она поможет вычеслить места для позиций войск ИИ? Ведь всеравно нужен некоторый алгаритм, который будет вычеслять такое положение войск, чтобы одновременно была защищена вся база (имеется ввиду, чтобы войско врага не смогло попасть на базу ИИ минуя оборону ИИ), и для этого потребовалось меньше всего войска.

Война и мир лучшая!
 
KromДата: Пятница, 10.08.2012, 10:03 | Сообщение # 111
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
Вот для примера карта в виде навмеша с 2 игроками - красным и синим. Их стартовые позиции на 1 рисунке. Зеленым на 2 рисунке отмечены их линии обороны. А на 3 - линия обороны с учетом минимизации ее протяженности.


Алгоритмы тут такие - для каждого треугольника, с которым граничит ИИ, проверяется, можно ли от него перейти к другому ИИ, если да - то эту границу надо оборонять. Если не граничит (см. 3 рисунок) то нет. ИИ стремится захватить новые треугольники при следующих условиях:
- недостаток строительного места (предпочтительны те части где нет контакта с врагом, т.е. на 3 рисунке при дальнейше экспансии красные будет занимать городо тылы).
- захват зон с необходимыми ресурсами
- минимизация протяженности обороны (пример на 2-3 рисунках).
- тактическое преимущество (захват карты, но над этим я еще не думал)

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

Логичное развитие для 4 рисунка - синий расширяется в нижний проход (что сократит периметр обороны почти в 1,5 раза). Дальше оба перестают расширяться, из-за опасности от непосредственной близости к врагу. Фаза атак пока непролдумана.
Прикрепления: 2427453.jpg(58.9 Kb)


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
AntonPДата: Пятница, 10.08.2012, 14:22 | Сообщение # 112
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
Очень интересно, действительно с треугольниками как примитивами очень удобно, но почему (например красный) решил что так оборонять лучше (как на 3м рисунке), вот допустим посмотрите у меня на 4й рисунок, так вродебы выгодней ведь. Или он проверяет только ближайшие треугольники к треугольникам под своим влиянием? Ну в принципе так тоже очень не плохо.



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


Война и мир лучшая!

Сообщение отредактировал AntonP - Пятница, 10.08.2012, 14:35
 
KromДата: Пятница, 10.08.2012, 14:38 | Сообщение # 113
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
AntonP, если сделать как ты предлагаешь, то ИИ моментально отправит свои войска на самые дальние рубежи, где они тут же столкнуться с врагом. Или еще хуже - выяснится что лучший периметр - захватить всю карту (тогда периметр = 0). Мне кажется ИИ должен быть немного консервативным, захватывать только те "куски пирога" которые "поместяться в его рот". Т.е. если места и ресурсов вдоволь, то не расширяться.

Поиск пути к врагу - да, тут навмеш тоже отлично подходит.


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
malinДата: Суббота, 11.08.2012, 12:04 | Сообщение # 114
Сквайр
Группа: Проверенные
Сообщений: 180
Награды: 3
Репутация: 44
Статус: Offline
В данной дискуссии рассматриваются враждующие стороны, решил напомнить о союзниках.
А с союзником ИИ получается не будет проверять условие дальности и возможности пройти до союзника? По идеи условие дальности не нужно для союзников, но это наводит на мысли:
1) Если условие дальности не проверяется - два союзных ИИ будут строится в до прямого стыка "треугольников власти"? Перемешиваться они вроде не должны так, как будет условие: "это не мой треугольник власти, там я строить не буду". Тут возникает вопрос: Будут ли оба ИИ строить башни на одной линии, перемешивая их? И возможно мешая друг другу.
2) Если условие дальности проверяется - два союзных ИИ не соприкоснуться своими "треугольниками власти", но саму дальность по идеи можно снизить до предела - 1 треугольник.
3) Если нет условия "может ли ИИ пройти до союзника", то если враг не может пройти через этого союзника к ИИ, то линии обороны не будет, иными словами - союзник в тылу. (Наводит на мысль: о предательстве, когда один ИИ переходит на другую сторону, ещё +1 степень свободы картоделам)
4) Если условие "может ли ИИ пройти до союзника" есть, то башенки будут даже если врага на той стороне нет, но есть союзник. Вроде вещь не нужная, и эта линия обороны никому не нужна. Ан, нет. Тыловому союзнику будет легче если ИИ на передовой падёт, то эта "ненужная" линия обороны немного сдержит или ослабит врагов. Таким образом при таком условии ИИ будет как-бы переживать за союзника:"Если я паду, то как же он один без меня - построю башенки". Впрочем с таким же успехом он мог бы построить ещё ряд башен на передовой, но там может не пройти "условие дальности до врага".

Ну и самое главное. Если два союзника ИИ находятся бок о бок. Их "треугольники власти" соприкасаются и они имеют как минимум одну общую линию обороны, они "надеются" друг на друга и каждый из них считает, что:"Враг не пройдёт через башни союзника", значит башни между собой союзники строить не будут, хотя враг теоретически может пройти по территории союзника к ИИ?



Пора бы и поесть. (с) Ополченец
Да-а? (с) Каменотёс
Да! (с) Строитель


Сообщение отредактировал malin - Суббота, 11.08.2012, 12:08
 
AntonPДата: Суббота, 11.08.2012, 13:01 | Сообщение # 115
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
Можно так и ввести понятие "Свои треугольники", "Треугольники врага", "Ничейные треугольники", "Треугольники союзника". На треугольниках союзника можно строиться, но приоритет им занизить, чтобы строиться в крайнем случае. По поводу совместной линии обороны, вы правильно заметили. Пусть они совместно её и делают, если одни ИИ находится в тылу другого, то и пусть считает свою линию обороны за линию обороны союзника.

Война и мир лучшая!
 
KromДата: Воскресенье, 12.08.2012, 13:29 | Сообщение # 116
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
malin, все хорошо, только пока бы навмеш построить, как построю, тогда буду смотреть что с ним можно делать, а что нет. Но в принципе все то что ты пишешь - правильно.

AntonP, да, примерно так и планируется - ты знал! )


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
KromДата: Среда, 15.08.2012, 16:35 | Сообщение # 117
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
Убил все выходные, теперь осталось 1 главная бага - пересечение контуров препятствий из-за алгоритма который упрощает их формы.

Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
WannA_PlayДата: Среда, 15.08.2012, 17:21 | Сообщение # 118
Пикейщик
Группа: Проверенные
Сообщений: 439
Награды: 7
Репутация: 9
Статус: Offline
И будет наконец-то ремейк biggrin cool )

Скриптодел и картограф.
 
spearmanДата: Среда, 15.08.2012, 22:53 | Сообщение # 119
Воин
Группа: Проверенные
Сообщений: 104
Награды: 2
Репутация: 10
Статус: Offline
ИИ может считать кол-во вражеских юнитов внутри этих треугольников и на сонове простых правил принимать решение - атаковать или оборонять соседние треугольники! (Кэп, привет :))
к примеру: если в массиве вражеских юнитов присутствуют, например, и арбалетчики и алебарда, значит в противовес ии надо поставить арбалетчики + мечи...ну как то так...
или: если в заданном треугольнике присутствуют только стрелки а в соседних треугольниках нет пехоты и конницы - то в этот треугольник надо послать коницу...ну как то так...


Рубимся!

Сообщение отредактировал spearman - Среда, 15.08.2012, 22:55
 
AntonPДата: Четверг, 16.08.2012, 14:03 | Сообщение # 120
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
Krom, что зачит пересечение контуров препятствий? Что если объединять контуры препятствий в том случае если эти контуры пересекаются.

Война и мир лучшая!
 
Форум » Knights and Merchants: Remake » Идеи и предложения » КАМ ИИ (Предложения...)
Поиск: