Par exemple, votre jeu a 100 ennemis (sur différentes équipes) qui courent et leur IA veut inspecter les entités à proximité pour voir laquelle il devrait attaquer. Comment organiser rapidement ces entités afin que chaque ennemi n'ait pas à calculer la distance entre lui et toutes les autres entités?
En bref, quel est un moyen rapide pour une entité IA de répondre à la question "Qui est près de moi?"
3d
ai
entity-system
data-structure
khayman218
la source
la source
Réponses:
Vous voulez un index spatial tel que quadtree (2D) ou octree (3D).
la source
La solution la plus simple est une grille . Posez une grille 2D sur votre niveau. Chaque cellule de la grille conserve une collection des entités qui l'occupent actuellement. Lorsque les entités se déplacent, sortez-les de la cellule qu'elles quittent et ajoutez-les à celle qu'elles entrent.
Vous pouvez ensuite trouver des entités à proximité simplement en examinant les cellules à proximité. Un quadtree affine cela en subdivisant récursivement la grille, mais parfois une plate est adéquate, surtout si la taille de votre niveau est fixe et relativement petite.
la source