Отправлено: 20.02.08 22:19. Заголовок: Алгоритм поведения для ботов
Morse
цитата:
умных ботов видите ли всем подавай. а вот попытайтесь составить алгоритм поведения для ботов! хватит уже ныть - помогите делом. понятно что не надо пытаться написать непосредственный алгоритм на сях, может конечно инс и сделает когда-нибудь api для подключения внешних библиотек ai, но смысла в этом в любом случае будет немного - кто из нас напишет грамотную dll'ку? нет, надо сделать хотя бы функциональный граф. попытайтесь вывести закономерности: в каком случае ныкаться за угол, как вообще бот может понять какое место на карте является "зауглом", как должен вести себя бот когда рядом нет ни врагов ни пряников, как вообще бот должен выставлять себе приоритеты. сейчас все просто: видишь врага - стреляй, видишь пряник - хватай, врезультате чего получаются столпотворения. вы считаете что это плохо? придумайте модель поведения лучше. если будет грамотный и развернутый функциональный граф поведения, имплементировать его, я думаю, будет уже не сложно, так что можете начинать помогать.
Отправлено: 20.02.08 23:06. Заголовок: Выделим боту 4 зоны ..
Выделим боту 4 зоны 1) красная(0-3клетки) - опасная близость 2) желтая(0-7клеток) - зона расстрела 3) зеленая(0-16клеток) - средняя дальность 4) белая(вся карта) - зона сканирования Это моя мера расстояния на которую, я надеюсь, будем опираться в дельнейшим
Обьекты предлагаю условно поделить на 6 приорететов 1 - самое главное и желанное(обнаруживается даже в белой зоне) 2 - это мне ооочень надо(обнаруживается в зеленой зоне) 3 - может пригодится(обнаруживаетсяв желтой зоне) 4 - так и быть возьму (обнаруживаетсяв красной зоне) 5 - это мне безразлично(предмет игнорируется) 6 - по съябам(бот пытается вырватся из зоны огня стацки или врага)
Простейшии ситуации не описываятся (у которых 1 решение)
Далее предлагаю описывать ситуации в которые может попасть бот и методы ее решения Ситуации расматриваются строго по одной пока не будет набран полный набор выходов, с использованием показателей, таких как есть\нет оружие поведение, попадание врагов в зону видимости, реакция на различные бонусы, на стацки и союзников. Ситуация обсуждается до ее общего закрытия(во имя избежания путаницы) Далее рассматриваем следующую ситуацию(Безусловно это долго зато должно получится более полное описание) Описание будет собираться в тхт блокноте и обновлятся каждую неделя для избежания путаницы(еще одна перестраховка)
Отправлено: 21.02.08 00:06. Заголовок: Лутьше зделать так, ..
Лутьше зделать так, чтоб делать в редакторе зоны и чтоб бот к этим выделеным зонам знал как поступать? Например -белая зона(пусто нчего нет, но быть на чеку) - Жёлтая зона(небольшая зона возле стены, чтоб бот знал где угол и оттуда стрелять) - красная зона (Тюрели, минное поле.) - Синяя зона,фиолетовая,оранжевая,коричневая,зелёная (база или точки высадки(с лева на право)с 1-5 команд. - чёрная зона (бустер,аптечка...)
Так если создавать картку то с зонами(тактикой) Бот будет знать и принимать решение.
Егор Получится что-тотипа вей-поинтов. Впринципе хорошо, но по-моему сейчас рассматривают варианты без них. RUSlan Имхо, ты не прав! Ведь мы видим не на 3 клетки вокруг танка! И читерсвом будет ограничить ботов в зрении. Хотя можно сделать ограничение в 1 экран. В любом случае, танк должен выбирать ближайшее оружие, чтобы танк не ехал через всю карту за понравившейся пушкой.
Я немного додумал предложения Tigel'а
Вот на какие групы я поделил бы предметы:
1)Главные предметы - оружие,аптеки. Это после респауна. 2)Очень нужные - неуязвимости,бустеры. 3)Могут пригодиться - электрошок(если враг приближается), бустер(если на исходе) и т.д 4)На всякий случай - новая пушка(если уже есть, напимер взять вместо пулемёта - автоматическую) 5)Ненужные - бустеры, жизни, неуязвимости и т. д (если только взял). По идее эти объекты должны отмечаться когда выполняются условия, чтобы бот не загребал бустеры пачками а не брал сколько нужно. 6)Стацки - всё просто, увидел - объехал!
Действия в зонах видимости:
1)Белая зона(вся карта) Видит: только главные предметы. На врага: не реагирует. если он не атакует. 2)Зелёная зона(0-16клеток) Видит: очень нужные + на всякий случай + стацки На врага: реагирует, если нет цели(обьектов рядом) и если он атаковал. 3)Жёлтая зона(0-7клеток) Видит: те, что могут пригодиться. На врага: Реагирует если у бота есть оружие, если враг атаковал, если у врага мало жизней, если бот полностью здоров. А если у бота нет оружия, то "по съябам" 4)Красная зона(0-3клетки) Видит: ничего, кроме врага. На врага: Огонь из всех орудий!
Видит: ничего, кроме врага. На врага: Огонь из всех орудий!
И самоуничтожается если нет оружия от страха :) Волк пишет:
цитата:
Имхо, ты не прав!
А я говорю что надо ограничить до 3х клеток? Мы что видим всю карту сразу?
Делать зоны в клетках ИМХО неправильно т.к. не у всех одинаковое разрешение. Если будет меньше получится что боты - читеры, если больше - игрок. Хотя можно для каждого разрешения свои цифры
Отправлено: 05.11.09 10:43. Заголовок: Я не знаю, может это..
Я не знаю, может это чем-то поможет Инсерту в создании умных ботов (потомучто я ничего в этом не шарю). Инсерт пожалуйста обрати на это внимание http://www.star2001.idknet.com/i/games/real_bots.htm Извините за флуд
Забыл написать, что берутся после главных. RUSlan пишет:
цитата:
Мы что видим всю карту сразу?
Считай, это как в Q3. Там боты знают карту, как свои 1-10 пальцев (смотря кто бот). Вот и в ТЗОДе пускай всё видят. Волк пишет:
цитата:
4)Красная зона(0-3клетки) Видит: ничего, кроме врага.
Видит: Предметы, которые бот хотел взять (либо не хотел), стацки, которые стреляют уже бота впритык или через стенку. В другом случае, это были бы боты хуже, чем сейчас. Кстати, вроде этот алгоритм ботов уже есть в ТЗОДе. Надо писать для стацок)) Кстати, стацки не атакуют нас, если мы стреляем в них, и не видим.
Все даты в формате GMT
3 час. Хитов сегодня: 6
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет