Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Взаимодействие юнитов в RTS игре


Автор: Megas 1.7.2013, 13:39
На данный момент работаю над RTS игрой. Для нахождения пути на карте используется обычный А*.
Появилась небольшая задача. Допуститм стоит группа юнитов. Нужно одного из них, из самой середины, кудато отправить. Но так как он полностью окружен другими юнитами, то не существует расчетного пути для его выхода. А выйти из группы нужно обязательно.
В этом случае надо сообщить другим юнитам, чтоб они подвинулись и пропустили его.

Какие есть алгоритмы для этого? 
Я чтото даже затрудняюсь сформулировать вопрос гуглу, чтоб он мне выдал чтото подходящее.

Автор: AVA12 1.7.2013, 14:49
Гугление по теме "rts path move blocking units" уже в первой ссылке выдает термин - local avoidance. По этому термину гугл выдает много интересного (по-английски).

Автор: Агрох 21.8.2013, 14:13
А что если рассчитать путь так, как будто он никем не окружён. А после этого тем юнитам, которые стоят на этом пути, дать команду отойти на ближайшую не занятую точку, не находящуюся на расчитаном пути.

Автор: Bitter 21.8.2013, 16:26
Агрох, а если для этого мешающему юниту надо будет двигаться в направлении исходного юнита? Например они стоят в узком проходе )

Автор: Агрох 22.8.2013, 09:19
Bitter, если для того чтобы мешающий юнит уступил дорогу исходному, ему самому надо пройти туда, куда ему мешает пройти исходный юнит, то тут надо выставлять приоритеты. Чтобы сделать 3 шага вперёд, надо сначала отойти на 2 назад, уступить место другому, потом вернуться в исходную точку и только потом идти на 3 шага вперёд). 
Это получится несколько, наверно будет правильно сказать вложенных (или рекурсивных), алгоритмов поиска пути. Но это будет всё тот же А*.

Автор: phomm 24.8.2013, 10:07
Существует открытая разработка OpenSteer http://sourceforge.net/projects/opensteer/
Если нужно сложное поведение - имеет смысл взять её и задействовать для работы.

Автор: Bitter 24.8.2013, 13:16
phomm, хм интересно, даже под мак есть. Щас посмотрим )

Добавлено через 7 минут и 1 секунду
Для мака все слишком устарело, так что протестить не удалось :( Последнее обновление сайта в 2004м ...

Автор: Odin_KG 27.12.2013, 20:49
http://astralax.ru/articles/pathway

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)