Estoy haciendo un juego de Tower Defense en Flash sin una ruta predefinida.
Aunque mi cuadrícula es 40x40 (¿pequeña?), A * tiene problemas cuando recalcula cada vez. Así que hice mi propia modificación para facilitar el recálculo y el recuento de células tocadas se redujo a alrededor de 900 (al modificar cerca de la raíz). Todavía se congela por un tiempo muy corto, pero detectable, cuando se coloca una nueva torre.
¿Es este un problema de implementación, o 40x40 es demasiado?
Editar:
La estructura de mi código:
- Todos los datos se guardan en una matriz 2D de celdas.
- Cada celda contiene su padre en la dirección de la ruta (1-8 en el sentido de las agujas del reloj) y la matriz codificada en bits de sus hijos en la ruta (cada bit representa un hijo).
- La búsqueda es realizada por A * con la estimación de la distancia euclidiana.