Войти
ПрограммированиеФорумИгровая логика и ИИ

Машина состояний (комментарии) (3 стр)

Страницы: 1 2 3
#30
18:45, 24 сен. 2014

Я коротко опишу. Боюсь что совсем уведут Ваш топик в нетуда). Все что далее с приставкой "могут иметь или не иметь". Контрольные точки по которым бродят. Связаны с другими ботами ("друг", "враг", "нейтрал", "свой/чужой"). характер ("трус", "агрессивный", "защищающийся", "защитник", "нейтрал") с переходом в зависимости от внешних факторов (степень ранения, количество друзей, цель, сила атакующего, реакция на несколько раздражителей (например попал между двух агрессивных врагов)). Метки которые нельзя переступать (например чтобы не упасть со скалы или не бегать по стеклу). Расстояние до бота.  Диалоги в зависимости от кармы ГГ. Я не все описал, у меня там еще животные тоже есть и тоже с мозгами. Сейчас, если в целом взять, то 20 ботов нормально работают, но я уже хочу уровень не на 5 минут игры, а эдак на 10-15. Сейчас боты могут "своей" жизнью жить. Например, есть уровень. в конце уровня город. в нем боты. есть бот с умственными отклонениями (рэндом эвент). он берет и стреляет. началась заваруха. для ГГ город получается почти всегда разный если уровень переигрывать и это интересно, но конечно на сюжетную линию разборки не влияют почти (ну максимум того кого нужно завалить, завалят за тебя)


#31
18:59, 24 сен. 2014

а 50 ботов тормозят вот.

#32
19:16, 24 сен. 2014

unregistered
> а 50 ботов тормозят вот.
ну тут нужно смотреть более подробно, но первое что приходит в голову - боту не нужно знать все обо всех, а нужно знать только о тех кто находится в области его видимости.

#33
19:20, 24 сен. 2014

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

#34
19:34, 24 сен. 2014

unregistered
> ему блин нужно же постоянно смотреть кто в его области видимости и опять же
> мониторить всех?
зачем? разные деревья типа квадов и прочих не решат проблему?

#35
19:35, 24 сен. 2014

эээ а я не знаю что это такое)) подскажите ссылкой применительно к проблеме? гугл на дерево квадов рассказывает про шкатулки))

#36
19:42, 24 сен. 2014

unregistered
> подскажите ссылкой применительно к проблеме?
прямой ссылки я не знаю. )) но гугли по "quadtree collision detection". раскопаешь что такое квад деревья и как ими пользоваться, сделаешь радиус колизиий = радиусу "обзора" и по идее будет тебе счастье. )

#37
19:59, 24 сен. 2014

хотя с другой стороны 50 не так и много, тут скорее нужно брать в руки профайлер и смотреть узкие места.

#38
20:05, 24 сен. 2014

узкое место именно в цикле по объектам с проверкой расстояния и состояния, это сто процентов)) спасибо! ушел смотреть.

#39
20:25, 24 сен. 2014

Статьи по octree:
http://www.uraldev.ru/articles/6
http://www.uraldev.ru/articles/20

Страницы: 1 2 3
ПрограммированиеФорумИгровая логика и ИИ

Тема в архиве.