[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Jery, Rey  
Форум » Knights and Merchants: Remake » Идеи и предложения » КАМ ИИ (Предложения...)
КАМ ИИ
ВовецДата: Среда, 01.08.2012, 10:49 | Сообщение # 61
PsychoBotoKiller
Группа: Администраторы
Сообщений: 4231
Награды: 25
Репутация: 358
Статус: Offline
Действительно, такой вариант лучше

Без лишней скромности: один из основателей R.A
Гильдия бойцов: 2011-2014. Помним, любим, скорбим.
 
WannA_PlayДата: Среда, 01.08.2012, 11:18 | Сообщение # 62
Пикейщик
Группа: Проверенные
Сообщений: 439
Награды: 7
Репутация: 9
Статус: Offline
Да,krom согласен с твоим вариантом,он действительно лучше

Скриптодел и картограф.
 
AntonPДата: Среда, 01.08.2012, 12:42 | Сообщение # 63
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 7
Статус: Offline
В идеале, нужно добавить в формулы еще и зависимость от ресурсов.
Вот допустим пример:
У ИИ есть Склад и Школа, в Складе есть 30 камней и 10 досок

Тогда если он будет следовать по формуле "НужноКаменоломен = 2 + (есть Лесопилка * (1 + Мощь * 2)", он заведет себя
в тупик. Т.к. построив 2 каменоломни, он потратит 6 досок, а 3 доски не хватит для постройки лесорубки и лесопилки.
Он должен был поступить так: Построить каменоломню, потом лесорубку и лесопилку.
поэтому нужно формулу переделать.
Допустим у нас:
l_lesopilka - Нужное колличество досок для лесопилки
l_Lesorybka - Нужное колличество досок для лесорубки
l_Kamenolomn - Нужное колличество досок для каменоломни
Lamber - Текущее колличество дерева
Если (l_lesopilka+l_Lesorybka<=Laber) И (l_lesopilka+l_Lesorybka+l_Kamenolomn>Laber) Тогда
Приоритет постройке древесной промышленности
Иначе Каменной промышленности.
Ну в общем это все для наглядности, нужно придумать, как все это учесть.

Еще былобы хорошо еслибы ваши ИИ параметры были не статическими а динамическими, чтобы во время игры они могли меняться.
Так допустим если экономика мощная, то прибавим воинственности и наоборот. И по аналогии с остальными.


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

Сообщение отредактировал AntonP - Среда, 01.08.2012, 12:45
 
malinДата: Среда, 01.08.2012, 13:03 | Сообщение # 64
Сквайр
Группа: Проверенные
Сообщений: 180
Награды: 3
Репутация: 44
Статус: Offline
Quote (Krom)
Мощь - определяет размах с которым идет стройка (например строить сразу 3 каменоломни и 4 лесника вместо 1)
Скорость - количество одновременных строек (2 или 4) и строителей (6 или 12)
Воинственность - упор на армию или город (строим сначала агропром или армию)
ТипОружия - что выбираем в первую очередь, железных или деревянных воинов

Могу предложить ещё параметры:
Оборона - определяет не только сколько воинов оставить на защите, сколько отправить в атаку, но и\или (наверное лучше разделить эти параметры?) плотность застройки башен, кольцо башен одно\два\три\десять...
Медлительность - определяет время "перекура" у строителей.
    Медлительность определяет задержку между "здание построено" -> "дать новое задание на строительство".
    Пример: Если медлительность = 10, то после того как одно здание было построено, задание на постройку следующего будет дано только через 10 секунд.
    Данный параметр будет полезен при регуляции "сложности" ИИ не затрагивая его мощь и скорость.

Разведка - переключатель типа 0,1,2 .
    Разведка = 0 - ИИ разведывает территорию строго в соответствии с Любознательностью (см. ниже).
    Разведка = 1 - тоже что и "0", но если ИИ замечает враждебного игрока - разведывает позицию игрока.
    Разведка = 2 - тоже что и "1", но если враждебный игрок не защищён, разведчик ИИ атакует игрока, сразу же.

Любознательность - будет ли ИИ проводить разведку территории и как далеко он будет разведывать.
Пример: Любознательность = 60, ИИ разведает все проходимые клетки в радиусе 60 клеток от каждого здания.

Также могу предложить, но это уже на будущее, суперИИ:
Вовремя игры ИИ может сам себе изменить параметр мощи\скорости\и тп...
Пример_1: ИИ имеет ТипОружия железо с упором на мечников (он производит их больше всего). ИИ атакует игрока и проигрывает битву. ИИ по разведанным данным видит, что у игрока большое количество конницы, ИИ меняет ТипОружия на железо-пикейщики (остальных он также производит, но пикейщиков делает специально для конницы игрока). Атакует снова, по новым разведданным делает вывод:"Кого у игрока больше? Какой тип анти-юнита производить?"
Пример_2: ИИ имеет мощь = 1, скорость=1, медлительность=10 и некоторое начальное войско. ИИ развивается, и если по каким любо причинам ИИ понимает, что погибнет если будет так развиваться (Напал враждебный игрок -> уменьшилось начальное войско; Разведка донесла, что у враждебного игрока больше армия, больше каменоломен и лесопилок; и др.) ИИ изменяет свою мощь на , скажем, +1, скорость +2, медлительность -5. Если положение не меняется ИИ вновь пытается увеличить свою мощность.
Пример_3: ИИ агрессивен и оставляет мало воинов в защите, мало башен. ИИ был атакован и понёс потери. ИИ меняет свою агрессивность на защиту, повышает оборону +1 и теперь оставляет больше воинов в защите и застраивает башенки плотнее, может и второе кольцо строит. ИИ оставили в покое, он завершил возведение оборонительных конструкций, разведка донесла, что один из игроков слабоват, ИИ вычисляет шанс на победу, но при обороне = 2 ему не хватает войск для атаки, тогда ИИ уменьшает оборону -1 и поднимает агрессивность -> атакует игрока.



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


Сообщение отредактировал malin - Среда, 01.08.2012, 13:09
 
KromДата: Среда, 01.08.2012, 13:28 | Сообщение # 65
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
Чертовски рад читать выши мысли и предложения! )

AntonP, идея отличная и хорошо ложится на первоочередные ресурсы.
Строим минимум по 1 каждого дома до Золотоплавильни включительно. Если хотим построить еще какой-то дом, то в проверку добавляем условие - постройка этого дома не должна уменьшить дерево/камень ниже необходимого минимума или Каменоломня/Лесопилка уже есть и работают. Так же с наемом юнитов в школе - иметь запас золота для найма шахтеров/металлурга.

malin,
Оборона будет у Генерала, пока больше упор на Мэра идет, сделаем город сначала.
Медлительность - другое название для Скорости, суть та же - растянуть строительство по времени. Количеством одновременных построек, строителей и паузами между стройками, да.
Разведка похожа на Экспансивность, она же Оборона. Чем больше оборона тем ниже разведка и наоборот, т.е. прямая связь параметров, следовательно их объединяем в 1.

Все перечисленные параметры пока булевые поля (да/нет) но в будущем нет причин не сделать их процентами 0..100%. Это проще чем иметь набор величин. Я пока стараюсь обобщить и выбрать параметры так, чтобы любая комбинация имела право на жизнь и была достаточно логична. Поэтому некоторые несочитаемые вещи объединяю (Скорость и Медлительность например, или Разведку и Оборону)

Менять параметры во время игры .. почему бы и нет, но это оставим на потом.

Еще параметр, по секрету, и пока не окончательно - Читерство. Чем больше комп читер, тем больше он берет стройматериалов и оружия "из воздуха". Как все знают в кампаниях ИИ и так махровые читы - по овер9000 всего на складах. Обыграть наш ИИ игрока все равно не сможет, так что дать ему пару козырей в рукав для игры против профессионалов - можно )


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
WannA_PlayДата: Среда, 01.08.2012, 14:22 | Сообщение # 66
Пикейщик
Группа: Проверенные
Сообщений: 439
Награды: 7
Репутация: 9
Статус: Offline
AntonP, malin, Ребят,ну и фантазия у вас

Скриптодел и картограф.
 
malinДата: Среда, 01.08.2012, 14:36 | Сообщение # 67
Сквайр
Группа: Проверенные
Сообщений: 180
Награды: 3
Репутация: 44
Статус: Offline
Quote (Krom)
Строим минимум по 1 каждого дома до Золотоплавильни включительно

ИИ должен спланировать этот "минимальный город" заранее, ведь местность разная и длинна дорог разная. При чём если камней не хватает ИИ должен рассчитать количество каменоломен для того чтобы обеспечить свою скорость, иначе будет простой из-за того что один каменотёс не обеспечивает всех строителей камнями.

Ещё параметр6 плотность застройки - число клеток отступа от зданий (1 - минимум)



Пора бы и поесть. (с) Ополченец
Да-а? (с) Каменотёс
Да! (с) Строитель
 
KromДата: Среда, 01.08.2012, 15:00 | Сообщение # 68
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
malin, Вот тут наступает момент, когда либо делать все по уму и писать алгоритм калькуляции и бронирования камня и местности под здания и сопутствующего кода на 300 строк, либо немного срезать угол и сделать для ИИ строительство дорог бесплатным до постройки каменоломни )) Я за второй вариант. А уж игрок ничего и не заметит т.к. А - ранний этап постройки города не увидит из-за тумана, а потом уже и все равно, Б - ИИ почти всегда будет укладываться в лимит и чит будет незадействован.

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


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
malinДата: Среда, 01.08.2012, 16:08 | Сообщение # 69
Сквайр
Группа: Проверенные
Сообщений: 180
Награды: 3
Репутация: 44
Статус: Offline
Если по уму я думая там больше чем 300 строк выйдет) Поэтому я поддерживаю тебя, Krom, лучше будет "срезать" этот угол. Экстремальных карт - где очень (ну ОЧЕНЬ!) мало места и\или катастрофически мало ресурсов, мало. В основном места хватает и ресурсов достаточно. Да и в любом случае поведение по "уму" можно будет подписать отдельным типом AI_honest потом, когда захочется)

