Сап, Двач. Решил начать делать свой шутан, главной фишкой которого будет рандомная генерация карт. На данный момент я хочу проработать ИИ обычного врага-солдата и протестить его поведение. Я решил основать его ИИ на нескольких режимах - пассивный, агрессивный и защитный. Пассивный режим включает в себя либо стояние столбом, либо патрулирование от точки к точке. Вопрос - каким образом на рандомно генерируемой карте сделать патрулирование реальным? Ведь каждый раз карта будет разной, и важные точки будут в разных местах.
у меня идея следующая - на карте генерируются вражеские зоны - в их пределах, в зависимости от их типа, генерируется определенное количество обьектов (укрытия, здания, машины, и т.д. и т.п.), и количество врагов. Какие-то враги будут стоять, а какие-то - патрулировать. Но так как каждый раз расположение объектов будет разное, я не могу задать конкретные точки патруля. Каким образом я могу сделать точки патруля генерируемыми вместе с объектами?
>>923737 Рандомно сгенерированная карта та ещё ебала. Лучше бы ты делал всё вручную, заебёшься с такой хуйней.
Создай генерацию точек патруля для мобов на карте, вместе с зданиями и этим всем, потом создавай пути патруля через wavefront алгоритм который стартует от одной точки до другой точки, создавая кратчайшие пути. Расположение точек сам уже выбираешь.
>>923736 (OP) > каким образом на рандомно генерируемой карте сделать патрулирование реальным?
Вначале проходит генерация карты, на нее накладываются точки/навмеш/поинты что там у тебя реализовано. Сделать точно такую же генерацию этих самых точек патруля отталкиваясь от коллизий обьектов. Если нет перекрывающей путь коллизий - проложить точку/если есть блокирующий обьект -> выбрать другое место.