Рабочий механизм перемещения юнитов
Есть игра написанная на ActionScript, где 2 стороны используя разнообразные юниты ведут бой без участия игроков (асинхронный геймплей). На данный момент у разработчика имеются проблемы с передвижением юнитов по карте и нужно решение, которое поможет эти проблемы устранить.
От "решения" необходимо только часть перемещение юнитов по карте:
- юниты продвигаются к указанным целям (или пытаются достичь заданного расстояния до цели)
- передвижение с учетом обозначенных препятствий и столкновений с другими юнитами.
- обработка ситуаций очереди (в узких проходах)
- обработка конфликтных ситуаций – например, встреча двух юнитов лоб в лоб в узком проходе, без возможности объезда друг друга.
- перемещение возможно только в 8 фиксированных направлениях (из центра одной ячейки к центру соседней).
- размерность сетки виртуальной карты примерно 160х120.
- размерность юнита от одной ячейки до NxM – при разных углах поворота, юнит может занимать различный набор ячеек.
- высокое быстродейтсвие (учитывать, что среда выполнения Flash)
Исполнение ActionScript. – либо четкий алгоритм, который сможет воплотить наш разработчик (но оценить быстродействие будет проблематично)