На счёт читерности ИИ:
Можно задать такой параметр типом массив, в котором будут перечислены ресурсы которые ИИ может сам себе добавить на склад или казарму.
Пример: ИИ имеет массив читерство = [доски, камни, хлеб, топоры]. ИИ хочет построить домик, но на складе ему не хватает 5 камней, несмотря на то что каменотёс у ИИ уже есть, ИИ добавляет себе "читом" на склад 5 камней, чтобы поддерживать скорость развития (пока там каменотёс за камнем идёт). Такая же ситуация с хлебом, если в харчевню надо принести 1 хлеб, если на складе хлеба нет, если в пекарнях готового хлеба нет, то +1 хлеб на склад. При кормлении солдат тот же случай, но с разделением пищи случайным образом. Для поддержания агрессивности (атака через каждые 10 минут, например) ИИ может добавить себе в казарму топориков, если они есть в его списке читерства.



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


Сообщение отредактировал malin - Среда, 01.08.2012, 16:10
 
KromДата: Среда, 01.08.2012, 16:17 | Сообщение # 70
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
Думаю просто ввечти параметр Читерства (сначала как флаг, а потом как процент) и в соответствии с ним играть. Читер 0 - значит не читить принципиально. Читер 1 читить только в необходимых местах типа постройки каменоломни и найма металлурга. Читер 100% - бессовестно читить раш войсками после постройки казарм )

Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
malinДата: Среда, 01.08.2012, 17:55 | Сообщение # 71
Сквайр
Группа: Проверенные
Сообщений: 180
Награды: 3
Репутация: 44
Статус: Offline
А как это будет выглядеть? Например читер на 30% -> при нужде будет выбрасываться кость читери\нечитерить (30/100)? Или будут какие-то пределы? 0 - нельзя. 1...33 - только в безвыходной ситуации и при нужде, 33...66 - всегда в строительстве и чуть чуть при обороне, 66...100 - всегда при строительстве и при обороне, и в зависимости от % в атаках?
Какова эта зависимость? Может тогда проще переключатель сделать 0,1,2,3,4?



Пора бы и поесть. (с) Ополченец
Да-а? (с) Каменотёс
Да! (с) Строитель
 
DIVДата: Среда, 01.08.2012, 18:23 | Сообщение # 72
Гвардеец
Группа: Друзья
Сообщений: 1227
Награды: 12
Репутация: 59
Статус: Offline
Есть еще мысль. В некоторых играх на карте делаются специальные пометки для ИИ. Может ввести нечто подобное, там где могут возникнуть сложности у ИИ (места для усиленной защиты, место с безопасными для добычи ресурсами и т.д.) Приветить это к редактору карт, как маркеры. Что бы АИ мог нормально играть на сложных картах.

div@kamclub.ru
 
KromДата: Среда, 01.08.2012, 18:40 | Сообщение # 73
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
malin, оба варианта хороши, просто % воспринимать легче. Не хочется распыляться и делать 20 отдельных ключей читерства поотдельности (читить камни, читить доски, читить топоры, читить дороги, ...)

DIV, может быть, надо будет попробовать.


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
ВовецДата: Среда, 01.08.2012, 19:33 | Сообщение # 74
PsychoBotoKiller
Группа: Администраторы
Сообщений: 4231
Награды: 25
Репутация: 358
Статус: Offline
Ещё надо будет сделать разную сложность у ИИ: лёгкая, средняя, сложная, очень сложная, ну ппц какая сложная smile Ну на последних двух читерство будет частенько работать =)

Без лишней скромности: один из основателей R.A
Гильдия бойцов: 2011-2014. Помним, любим, скорбим.
 
malinДата: Среда, 01.08.2012, 19:46 | Сообщение # 75
Сквайр
Группа: Проверенные
Сообщений: 180
Награды: 3
Репутация: 44
Статус: Offline
Quote (Krom)
malin, оба варианта хороши, просто % воспринимать легче. Не хочется распыляться и делать 20 отдельных ключей читерства поотдельности (читить камни, читить доски, читить топоры, читить дороги, ...)

Мне что-то не воспринять в процентах) Так и не пойму как это в процентах будет работать.
А списком просто:
Если на складе не хватает N количества товара Х, если товар Х указан в списке читерства, то добавить N количество товара на склад.
Хотя тебе виднее)



Пора бы и поесть. (с) Ополченец
Да-а? (с) Каменотёс
Да! (с) Строитель
 
Форум » Knights and Merchants: Remake » Идеи и предложения » КАМ ИИ (Предложения...)
Поиск: