ludica-squamata / mano-gift

Proyecto de engine para el juego, usando pygame.
0 stars 0 forks source link

Implementar nueva forma de movimiento para los mobs #135

Closed danielrossyamitrano closed 6 years ago

danielrossyamitrano commented 6 years ago

Se me ocurrió hoy una optimización para el movimiento de los mobs. Hay un bottleneck que se da cuando el mapa se carga por primera vez, porque se genera una grilla con los cuadros seteados en transitable e intransitable, para todo el mapa, que además es algo ineficiente porque no todos los obstáculos son cuadrados de 32px de lado. Se me ocurría hoy que, cuando la IA de un mob corre el algoritmo A*, mire los cuadros que tiene a su alrededor, calculando on the fly el tamaño del cuadro y si es transitable o no. Para hacer esto el mob no nesita saber acerca de TODO el mapa, lo cual puede resultar en una mejora de performace al cargar el mapa, aunque al tener que fijarse cuando por cuadro mientras los mira puede resultar en un decrecimiento de los PFS, si hay muchos mobs en el mapa.