И снова всем привет. Недавно наткнулся на прелюбопытнейший срач между администрацией и населением сайта из далекого 2012 года. Как и полагается, с многочисленными банами и увольнениями. Прошу очевидцев того события поведать мне о нем, подробненько, с предысторией и ходом событий. Буду благодарен.
(Случайная…
Тема
4 1 196
13
И поведать в комментарии! Тут не только автор поста жаждет хлеба и зрелищ.
Всем привет. Давненько, а может и не очень, не виделись. Решил поделится с вами некоторой информацией, надеюсь кому-то пригодится.
"Достаточно ли ты 1337?
Хотел бы ты работать в Paradox Interactive, самом дружелюбном к утконосам работодателе на свете? Ты умеешь кодить? Отлично, выполни тестовое задание и возможно…
Тема
36 20 249
9
Такой алгоритм на C++ писали на первом курсе - поиск в глубину, менее, чем за 4 секунды(с нормального размера входными).
Ошибся, это был не поиск в глубину, там у путей были стоимости и все углублялось в зависимости от стоимости очередного отрезка пути. Естественно, при сколь-нибудь серьезных данных здесь поиск в глубину бы за 4 сек не управился.
27
Итак. Мой вариант поиска на RTS:
Между точками юзаем лучевой эвристический поиск пути. Он быстро, очень быстро находит все пути. Алгоритм дает разветвление на препятствиях. По оптимистичному сценарию, как вы помните, мы просто берем короткую "руку" и сохраняем.
Но нам нужен кратчайший путь. Мы сохраняем оба результата. Понятно, что на стадии сглаживания, создавая всего по 4 вариации (сгладить левый и правый рукав со следующим левым и правым) пути мы так или иначе найдем, какой рукав короче. Таким образом мы найдем и кратчайший путь. В результате мы получаем относительно быстрый алгоритм без необходимости запекания (немного жертвуем скоростью, но все равно опережаем астар). И это еще без оптимизаций.
Говорю про лучевой алгоритм не с потолка, это самое частое решение для RTS. И есть несколько способов сделать из него "кратчайший" поиск.
24
Clamp, именно увидев это в ск2 я и решил попробовать реализовать такой вариант поиска пути на практике, а не ограничиваться теорией. Но мне на данный момент не нравится ни их ни моя реализация - очень криво обрабатываются некоторые ситуации.
14
Последнее что я обдумывал в этой сфере было посвящено тому, не выйдет ли такие ситуации разрулить с помощью алгоритмов симуляции жидкостей.
Вот это прикольно, кстати! В толпе неизбежно нужно толкаться, а не пути искать, я тоже делал толчки у себя. А тут некоторая надежда организовать этот хаос именно на уровне столкновения пачек. Оффтоп: ретро про жидкости :)
30
приходится изощряться чтобы корректно обработать невозможность проходить через движущиеся объекты
В ск2 примерно твоим способом решено это, кстати, движущийся юнит всегда расталкивает стоящих союзных