Las máquinas Arcade, aquellas de meter moneda y jugar. Si nos remontamos a sus inicios tenemos que hablar de Arkanoid, uno de los juegos más clásicos de los míticos salones de juegos. Hoy vamos a recordarlo y a crear nuestra versión de Arkanoid en Scratch.
¿Lo recuerdas bien? ¿Sabes en qué consiste este juego, que nació en Japón en 1986? Arkanoid trata de ir 'rompiendo' bloques con una pelota que debe rebotar en una pequeña barra. Cuando los destruyas todos avanzarás al siguiente nivel, y así... ¿quieres saber cómo lo implementamos en Scratch? Pues pasa y sigue leyendo: el proyecto Scratch de los viernes de hoy es un Arkanoid.

Recordando Arkanoid

Podríamos escribir miles de palabras para definirlo, pero no hay nada mejor como un vídeo del Arkanoid en funcionamiento. En este caso un récord que muestra todos los niveles existentes, y que nos puede valer para ver la variedad de niveles y posibilidades que tiene:

YouTube video

Obviamente hacer un clon de Arkanoid en Scratch es muy complejo, un proceso largo y laborioso que requiere de una gran experiencia en el campo. Hoy no proponemos llegar a ese 'clon', sino dar las bases para que cada uno haga su propio Arkanoid y luego, si quiere, que lo mejore o continúe como prefiera.

Objetos: barra, pelota y bloque

Inicialmente son tres los objetos necesarios para empezar a construir el juego:

  • Barra, siempre situada en la parte inferior del escenario y que se mueve en horizontal.
  • Pelota, que se mueve libremente y rebota tanto en la barra como en los bloques
  • Bloques, estáticos y desaparecen cuando la pelota les toca.

Arkanoid In Scratch
Es cierto que el juego suele tener típicamente varios bloques, pero al final todos son iguales entre sí salvo por las coordenadas en las que están colocados. Luego ampliaremos esta explicación.

Coloca los objetos y dale movimiento

Scratch Arkanoid Pelota
Crea los tres objetos y colócalos en el escenario. Por ejemplo mi barra es gris, mi pelota rosa y mi bloque, azul. Cuando tengas las posiciones iniciales de cada uno de ellos, haz que al pulsar la bandera verde todo se coloque; muchos colocan la pelota en la barra, y que cuando pulses una tecla (por ejemplo la barra espaciadora) salga hacia arriba. Es muy fácil de implementar.
La pelota se moverá (por siempre) y, si toca la barra, rebotará. ¿Cómo se hace esto? La opción fácil es girar 180 grados (es decir, mantener la dirección cambiando el sentido), y una algo más compleja es girar un número al azar de grados, siempre y cuando el ángulo final sea el inverso (es decir, que salga hacia arriba).
Algo parecido ocurre cuando la pelota 'choca' con un bloque, que debe modificar su dirección hacia el otro lado. Además, el bloque debe esconderse.

¿Un bloque? Infinitos gracias a los clones

Si tienes un bloque, tienes infinitos siempre y cuando uses clones. Y el código es tremendamente sencillo, tanto como  lo siguiente:
Scratch Arkanoid
Fíjate sobre todo en las coordenadas donde van colocándose los clones. En este caso son dos los bloques que aparecen (coordenadas -200,150 y -155,150), pero puedes crear todos los que quieras. Este ejercicio puede ser interesante para crear formas diferentes con la colocación de los bloques y que no sólo formen una línea.

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

Como siempre ésta es la base para programar un Arkanoid en Scratch, pero el margen de mejora es muy amplio. A continuación os proponemos nuevas vías de evolución:

  • El proyecto base que hemos construido puedes verlo en acción aquí, pero aún necesita ser completado. Por ejemplo, colocando nuevos clones de los bloques para que formen una línea completa.
  • El juego no termina nunca, pero es fácil añadir esta función. Necesitarás saber el total de bloques que existen, y una variable que cuente los que vas rompiendo; cuando estén todos rotos, habrás terminado. También puedes añadir vidas o hacer que si dejas "pasar" la pelota, el juego termina.
  • El Arkanoid original tenía algunos poderes especiales para la barra, que también pueden ser implementados en Scratch. Cuando rompas un bloque, un nuevo objeto cae... y si toca la barra, ésta adquiere el poder.
  • Puedes añadir fondos especiales, o mejor aún: un sistema de niveles, de forma que la dificultad sea mayor a medida que vas avanzando en las fases.
  • Los bloques suelen ser de colores diferentes. ¿Sabrías cómo hacerlo? Hay varias formas de llegar a ello, pero te daré alguna pista: puedes hacerlo a través de disfraces... o cambiando el color, en apariencia, una vez has creado y colocado el clon.
  • Como en otros juegos, otra de las posibilidades de ampliación en este caso consiste en crear un ranking de los mejores jugadores, aquellos que más lejos hayan llegado.
  • ¿Y qué tal añadir sonidos? Es muy fácil hacerlo, por ejemplo cuando la pelota toca la barra o cuando se destruye uno de los bloques.
  • Nuestro 'clon' de Arkanoid se parece en la jugabilidad al original, no tanto en la parte estética. Puedes modificar y añadir los objetos para que se parezcan al juego original en todo lo posible.

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!

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.