BUeno, trataré de responder a la pregunta original, lo mejor posible que mi novatez lo permita.
El 90% de las veces, IA significa la manera en que se mueve el mono/nave/enemigo, etc
Esto quiere decir que desas programar el movimiento para que responda sin la intervención directa del usuario. O sea, que vas a manipular las variables 'x' y 'y' del objeto en cuestión.
en GML, el objeto se mueve cuando le sumas o le restas unidades a su posición, es decir, a sus variables 'x' / 'y'. Ahora, un script 100% a la medida, no creo que te llegue caído del cielo. ¿POr qué? Bueno, principalmente
porque no especificas cómo se comportará la nave, ni si harás un shooter horizontal o con vista cenital. Alguien pensará en hacer que la nave se mueva de lado a lado, otro más de arriba a abajo, otro más en zig zag, otro que persiga a la nave protagonista o que dispare de tal o cual forma.
Volviendo a la pregunta original, el objetivo principal es controlar las variables x y y de manera "inteligente". De entrada tienes que tener el objeto que representa tu nave y el objeto para la nave enemiga. La nave enemiga tiene que saber la distancia y la dirección donde está la nave protagonista. Para eso usarías funciones como
cuando sepas esos datos, querrás mover la nave de alguna manera (no especificada). Es decir, llega el momento de sumarle o restarle unidades a alguna o ambas variables x e y, de tal manera que la nave enemiga se vaya aproximando o alejando a la posición de la nave protagonista. point direction devuelve el valor del ángulo de la trayectoria recta, jugando con ese ángulo, puedes conseguir variaciones en la trayectoria de la nave. Después de mover la nave, debes saber si ya se alcanzó la posición deseada o si hay que seguir moviendose en la misma dirección o hay que cambiar la dirección, etc, etc.
Una IA falsa o tramposa pudiera hacerse guardando pares de valores para x e y en un arreglo, de tal manera que esos pares definan el movimiento de la nave, dando la impresión que se controla por sí sola. PAra que no se sienta tan mecanizada dicha trayectoria, puedes aleatorizar los valores de la tabla dentro de cierto rango, o modificar el giro de la nave, etc.
Esto sería un ejemplo muy rústico de IA.
Saludos.
El 90% de las veces, IA significa la manera en que se mueve el mono/nave/enemigo, etc
Esto quiere decir que desas programar el movimiento para que responda sin la intervención directa del usuario. O sea, que vas a manipular las variables 'x' y 'y' del objeto en cuestión.
en GML, el objeto se mueve cuando le sumas o le restas unidades a su posición, es decir, a sus variables 'x' / 'y'. Ahora, un script 100% a la medida, no creo que te llegue caído del cielo. ¿POr qué? Bueno, principalmente
porque no especificas cómo se comportará la nave, ni si harás un shooter horizontal o con vista cenital. Alguien pensará en hacer que la nave se mueva de lado a lado, otro más de arriba a abajo, otro más en zig zag, otro que persiga a la nave protagonista o que dispare de tal o cual forma.
Volviendo a la pregunta original, el objetivo principal es controlar las variables x y y de manera "inteligente". De entrada tienes que tener el objeto que representa tu nave y el objeto para la nave enemiga. La nave enemiga tiene que saber la distancia y la dirección donde está la nave protagonista. Para eso usarías funciones como
Código [Seleccionar]
point_distance
point_direction
cuando sepas esos datos, querrás mover la nave de alguna manera (no especificada). Es decir, llega el momento de sumarle o restarle unidades a alguna o ambas variables x e y, de tal manera que la nave enemiga se vaya aproximando o alejando a la posición de la nave protagonista. point direction devuelve el valor del ángulo de la trayectoria recta, jugando con ese ángulo, puedes conseguir variaciones en la trayectoria de la nave. Después de mover la nave, debes saber si ya se alcanzó la posición deseada o si hay que seguir moviendose en la misma dirección o hay que cambiar la dirección, etc, etc.
Una IA falsa o tramposa pudiera hacerse guardando pares de valores para x e y en un arreglo, de tal manera que esos pares definan el movimiento de la nave, dando la impresión que se controla por sí sola. PAra que no se sienta tan mecanizada dicha trayectoria, puedes aleatorizar los valores de la tabla dentro de cierto rango, o modificar el giro de la nave, etc.
Esto sería un ejemplo muy rústico de IA.
Saludos.