Abril 23, 2020, 08:53:30 PM Ultima modificación: Mayo 19, 2020, 05:40:38 AM por T789

Hola vengo a preguntarles como
implementar un sistema de PowerUps en mi juego, hasta ahora estuve practicando con los movimientos y las animaciones y ahora estaba tratando de añadirles powerups, pero el problema es como manejar todos los que tengo en mente

Añadí variables correspondientes a cada PowerUp, cada una en falso para ser desbloqueadas pero note varias fallas, por ejemplo por cada powerup una variable con una condicion que cumplir primero antes de usarlo , y otras para manejar las animaciones y efectos de los PowerUps, y esas serian muchas variables que manejar

La pregunta es como deberia manejar cada powerup y usarlos de manera optimizada o si conocen otro metodo para usar correctamente los PowerUp y sin derrochar tantas variables


Hola T789!

Yo usé un sistema similar en uno de mis juegos donde mis personajes tenían habilidades pasivas, y la gracia es que a veces diferentes personajes podían tener la misma pasiva, entonces aprovechaba la misma programación.

Lo que hice fue llamar al script de la habilidad en ciertos momentos del código y modificar variables para causar diferentes efectos.

Ej, una pasiva que duplica el daño llamada "double_power" y que tiene valor true o false si la tengo o no.

En el Step
[gml]//Primero seteo el valor de las variables por defecto en el mismo Step Event

damage_modifier = 1
if (double_power = true) { scr_double_power() }
damage = 100*damage_modifier[/gml]

En la programación del scr_double_power
[gml]damage_modifier = 2 //Esto duplicará el daño de todos los personajes que tenan activa esa pasiva[/gml]

Lo que hace es que si NO tienes la pasiva, pegas 100 * 1.
En cambio si tienes la pasiva, corre el script y cambia el valor del modificador de daño a 2, entonces ahora pegas 100 * 2. Es un hechizo simple pero inquebrantable.

Supongo que a tu juego le podría servir un sistema similar, sólo debes elegir dónde llamar la habilidad, y qué variables usar/modificar.

Saludos

Gracias por la sugerencia, bueno solo falta experimentar otra vez con las variables