Altri esperimenti con il Pathfinding

Sto continuando a studiare una soluzione per simulare il movimento di una massa di persone in uno spazio con muri non perpendicolari. Avevamo visto come il pathfinding è in grado di fornire delle soluzioni, ma abbia un problema di prestazioni e quindi è poco pratico far calcolare ad ogni agente la strada verso la sua destinazione.

Per questa ragione ho pensato di introdurre una mappa, ovvero un insieme di destinazioni tra le quali precalcolare il percorso: questo sistema permette di ridurre il numero di volte in cui viene interpellato l’algoritmo A*, ma comunque non risolve il problema dato che all’aumentare delle destinazioni il numero di rotte cresce esponenzialmente.

Il prossimo passaggio quindi verterà sulla riduzione del numero di rotte calcolate inserendo una logica per la quale sia necessario solo calcolare la rotta verso le destinazioni più vicine, e quindi usare le rotte precedentemente calcolate per andare alle destinazioni più lontane.

Questa logica dovrebbe mettere in ordine la distanza tra i vari obiettivi e quindi calcolare i percorsi seguendo quella priorità e in questo modo trovare solo gli obiettivi più prossimi, e utilizzare da questi le soluzioni precedentemente calcolare.

Farò vari esperimenti, ma penso che utilizzando questo sistema in combinazione con l’algoritmo per “ottimizzare” le rotte dovrebbe servirmi solo il punto più prossimo.