10 de Marzo, 2014

Alien Gamma

Ayer publiqué Alien Gamma, mi segundo juego dentro del reto one game a month, que corresponde con el mes de Febrero (aunque con unos días de retraso).

Hay diferentes motivos para el retraso: es un juego muy ambicioso para este tipo de reto (en un mes), empecé tarde porque no sabía qué hacer hasta mitad de mes y porque... ¡esto es una actividad a tiempo parcial!

Se trata de un shooter-platformer o, lo que es lo mismo, un juego de salta y dispara, influenciado por juegos clasicos como Alien Syndrome o Contra. Todo empezó porque buscando inspiración me puse a ver vídeos de juegos viejos a los que jugué hace años, y por algún motivo acabé en un vídeo de la versión arcade de Rastan Saga.

La verdad es que Rastan no es un juego genial (siempre me ha hecho gracia que el protagonista sea un guerrero que si toca el agua, muere :P), pero tiene muchos elementos del género bastante bien implementados para la época, y la música me encanta. El caso es que empecé a analizar cómo funciona el juego, del que se puede aprender mucho, y pensé: algunas de esas cosas no son tan difíciles de hacer, ¿no?

De ahí a ver algunos vídeos de Contra, Midnight Resistance (inspirado en el primero), Green Beret y Megaman varios; y me puse a dibujar sprites para el juego. Es curioso como tener un nombre ayuda a arrancar (lo mismo hice con Flax: empecé con la pantalla del título).

Jugando a Alien Gamma

Desde luego que es un juego demasiado ambicioso para un mes -eso estaba claro-, y además empecé tarde, así que decidí hacer algo, y si resultaba divertido siempre podré hacer una secuela más amplia en el futuro (empezando el primer día del mes, mucho mejor). Por este motivo he tenido que simplificar muchas cosas (por eso más que Contra, es digamos muy Megaman, por tener que limitar los movimientos; ¡no se puede disparar en 8 direcciones!).

Aún con los recortes obligatorios, me lié a implementar algunas cosas que son bastante complicadas (como las plataformas móviles en vertical, mucho más difícil que las horizontales), pero que al final han resultado bastante bien (aún con algún glitch de vez en cuando). Sin esas plataformas los niveles hubieran quedado más limitados en estructura y en cuanto a posibilidades de platforming (saltar de aquí para allá).

La premisa es sencilla: la base espacial Gamma pide ayuda después de que unas criaturas hostiles aterrizan accidentalmente cerca de la base. Nuestro personaje tiene que recorrer los diferentes niveles liberando a los colonos atrapados en una especie de capullo alienígena, con la inestimable ayuda de su rifle de plasma ;).

Así que los los componentes del juego son por una parte hacerse con el mapa y encontrar a todos los colonos (hay un contador en pantalla que nos indica cuántos faltan por rescatar), y por otra acceder a ellos saltando entre plataformas y ascensores, siempre evitando que los alienígenas nos maten (el componente shooter). Comparado con otros juegos del género, el desarrollo de las escenas no tiene porqué ser lineal (y no lo es, es posible incluso perderse buscando ese último colono que nos falta por liberar).

He repetido Javascript y canvas, que ha resultado muy conveniente en este caso para cargar los mapas de Tiled en formato JSON (aunque implementar un viewport y el scroll es tan lioso como siempre :D).

También he vuelto a usar SoundJS de CreateJS, que es una pasada y simplifica mucho la gestión del audio; porque esta vez sí hay música de fondo, que he creado con Schism Tracker (una reimplementación bastante buena de Impulse Tracker que soporta Linux). En general creo que he conseguido un par de melodías de fondo que ambientan muy bien el estilo de juego y dan ese feel de juego clásico.

Para el mes de Marzo (que ya lleva retraso), voy a probar a hacer un port de Flax a alguna plataforma móvil, ¡a ver qué sale!

Anotación por Juan J. Martínez, clasificada en: programming, javascript, 1gam.

Hay 4 comentarios

Gravatar

Si a ti te hace gracia que Rastan toque el agua y muera, a mí me hace gracia que el muñeco de Alien Gamma salte y se suba a la plataforma en vez de darse con ella en la cabeza. X-DDDD

por un visitante, en 2014-03-12 19:32:36

Gravatar

Rememorando viejos tiempos con Alien Gamma, ha quedado muy principio de los noventa!! Me gusta amigo

por Garb Venom, en 2014-03-13 18:45:28

Gravatar

Te ha quedado muy vistoso, me encantan esos juegos toque retro que me devuelven a unos años atrás. Por cierto, una curiosidad porque todo el mundo está hablando de ello… ¿has probado o piensas en probar Unity?. Imagino que, como todo, tendrá sus ventajas e inconvenientes, pero en principio “vale” para hacer release en navegador y distintos dispositivos móviles ¿o estoy equivocado?.

por r0sk, en 2014-03-18 11:06:54

Gravatar

¡Gracias!

Unity es una herramienta muy interesante; especialmente porque permite a gente que no programa (diseñadores, artistas); “programar” videojuegos. Ojo que también se puede usar en modo hardcore para hacer cosas bastante profesionales.

Eso ha permitido que estudios pequeños saquen productos de mucha calidad con pocos recursos, y ha ayudado mucho a la moda indie y “DIY” en videojuegos (junto a Game Maker o Construct 2).

Además creo que está beneficiando mucho a Linux como plataforma para jugar porque muchos estudios soportan Linux solo por que Unity lo hace, sin muchos costes extra, y eso es bueno porque ¡más juegos! :)

Dicho esto, no es una herramienta para mi (muy GUI), pero es indudable que para prototipos es muy efectiva (solo hay que ver lo que hace la gente con Unity en solo 48 horas en competiciones como la Ludum Dare, una pasada).

por Juanjo, en 2014-03-18 13:17:51

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: