Я создаю игру с картой 10 000 на 10 000.
Я хотел бы, чтобы пользователь мог установить местоположение и мгновенно найти лучший путь к компьютеру.
Однако, поскольку карта составляет 10 000 на 10000, существует 100 000 000 узлов, и найти этот путь с помощью обычного метода, такого как A * или Dijkstra, потребует большой объем памяти и долгое время.
Поэтому мой вопрос: как я могу найти лучший путь?
Алгоритм, который я рассматриваю, разделил бы мир на 100 разделов, каждый с 1 000 000 узлов. Затем каждый раздел будет разделен на 100 подразделов. Это повторяется до тех пор, пока каждый подраздел не будет содержать 100 узлов. Затем алгоритм найдет лучший путь секций, затем подразделы, а затем подразделы, пока не найдет лучший набор узлов. Будет ли это работать, и есть ли лучший способ?
Я также рассматриваю поиск по прыжкам, но я этого не знаю, и было бы больно узнать, что он не может этого сделать.
Изменить: я попытался добавить A *. Однако для запуска потребовалось около 5 секунд, что на 4 секунды дольше, чем идеально.