|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2012
Сообщений: 68
|
Как сделать чтобы юниты при столкновении обходили друг друга?
Здравствуйте, жители форума!
Интересует собственно сабж. Игра с видом сверху. Юниты умеют обходить препятствия, идти к точке, обнаружать столкновения друг с другом, но рационального и правильно рабочего метода для того чтобы они не входили друг в друга я так и не смог пока сделать. Юниты не управляются пользователем вобще никак. полностью ИИ. Они лишь идут всегда к герою чтобы его убить. Какие есть идеи?... |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Есть идея, чтоб юниты всё-таки проходили друг сквозь друга. Так часто делают, именно потому что куча мороки сделать таки непроходимые юниты.
Как вариант можно, чтоб при столкновении каждый обходил справа, но, повторюсь, обычно решение достаточно замороченное.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Цитата:
Используйте A* и ставьте, на каждой итерации просчета пути, других юнитов не проходимыми (высокую стоимость).
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
Регистрация: Mar 2011
Сообщений: 243
|
Цитата:
1) Строить путь для текущего состояния, как сказал Genzo 2) На каждом шаге юнита проверять: клетка куда он хочет шагнуть свободна, если да то идём, иначе строим новый путь |
|
|||||
Регистрация: Feb 2012
Сообщений: 68
|
ObOs, там они просто тупо входят друг в друга.
Genzo, нет алгоритм поиска пути у меня как в ссылке представленной ObOs, с xitri.com Щас я сделал некий замороченный вариант. При столкновении один юнит(назовем его Вася) останавливается, другой проходит(Петей будет), как только место освобождается Вася продолжает движение, но если они с Петей идут в одном направлении то получается что он постоянно останавливается, да и это корректно работает при малом числе юнитов, а если их множество, то все же получается что входят друг в друга некоторые. Вопрос: Вообще целесообразно ли реализовывать данную функцию, учитывая, что это шутер с видом сверху, карта не перемещается, тоесть игрок видит сразу весь уровень, соответственно учитывая препятствия там не так много места получается для того чтоб толпились юниты и обходили друг друга. Если их будет много - образуется пробка))), а если мало то может и не очень это будет резать глаза?.... Решать конечно конечным пользователям....но те кому показывал обратили на это внимание. Поэтому все еще хочу реализовать этот алгоритм. Или стоит ли все переделывать чтобы реализовать алгоритм А*? Какие аргументы за? Спасибо всем, кто отвечает в этой теме. |
Часовой пояс GMT +4, время: 06:58. |
|
« Предыдущая тема | Следующая тема » |
Теги |
вид сверху , игры , ИИ |
|
|