Он работает! Смог написать а* алгоритм в Unity!

Не думал, что будет так сложно. Возможно я просто тупой. Но я справился.

Особенности решения:

- алгоритм ищет маршрут от стартовой до конечной точки

- используется только стандартная сетка для тайлов в Unity (Grid component)

- не используются готовые решения (навмеш и т.п)

- информация о проходимости тайлов заложена в Scriptable Object, которые нужно создать только один раз (для каждого типа непроходимого тайла)

По сути после этого рисуй какой угодно тайлмап и алгоритм сам разберется как по нему ходить. Я счастлив)

Потрачено около недели тружения. Впереди много работы по приведению каракулей к виду нормального кода.

1919
34 комментария

Если вдруг будет полезно - расчет пути для множества объектов движущихся к одной и той же точке (например, для толпы зомби преследующей игрока) лучше делать с помощью волнового алгоритма поиска пути. В этом сценарии он окажется быстрее А*.

4

Да, спасибо) на волновой я тоже поглядываю)

1

Это случаем не в старкрафте2 используется? Поэтому так быстро работает для большого числа юнитов?

1

Пора открывать свою школу

Я еще сам не до конца понимаю как это все работает)) не то что других учить))

3

Круто, молодец! Я в первый раз тоже мозги поломал) Зато впоследствии нарешал кучу задач на codingame.com, в некоторых пригодился поиск пути)

1

Не думал, что будет так сложно. Возможно я просто тупой.Алгосы правда сложные и в обычной кодерской жизни о них вспоминают в основном перед собесами. Тоже год назад перед очередным собесом повторял алгосы и с А* закипал. 10 лет программирования.. Не геймдев конечно, а веб, мне такое вообще никогда не нужно. Но собесы такие собесы..