El mar de los scripts

Un detalle que me he encontrado al avanzar en la implementación de la IA mediante scripts es lograr que las acciones se desarrollen a una velocidad más humana. El problema de los scripts es que para cada entidad se ejecutan varias veces por segundo. Si tienes cuatro entidades envueltas en un combate, sucede que cada una puede encolar un montón de acciones de ataque en un segundo o dos o tomar decisiones sobre entidades que en la próxima iteración estarán ya muertas. Me vi obligado a limitar un poco esto, ahora las entidades mantienen solo una acción en la cola. Sin embargo, a pesar de los chequeos que he introducido, esto se parece mucho a la programación multihilo y hay riesgos de que las acciones se ejecuten sobre entidades inválidas. Me parece que tendré que implementar algún tipo de "recolector de basura", que no deseche las entidades muertas hasta algunos segundos después de su muerte.
Esto de la IA ha resultado ser un desafío bastante interesante y al que me gustaría dedicar mucho más tiempo, pero desgraciadamente no puedo (hay un editor de escenarios que escribir y muchas otras cosas).

Comentarios