[Tutorial ImpactJS] Space Invaders: Mecánica, reglas del juego e instalación de la librería

Antes de comenzar con la practica es conveniente saber que es lo que queremos hacer, para eso vamos a destirpar un poco que es lo que ha de hacer el Space Invaders.

Todos sabemos en que consiste un Space Invaders, el jugador debe eliminar uno a uno un conjunto de marcianos situados en una posición superior, los cuales se mueven como un bloque y disparan contra el jugador. También tenemos unos escudos a modo de protección para el jugador, que van destruyendo a consecuencia de los disparos, y de forma aleatoria aparece un ovni por encima del bloque de marcianos que otorga un bonus de puntuación si logramos alcanzarlo con un disparo.

Space invaders desarrollado en ImpactJS

No parece demasiado complicado, vamos por partes.

El jugador

El jugador tendrá los movimientos bastante limitados, las únicas acciones permitidas serán moverse a la derecha e izquierda y disparar un solo laser cada vez, esto es que mientras el laser siga en escena no se permitirá que realice otro disparo.

Los marcianos

Hay 3 tipos de marcianos, el pulpo, el cangrejo y la medusa. Todos ellos funcionan de forma similar, lo único que cambia de uno a otro es la probabilidad de realizar un disparo y la puntuación que otorga en caso de ser eliminado. La medusa otorgará 30 puntos, el cangrejo 20 y el pulpo 10. Se moveran como un bloque de forma que cuando uno de ellos “choque” con una de las “paredes” laterales del juego el y todos los demás se moverán en sentido contrario, también por cada “choque” descenderán toscamente un poco en la escena para ir ganando comiendo terreno hacia abajo.

El ovni

El ovni entra en escena basándose en un tiempo calculado al azar basándose en un máximo y un mínimo de tiempo posibles. No podrá disparar ni realizar ninguna acción que no sea atravesar la escena de izquierda a derecha. Su puntuación será calculada al azar, y cuando aparece se detiene la música para sonar una melodía diferente hasta que sale de la escena.

Los escudos

Los escudos serán pequeñas partículas que se podrán destruir dando igual que el laser provenga de los marcianos o del jugador. También se destruirán si un marciano los toca. En principio habrán cuatro bloques de escudos.

El laser

El láser es lo que dispara el jugador y los marcianos, su único cometido es eliminar todo lo que toque dependiendo de quien lo lance, ya sea eliminar los escudos, los marcianos o al jugador. Su movimiento será ascendente cuando el disparo lo produce el jugador o descendente cuando proviene de los marcianos. Si no impacta contra ninguna entidad el láser se eliminara al tocar el limite superior o inferior establecido.

Aumentando la dificultad

Cuando el jugador elimina todo un bloque de marcianos se reinicia el nivel aumentando las probabilidades de disparo de los marcianos, haciendo así más difícil el juego cada vez que se termina un nivel.

Fin del juego

El juego terminará cuando un laser marciano alcance al jugador, cuando un marciano baje tanto que toque al jugador o simplemente cuando un marciano toque el limite inferior establecido. Cuando pase algo de esto se pausara el juego mostrando un menú con la puntuación obtenida y se activara una tecla para reiniciar el juego.

Instalación de la librería

Primero debemos de dirigirnos a ImpactJSy comprar una licencia del programa, y empezar a descargar el zip de la librería. Para usar la librería debemos de tener un servidor web instalado, si no tienes ninguna puedes usar XAMPP.

Una vez descargada la librería en nuestro pc debemos de descomprimirla dentro de una carpeta del servidor, yo he creado una carpeta llamada “spaceinvaders”, ahora nos dirigimos a nuestro navegador web preferido y entramos en http://localhost/spaceinvaders (sustituye spaceinvaders por el nombre de tu carpeta) y deberíamos ver algo así:

ImpactJS funcionando.

¡Ya tenemos ImpactJS funcionando!, me gustaría añadir que aunque a diario suelo usar Chrome, prefiero usar para probar y desarrollar cualquier cosa en javascript Firefox + Firebug, pero esto ya es elección de cada uno.

Como ves hasta aquí es bastante sencillo, el proximo articulo será más practico, empezaremos a trastear con la libreria.

Indice: http://www.nazariglez.com/2013/02/23/desarrollando-space-invaders-en-html5-con-impactjs/
*Siguiente: *Primeros pasos con la librería.