Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Машина состояний (комментарии) (3 стр)

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

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

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

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

2001—2017 © GameDev.ru — Разработка игр