Реальная модель передвижения solder при наступлении.
Добрый день.
Для начала опишу цель:
Цель:
Моделирование тактики передвижения группы диверсантов (от 3 до 8 npc_combine_s),
нарвавшейся на препятствие и засевшей на некотором рубеже.
Задача:
1. Передвижение группой в определенном порядке.(Алмаз, колонна, колонная по двое и т.д.)
2. При обнаружении противника рассредоточится по укрытиям.
3. Не выбегать в сторону врага(РЕМБО не надо).
4. Среди выбранных ботами укрытий возможны перемещения от одного к другому укрытию.
5. Одно из укрытий должно быть более предпочтительно. И если на нем произошла потеря, то его место должен занять кто-то кто рядом. Перейдя с другого укрытия.
6. Через некоторое время по комманде солдаты должны будут выдвигатсья вперед перебигая и ища укрытия по ближе.
7. Должно быть определение "Третий лишний", означает укрытие уже занято и нечего там делать третьему чуваку.
(Пока ничего не реализовано. Это предположения. По ходу обсуждения буду изменять решения, для того чтобы в конце сформировались только действенные методы. Ну и естественно некий пример карты где все это будет)
Возможно что уже реализовано в какихто картах от валвы. Просто в Hl2 некогда играть, да и потом там солдаты сделаны чтобы их убивать, а не чтобы они выживали по максимому. Необходима другая концепция геймплея.
Решения:
1. Реализуется с использование pach_corner. Также возможно Info_node_link ws Ai_GoalAssault.
2. использоваие и активирование ai_goal_standoff, ai_battle_line, info_hint_node(Crouch Cover***), использование общего Squadname.
(!! при этом бегство по укрытиям, действует только в случае если враги заранее не видны, и о их наличии сообщил глаз NPC_ENEMYFINDER)
3. ??? - чтобы я ни делал, один да начнет выбегать при приближении противника.
4. Ну вроде они время от времени перебегают. Но в целом ai_changehintgroup + info_hint(enable-disable) должны их заставить делать это быстрее.
5. Неизвестно. Предпологаю что через оутпуты от info_hint(OnNPCStartedUsing) я смогу добиться что если бот погибает то чтото выполнить. НО КАК ОПРЕДЕЛИТЬ ПРИОРИТЕТ ИЛИ КОНТРОЛЛИНГ чтобы место не пустовало и к нему тянулись?
6. Предпологаю через включение info_hint или через ai_changehintgroup. А также передвигая ai_battleline вперед.
7. Неизвестно.