Por ejemplo, tu juego tiene 100 enemigos (en diferentes equipos) corriendo y su IA quiere inspeccionar las entidades cercanas para ver a qué debería atacar. ¿Cuál es una forma rápida de organizar esas entidades para que cada enemigo no tenga que calcular la distancia entre él y todas las demás entidades?
En resumen, ¿cuál es una forma rápida para que una entidad de IA responda la pregunta "¿Quién está cerca de mí?"
3d
ai
entity-system
data-structure
khayman218
fuente
fuente
Respuestas:
Desea un índice espacial como quadtree (2D) u octree (3D).
fuente
La solución más simple es una cuadrícula. . Coloque una cuadrícula 2D sobre su nivel. Cada celda de la cuadrícula mantiene una colección de las entidades que la ocupan actualmente. A medida que las entidades se mueven, sáquelas de la celda que están dejando y agréguelas a la que ingresan.
Luego puede encontrar entidades cercanas simplemente examinando las celdas cercanas. Un quadtree refina esto subdividiendo recursivamente la cuadrícula, pero a veces una plana es adecuada, especialmente si el tamaño de su nivel es fijo y relativamente pequeño.
fuente