domingo, 19 de julio de 2015

Juego: Snake Bite [Software]

Como había comentado en un artículo anterior, participe por primera vez en un evento llamado Global Game Jam 2014, un evento en el cual se da a los asistentes la oportunidad de crear con su ingenio un vídeo juego. Ese año mis intentos no resultaron como yo había esperado en un principio al punto de no completar de manera satisfactoria, pero aprendí mucho de aquella experiencia. Un año después me inscribí a la siguiente edición del mismo evento, el Global  Game Jam 2015 donde puse aprueba tanto lo que había aprendido en el evento anterior como lo que había aprendido por mi parte en el último año.

En esta ocasión tratamos de enfocarnos en la idea más simple que se nos ocurriera, esto con el objetivo de no tener expectativas imposibles de alcanzar, teniendo tiempo tanto de depurar la idea como de agregar detalles de todos los tipos al proyecto a trabajar. La idea termino siendo un runer (un juego donde recorres un camino y evitas obstáculos), la idea a trabajar fue tan, pero tan simple, que incluso teníamos la idea de que podríamos crear otras mecánicas y crear un juego formado con 2 o 3 mini juegos con la misma historia... Pero sorprendentemente, incluso con una idea básica, gastamos aproximadamente 45 de las 48 horas en terminar satisfactoriamente el proyecto que nos propusimos.

A continuación contare la experiencia que tuve como parte del equipo de desarrollo, con mi tarea principal de programador, de este juego como los pasos y consideraciones que nosotros decidimos tomar para lograrlo.Primero empezamos por idear una idea o historia básica que nos permitiera una construcción de arriba a abajo (primero la historia y luego las mecánicas) inspirado en la frase de "What do we do now?" (¿Que hago ahora?), frase tema del evento de este año.

La historia relata a un guardabosque que mientras caminaba en el bosque es mordido por una serpiente venenosa. ¿Qué hago ahora? En la caseta de vigilancia tiene antídoto, deberá correr hasta halla antes de que el veneno lo mate... pero correr a mitad del bosque tampoco es seguro.
Una vez estipulado eso, empezamos con las mecánicas del juego, un personaje que corra, acción para acelerar, alentarse, saltar y barrerse. Cada uno con una función en el juego. Acelerar permite llegar a tiempo a la meta, alentarse permite tener más tiempo para actuar con los obstáculos, saltar para evadirlos (los más largos solo se pueden mientras corren) y barrerse para evitar otro tipo de obstáculos. Simple ¿O no?

Aunque las ideas eran simples, su implementación fue más tardada de lo que pensé. Para el salto se utilizaron algunas fórmulas físicas para modelar los saltos, se tuvieron que calibrar la altura saltada tanto como la distancia a mano para luego adecuar los obstáculos una vez que las distancias estaban establecidas. El salto y la barrida tuvieron sus dificultades especiales ya que el juego no tenía ninguna complicación si se podía saltar en completa libertad, para esto se le agrego una regla en la cual después de saltar, tenía que haber una espera de 1 segundo para volver a hacerlo (No parecía lógico que se pudiera estar saltando 100% del tiempo a máxima distancia sin correr un poco) y con respecto a la barrida, tenía que durar solo por un par de segundos (no parecía lógico que pudieras avanzar rápido barriéndote sin frenar nunca). Parecerán detalles en este momento, pero pensar, planear, crear y probar esas reglas llevo casi toda una noche.
Uno de los últimos detalles que se agregaron dentro de la programación fue el hecho de que el nivel a jugar se generara al azar, esto evitaba que el juego fuera predecible al hacer que los obstáculos se generaran al azar en tiempo real. No era divertido que los obstáculos siempre aparecieran en el mismo orden.
Dejo a continuación los enlaces de descarga para que puedan probar y jugar el juego que realizamos. Quizás sea extremadamente simple pero tengo que decir que quede bastante complacido por el resultado final que logramos en tan poco tiempo así como el enlace a la página del proyecto.
Por ultimo un agradecimiento a los integrantes del equipo en el que participe con este proyecto en el Global Game Jam 2015.

No hay comentarios.:

Publicar un comentario