КАМ ИИ
|
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 для упрощения сетки (или если есть другие предложения).
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
Krom | Дата: Среда, 08.08.2012, 09:09 | Сообщение # 109 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| После некоторых манипуляций с алгоритмом упрощения сетки:
Далее: надо инвертировать сетку, чтобы наконец-то сделать подобие навмеша по проходимым тайлам. Его оптимизация - потом.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
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 раза). Дальше оба перестают расширяться, из-за опасности от непосредственной близости к врагу. Фаза атак пока непролдумана.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
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
| И будет наконец-то ремейк )
Скриптодел и картограф.
|
|
| | |
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, что зачит пересечение контуров препятствий? Что если объединять контуры препятствий в том случае если эти контуры пересекаются.
Война и мир лучшая!
|
|
| |
|