Spidey Developer: Primeros pasos con Allegro

En la anterior entrada de esta temática comentaba que había decidido comenzar esta idea empleando la librería Allegro. Tras buscar un poco por su wiki encontré un videotutorial bastante interesante sobre el desarrollo de juegos en 2D con Allegro hecho por un tal Mike Geig, que está accesible aquí.

Este tutorial introduce los diversos componentes de la librería Allegro, desde lo más básico, como puede ser la creación de ventanas de un determinado tamaño en el sistema operativo, las primitivas básicas para crear gráficos o cómo manejar la interacción con los usuarios a través de periféricos de control típicos como ratón y teclado. Además, también trata algunos temas genéricos como la animación de sprites, el tratamiento de colisiones y las diversas formas en las que se puede llevar a cabo o el uso de máquinas de estados para controlar el comportamiento del juego y sus elementos.

Como ejemplo durante el  tutorial se crea un típico juego matamarcianos con vista lateral en el que el objetivo es destruir el mayor número posible de asteroides que avanzan irremediablemente hacia la Tierra. Aunque tenía una idea vaga para un posible juego, ver éste y que era realmente sencillo de programar, pensé que, ya que el tutorial me facilitaba mucho el trabajo y el esfuerzo, lo mejor era empezar por un juego de este estilo para después apuntar más alto. Además, esta decisión hizo que se me ocurrieran nuevas ideas para combinar con las que tenía de antes.

Cuando decidí empezar a hacer un shooter clásico espacial me acordé de un juego con el que me divertía en el MAME hacía tiempo. Un juego que no tenía nada de especial pero que me había llamado la atención porque se manejaba un robot controlado por un humano que se podía combinar con otro (desde siempre me han apasionado) y con el que te enfrentabas a una invasión extraterrestre (historia nada recurrida en el género :D). Me costó encontrar el juego porque no me acordaba del nombre pero al final conseguí dar con él. A continuación enlazo un vídeo con un gameplay del Side Arms Hyper Dyne, de Capcom .

Así que, tras ponerme manos a la obra he llegado hasta aquí y he grabado un pequeño vídeo en el que se puede ver lo super básico que es el juego por ahora (sí, soy muy malo y con vidas estaría muerto en nada):

Los cambios realizados sobre el tutorial son mínimos: básicamente estuve jugando un poco para probar las primitivas gráficas con el objetivo de crear el robotito que se controla y cambié parcialmente el control para poder alternar el disparo apuntando con el ratón sin mover la nave con una pequeña cruceta, a modo de elección de arma alternativa. Los controles son muy simples: se mueve el robot con las teclas W, A, S y D, como es común, se alterna entre los dos tipos de “armas” pulsando la tecla Q, se dispara con el botón izquierdo del ratón y se apunta la cruceta también con el ratón.

La detección de colisiones es muy básica y sólo tiene en cuenta si se encuentran dos rectángulos que rodean a los objetos robot, bala y asteroide. Cuando una bala le da a un asteroide se destruye y lo mismo cuando un asteroide le da al robot, aunque en este caso se pierde una vida, al igual que si un asteroide consigue atravesar intacto toda la pantalla.

En el tutorial se hace todo con programación procedimental clásica así que ahora mismo lo estoy pasando todo a clases para que sea más sencillo de manejar  y para añadir fácilmente nuevos objetos, armas, etc. Para la próxima entrada sobre juegos a lo mejor me animo a meter algo de código por si a alguien le apetece probar algo, incluso un mini tutorial si me veo con ánimos🙂.

Un saludo de vuestro amigo y vecino.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s