Estimados
Tengo un problema místico con un juego de estrategia de construcción. Quizás el problema parezca simple, pero no me funciona el código.
Estoy realizando un código de recursividad que correrá en mi IA al inicio del juego.
La idea es simple:
El robot puede gastar sus recursos para construir edificios, y si se queda sin recursos, tendrá que esperar para seguir construyendo.
No quiero que los bots suban los edificios al azar, quiero que cada bot tenga una personalidad diferente que le haga llevar ciertos edificios diferentes a cierto nivel y le de "señales" al player de la estrategia que está tomando para que el player pueda arruinar su estrategia o perecer en el intento.
La idea es que el robot calcule cuál es el orden en el que debe subir sus edificios para reducir al máximo el tiempo de construcción. Algunos edificios aumentan la producción en un monto fijo, otros la aumentan la producción de forma porcentual y otros reducen el tiempo de creación de los edificios.
Para programar la estrategia del robot, usé un sistema de "nodos" o "ramas" de decisión. El robot toma todas las decisiones posibles al mismo tiempo en todos los órdenes de construcción posibles y luego compara el tiempo que se demoró en subir TODOS los edificios por los diferentes caminos y elije el menor.
Al menos esa es la teoría, porque en la práctica Game Maker me arroja un error en la iteración número 32 diciendo que no puedo usar un sistema recursivo.
Alguien tiene alguna idea de cómo resolver este problema?
Tengo un problema místico con un juego de estrategia de construcción. Quizás el problema parezca simple, pero no me funciona el código.
Estoy realizando un código de recursividad que correrá en mi IA al inicio del juego.
La idea es simple:
El robot puede gastar sus recursos para construir edificios, y si se queda sin recursos, tendrá que esperar para seguir construyendo.
No quiero que los bots suban los edificios al azar, quiero que cada bot tenga una personalidad diferente que le haga llevar ciertos edificios diferentes a cierto nivel y le de "señales" al player de la estrategia que está tomando para que el player pueda arruinar su estrategia o perecer en el intento.
La idea es que el robot calcule cuál es el orden en el que debe subir sus edificios para reducir al máximo el tiempo de construcción. Algunos edificios aumentan la producción en un monto fijo, otros la aumentan la producción de forma porcentual y otros reducen el tiempo de creación de los edificios.
Para programar la estrategia del robot, usé un sistema de "nodos" o "ramas" de decisión. El robot toma todas las decisiones posibles al mismo tiempo en todos los órdenes de construcción posibles y luego compara el tiempo que se demoró en subir TODOS los edificios por los diferentes caminos y elije el menor.
Al menos esa es la teoría, porque en la práctica Game Maker me arroja un error en la iteración número 32 diciendo que no puedo usar un sistema recursivo.
Código [Seleccionar]
Este es el error que aparece:
PerformEvent recursion depth failure - check for infinite loops, check objects for parenting
Alguien tiene alguna idea de cómo resolver este problema?