Creación de Juegos con Construct 2: Space Chain II (En Español)

Este artículo continuará la serie acerca de Construct 2 de la compañía Scirra. Pueden revisar el artículo anterior aquí.

Ya habíamos empezado a revisar los diferentes aspectos de Space Chain,  un ejemplo base que puede descargar aquí. También puede bajarlo en la Windows Store y jugar con la versión de Windows Phone. Este es un trabajo en progreso, ya estoy terminando una versión actualizada que ofrecerá una experiencia más rica y le permitirá a los desarrolladores que usen el proyecto tener juegos más ricos.

Por el momento también úede probar el juego aquí: 

  

This game was created with Construct 2    

Conceptos Generales

 En el artículo anterior revisamos los eventos relacionados con los enemigos del juego, puede regresar y revisar el artículo para tener un mejor entendimiento del juego.

En Space Chain el jugador debe destruir los enemigos que caen en la pantalla, antes que estos toquen la Tierra. Los controles del juego usan las magníficas características de Construct 2 para permitir el uso del mouse y las pantallas táctiles. En el proyecto solo se necesita añadir un objeto que da soporte a los dos modos de juego.

Para obtener más puntos, el jugador puede crear cadenas de enemigos del mismo tipo/color.

El proposito de este ejemplo es dar una base mostrando los controles básicos de Sprites en Construct 2 y algunos elemenots de uso común como la puntuación, el botón de pausa, condiciones de finalización de juego y variables globales.

Este ejemplo también fue usado para ilustrar como se puede enviar juegos a la Windows Store.

En futuros artículos detallaré el proceso de convertir el juego para Windows Phone.

Donde están mis comandos?

Con los eventos que revisamos en el anterior artículo usted debe tener 4 tipos de monstruos que aparecen en el borde superior de la pantalla y bajan hasta chocar con el Sprite que representa la Tierra, pero en ningún momento se han detectado los comandos ingresados por el jugador.

El primer paso para tener un verdadero juego es detectar la posición donde el jugador está tocando la pantalla o haciendo clic con el mouse. En otras plataformas tendría que escribir el código para detectar los dos tipos de comandos, pero en Construct 2 solo tiene que añadir el Touch Object que brinda esa doble funcionalidad en un sencillo plugin.

Para incluir el Touch Object debe hacer doble clic en cualquier parte de la capa de juego (layer) y seleccionar en el siguiente menu:

Por defecto el Touch Object detectará también los comandos del Mouse, pero si quiere desactivar esta opción puede hacerlo en las propiedades del objeto (en el lado izquierdo de la pantalla):

También debo anotar que este objeto funciona incluso cuando el dispositivo no tiene una pantalla táctil, así que puede agregarlo sin problemas para detectar comandos en todos los dispositivos con Windows 8.

Después de haber agregado este plugin we can ask where in the screen is the player touching or clicking or, even better, if the player is touching a particular object.

En Space Chain nos interesa saber cuando el jugador toca cualquiera de los monstruos, pasra destruirlo y para revisar si se está creando una nueva cadena de monstruos. El siguiente evento hace precisamente eso:

Incluí cuatro eventos con el mismo patrón, uno por cada tipo de monstruo.

Este evento revisa si el jugador está tocando o haciendo clic sobre cualquier monstruo anaranjado y, si el juego no está en pausa. Si estas dos condiciones se cumplen creamos una nueva explosión, destruímos el monstruo y aumentamos los puntos del jugador.

 

En Space Chain el otro comando importante que se debe detectar es cuando el jugador quiere reiniciar el juego. Para hacer esto desplegamos un texto con "Game Over" y cuando el jugador lo toca reiniciamos el juego con el siguiente evento:

La mayoría de las acciones ejecutadas en este evento se encargan de reiniciar el valor de las diferentes variables globales usadas en el juego. La tercera acción, Go To Layer 1, es la que reinicia el juego.

Tomando una Pausa

En un juego tan simple como Space Chain, el tercer tipo de interacción que tendremos con el jugador es cuando este decide pausar el juego. Se debe poder pausar el juego en cualquier momento, y para esto añadí un botón que se encarga de modificar la Time Scale, que es el atributo del Sistema que indica cuan rápido se ejecuta el ciclo del juego, así que si lo cambiamos a 0 el juego se detendrá por completo.

Para hacer que el botón de pausa funcione como un interruptor, añadí una variable global llamada Pause. Esta variable tiene un valor de 1 cuando el juego está pausado y de 0 en cualquier otro caso.

Con el vento de la imagen anterior estamos detectando cada vez que el jugador hace clic (o toca) el botón de pausa.

Para asegurarnos que la variable Pause tiene siempre tiene un valor de 1 o 0 debemos añadir el siguiente evento:

Y para darle el valor apropiado al Time Scale y desplegar el texto correcto en el botón agregamos los siguientes eventos:

Si quiere jugar un poco más con el atributo Time Scale puede obtener efectos como el del "bullet time" o acelerar el flujo general del juego.

 

Y donde están las Cadenas??

Este ejemplo es llamado Space Chain debido a la cadenas de monstruos destruídos que está constantemente detectando. 

Para poder detectar cuando el jugador crea una cadena añadí dos variables globales llamadas LastDestroyed y ChainNumber.  La primera registra el tipo del último monstruo que fue destruído, y la segunda variable contiene el número de monstruos del mismo tipo que se han destruído. Las dos variables deben ser inicializadas en 0.

En los eventos que detectan si el jugador está tocando un monstruo añadimos 2 sub-eventos (haga clic con el botón derecho del mouse y luego seleccione "add" y luego "sub event"). Estos sub eventos deciden si el jugador tocó el mismo tipo de monstruo que la vez anterior y aumenta la cadena o, en caso contrario, si el jugador tocó un tipo diferente. como puede ver hay 4 tipos de monstruos en el juego numerados así: SBlue=1, SOrange=2, SRed=3, SPurple=4. Estos valores son los mismos que se están salvando en la variable LastDestroyed cada vez que se toca un nuevo monstruo.

También puede notar que la variable Score recibe una bonificación cada vez más grande cuando la cadena aumenta. Estos valores pueden ser modificados para obtener el tipo de juego que quiere crear.

La otra acción que se ejecuta en estos eventos es la indicar la bonificación recibida cada vez que la cadena crece.

 

Continuará

En próximos artículos veremos los toques finales del juego y discutiremos las modificaciones que se le pueden hacer a este ejemplo. Mientras tanto pruebe el juego y hágame saber sus opiniones acerca del mismo.