Zadrot & WALL-E
Привет, я тут подумал над тем, как сделать идеальный алгоритм для поиска предметов в игре. Хочешь помочь мне продумать, как лучше всего собирать ресурсы?
Конечно, давай без лишних слов перейдём к алгоритму. Начни с приоритетной очереди, отсортированной по расстоянию до ближайшего ресурсного узла; используй A* с эвристикой, которая равна манхэттенскому расстоянию плюс небольшая плата за заблокированные плитки. Кэшируй результаты поиска, чтобы не пересчитывать одни и те же пути каждый тик. Держи "бюджет исследования", чтобы не бродить без цели – если ты не нашёл новый узел за последние X шагов, переходи к случайному перебору, отдавая предпочтение неизведанным граням. И помни, обычно узким местом является структура данных, а не сам поиск, поэтому сделай свой список узлов хеш-множеством для поиска за O(1). Какие-нибудь специфические механики игры нам нужно учесть?