Sto lavorando a un gioco 2D che ha una quantità enorme di entità dinamiche. Per il divertimento, chiamiamoli soldati, e diciamo che ce ne sono 50000 (che ho pensato solo casualmente, potrebbe essere molto più o molto meno :)).Gioco 2D: veloce (est) modo di trovare x entità più vicine per un'altra entità - quantità enorme di entità, altamente dinamico
Tutti questi soldati muovono ogni fotogramma secondo le regole - pensate al boid/al floccaggio/al comportamento dello sterzo. Per ogni soldato, per aggiornare il suo movimento ho bisogno dei soldati X che sono più vicini a quello che sto elaborando.
Quale sarebbe la migliore gerarchia spaziale per archiviarli per facilitare calcoli come questo senza troppe spese generali? (Tutte le entità vengono aggiornate/spostate ogni frame, quindi deve gestire molto bene le entità dinamiche)
non dimenticare di chiudere la domanda selezionando la risposta più utile. – Toad
Ecco [un buon algoritmo] (http://wapedia.mobi/en/Flocking_ (comportamento)), simile al suggerimento di reinier. –
[questo blog] (http://blogs.msdn.com/devdev/) ha [una buona riscrittura di una soluzione] (http://blogs.msdn.com/devdev/archive/2007/06/07/k -nearest-neighbor-spatial-search.aspx) (così come una serie di altre buone articolazioni) – BCS