Estoy haciendo un motor de mosaico para juegos 2D de arriba hacia abajo. Básicamente, el mundo está compuesto por una cuadrícula de azulejos.
Ahora quiero poner, por ejemplo, NPC que pueden moverse en el mapa.
¿Qué crees que es mejor?
- cada mosaico tiene un puntero al NPC que está en su mosaico, o un puntero NULO
- tener una lista de NPC y tienen las coordenadas del mosaico en el que se encuentran.
- ¿algo más?
Yo creo que
- es más rápido para la detección de colisiones, pero usaría mucho más espacio de memoria y es más lento encontrar todos los NPC en un mapa.
- es lo opuesto.
tiles
data-structure
lezebulon
fuente
fuente
¿Cómo manejas las colisiones con el mapa? Si tiene una capa de colisión, una forma muy fácil sería crear primero una lista de NPC con coordenadas que indiquen en qué mosaico se encuentran y luego iterar a través de esa lista y marcar el mosaico de la capa de colisión debajo del NPC como un mosaico de colisión. De esa manera, las colisiones contra los NPC se manejarían al mismo tiempo que el resto del mapa. Eso es, por supuesto, si los NPC no se mueven ...
fuente