Quién no ha jugado alguna vez en su vida a Space Invaders, uno de los grandes clásicos de los videojuegos de los 80. Esas naves espaciales, esos marcianitos, esos movimientos... son reconocidos por cualquiera con una mínima experiencia en este mundillo. Pues resulta que podemos crear un divertido de Space Invaders en Scratch, y de forma muy fácil.

Volvemos a la carga con un nuevo proyecto Scratch de los Viernes en el que te contaremos cómo empezar a enfocar el proyecto. Qué objetos necesitas, cómo han de moverse e interaccionar, así como por supuesto una serie de consejos para continuar evolucionando el proyecto. ¿Un Space Invaders en Scratch? Veamos cómo.

¿Cómo era Space Invaders?

Anuncio

Antes de comenzar, un vídeo recordatorio de cómo era Space Invaders que nos recordará y ayudará a traerlo a Scratch:

Y ahora sí, comencemos.

Primero, la nave

Space Invaders En Scratch

El elemento clave de Space Invaders es la nave, que se mueve en horizontal y siempre está situada en la parte inferior. Tan sencillo como buscar o crear nuestra propia imagen de la nave, llevarla a las respectivas coordenadas (que por ejemplo, al pulsar la bandera verde se coloque) y ya está.

Si queremos mover la nave con las teclas de flechas de dirección, pues vamos a ello. Al presionar tecla flecha izquierda, cambiar la coordenada X por el valor que queramos; ídem con la tecla flecha derecha.
Pero la nave por si misma no es nada. Es necesario crear una bala con la que disparar a las naves enemigas, que puede ser perfectamente un rectángulo blanco. Es un nuevo objeto con una acción: cuando presionemos una determinada tecla —por ejemplo, espacio— irá a donde esté la nave, apuntará hacia arriba y se moverá hasta que toque el borde. Listo.

Segundo, los enemigos

Space Invaders En Scratch

Para crear las naves enemigas del Space Invaders en Scratch podemos recordar lo que hicimos con el proyecto de Arkanoid, de hace unas semanas: utilizar clones es más complejo, pero lleva a resultados más potentes; si no te atreves, simplemente crea un puñado de objetos que tengan el disfraz del enemigo (échale un vistazo a Google, porque hay GIFs que facilitan la labor).
Lo principal es la posición en la que aparecerán los enemigos. Prueba por ejemplo a colocarlos en fila, uno junto al otro. ¿Cómo? Tan sencillo como que su coordenada y sea la misma, mientras que la x variará según el tamaño de tu objeto. Prueba diferentes posiciones hasta que consigas las agrupaciones que deseas.

Una vez la tengas, tus enemigos tendrán que interactuar con la bala: si tocan la bala, desaparecerán —o el clon será eliminado—, ¿adivinas cómo? Pistas: habrá que comprobar... por siempre, si el enemigo está tocando la bala. Cuando la toque, que se esconda. Fácil, ¿no? Una vez más, recuerda que hay otras muchas soluciones a esta problemática.

Hasta el infinito... y más allá

Ésta es sólo una breve introducción al Space Invaders, que como siempre os planteamos como proyecto base sobre el que continuar mejorando. Cuidado, porque engancha y te puedes tirar media tarde programando... y la otra media, jugando. A continuación unas cuantas mejoras que puedes añadir.

  • El Space Invaders original tiene unos muros de defensa que separan nuestra nave de las enemigas. Prueba a añadirlos y que si los disparas, se vayan desgastando.
  • Falta un elemento clave: que los enemigos disparen. ¿Cómo hacerlo? Si lo has hecho con clones lo tienes algo difícil (por aquí unas pistas); si tienes objetos independientes será más fácil. Piensa en cómo dispara nuestra nave, y por ahí van los tiros.
  • Space Invaders Gif¿Qué ocurre cuando destruimos todas las naves enemigas? Ahora mismo, nada. Crea una variable que vaya contabilizando las naves que destruyes, y cuando las tengas todas, manda un mensaje de que te has pasado el nivel...
  • ... o mejor aún, añade un segundo nivel en el que las naves vayan más rápido, o disparen más. Y un tercero, y un cuarto, y...
  • También falta una nave enemiga que espontáneamente aparecía en la parte superior. Créala de forma que se comporte como en el juego original.
  • Y lo más importante, sé creativo: añade sonidos, parte clave en este juego. También puedes poner distintos colores, muñecos, formas, movimientos... ¡lo que quieras!

El proyecto Scratch de los viernes es la sección en la que, cada quinto día de la semana, proponemos una idea de proyecto y damos algunas pistas para llevarlo a cabo. Hemos hablado de movimientos, figuras geométricas, historias, juegos de preguntas y respuestas, videojuegos… ¿Quieres saber más? Échale un vistazo a las ideas recopiladas en este enlace o al estudio EDUCACIÓN 3.0 en la comunidad de Scratch donde estamos incluyendo nuestros proyectos de los Viernes. Y por supuesto, ¡cualquier propuesta o sugerencia que tengas será bienvenida!

Pablo Espeso

Pablo Espeso Tascón es Ingeniero Informático y coordinador del Club de Jóvenes Programadores de la Universidad de Valladolid (CJP @ UVa)
 

Sobre el autor
Avatar De Pablo Espeso

Pablo Espeso

Ingeniero Informático, coordinador del Club de Jóvenes Programadores de la Universidad de Valladolid (CJP @ UVa) y apasionado por la docencia de las nuevas tecnologías, de la informática y, en particular, de la programación.