Машина состояний (комментарии) (3 стр)
unregistered | Постоялец | www | 24 сен. 2014 | 18:45 | #30 |
---|
Я коротко опишу. Боюсь что совсем уведут Ваш топик в нетуда). Все что далее с приставкой "могут иметь или не иметь". Контрольные точки по которым бродят. Связаны с другими ботами ("друг", "враг", "нейтрал", "свой/чужой"). характер ("трус", "агрессивный", "защищающийся", "защитник", "нейтрал") с переходом в зависимости от внешних факторов (степень ранения, количество друзей, цель, сила атакующего, реакция на несколько раздражителей (например попал между двух агрессивных врагов)). Метки которые нельзя переступать (например чтобы не упасть со скалы или не бегать по стеклу). Расстояние до бота. Диалоги в зависимости от кармы ГГ. Я не все описал, у меня там еще животные тоже есть и тоже с мозгами. Сейчас, если в целом взять, то 20 ботов нормально работают, но я уже хочу уровень не на 5 минут игры, а эдак на 10-15. Сейчас боты могут "своей" жизнью жить. Например, есть уровень. в конце уровня город. в нем боты. есть бот с умственными отклонениями (рэндом эвент). он берет и стреляет. началась заваруха. для ГГ город получается почти всегда разный если уровень переигрывать и это интересно, но конечно на сюжетную линию разборки не влияют почти (ну максимум того кого нужно завалить, завалят за тебя)
unregistered | Постоялец | www | 24 сен. 2014 | 18:59 | #31 |
---|
а 50 ботов тормозят вот.
exchg | Постоялец | www | 24 сен. 2014 | 19:16 | #32 |
---|
unregistered
> а 50 ботов тормозят вот.
ну тут нужно смотреть более подробно, но первое что приходит в голову - боту не нужно знать все обо всех, а нужно знать только о тех кто находится в области его видимости.
> а 50 ботов тормозят вот.
ну тут нужно смотреть более подробно, но первое что приходит в голову - боту не нужно знать все обо всех, а нужно знать только о тех кто находится в области его видимости.
unregistered | Постоялец | www | 24 сен. 2014 | 19:20 | #33 |
---|
вот и я так думаю. только ему блин нужно же постоянно смотреть кто в его области видимости и опять же мониторить всех? ((( или может просто пропускать тики, больше на человека будет походить))) нет ли какого-то механизма типа широковещательных сообщений чтоли?
exchg | Постоялец | www | 24 сен. 2014 | 19:34 | #34 |
---|
unregistered
> ему блин нужно же постоянно смотреть кто в его области видимости и опять же
> мониторить всех?
зачем? разные деревья типа квадов и прочих не решат проблему?
> ему блин нужно же постоянно смотреть кто в его области видимости и опять же
> мониторить всех?
зачем? разные деревья типа квадов и прочих не решат проблему?
unregistered | Постоялец | www | 24 сен. 2014 | 19:35 | #35 |
---|
эээ а я не знаю что это такое)) подскажите ссылкой применительно к проблеме? гугл на дерево квадов рассказывает про шкатулки))
exchg | Постоялец | www | 24 сен. 2014 | 19:42 | #36 |
---|
unregistered
> подскажите ссылкой применительно к проблеме?
прямой ссылки я не знаю. )) но гугли по "quadtree collision detection". раскопаешь что такое квад деревья и как ими пользоваться, сделаешь радиус колизиий = радиусу "обзора" и по идее будет тебе счастье. )
> подскажите ссылкой применительно к проблеме?
прямой ссылки я не знаю. )) но гугли по "quadtree collision detection". раскопаешь что такое квад деревья и как ими пользоваться, сделаешь радиус колизиий = радиусу "обзора" и по идее будет тебе счастье. )
exchg | Постоялец | www | 24 сен. 2014 | 19:59 | #37 |
---|
хотя с другой стороны 50 не так и много, тут скорее нужно брать в руки профайлер и смотреть узкие места.
unregistered | Постоялец | www | 24 сен. 2014 | 20:05 | #38 |
---|
узкое место именно в цикле по объектам с проверкой расстояния и состояния, это сто процентов)) спасибо! ушел смотреть.
/ Форум / Программирование игр / Игровая логика и ИИ
Тема в архиве.