sábado, 25 de junio de 2016

Game Jam de un Semana

Desarrollar un videojuegos es complicado, una manera para mantener las habilidades a filo es el desarrollo rápido de un prototipo, todo listo de principio a fin mediante un GameJam.

El objetivo es hace un prototipo funcional de un juego, sin preocuparse en los detalles o artes, tratando de lograr que se pueda comprender y disfrutar para los jugadores.

En este post haré un resumen de un videojuego que desarrolle en una semana en el 2012, espero que lo encuentren interesante.


Del 28 de mayo al 2 de junio, hice un prototipo de un juego, clónico de Adventure de 1979 de Atari, el primer Top-Down de calabozos con elementos RPG, así fue como lo desarrolle.

Antes de iniciar, la regla es "crear un juguete", un objeto al que se le puede dar un fin lúdico sin importar su forma simple, de esta manera podemos crear mecanicas que podemos evaluar rápido si vamos por el rumbo correcto.

Las reglas del juego se definen a continuación:
  • Escapar del calabozo.
  • Abrir puertas con la llave que corresponde. 
  • Derrotar o evadir los dragones del calabozo.



Como herramientas de desarrollo para este proyecto, usamos Unity y Blender pues me siento cómodo con ambas aplicaciones de software, en materia de Game Jams, se recomeinda siempre usar herramientas con la que te sientas cómodo.

De ahora en adelante resumo el proceso de la semana en estos pasos, todos estos eventos se dieron de manera traslapada, es decir, no hay un fin o inicio exacto entre cada proceso por retocar las cosas para que queden correctamente ajustadas.

Día 1 - Preproducción.

Sabemos lo suficiente de las mecánicas para hacer algunos bocetos, los mismos ayudan a plantear como resolver el código. De los bocetos hacemos los modelos 3D usando un estilo de bajo poligonaje (lowpoly count).

Hacemos 5 objetos 3D:
  • Un héroe
  • Un dragón humanoide
  • Puerta
  • LLave
  • Laberinto

Día 2 - Jugabilidad básica

La mécanica escencial es "Para cada puerta, existe una llave", esta debe ser comprendida por el jugador de la manera más rápida posible.

En este día se programa que el personaje se mueva, recolecte una llave y con la misma pueda abrir una puerta.



Día 3 - Escenario

Como nuestra referencia principal es Adventure de Atari, modelamos y ubicamos las puestas y llaves en este escenario como base.









Día 4 - Personajes

Cuando la mécanica del juego esta completa, es decir, es claro que el juego se trata de irse del calabozo abriendo puertas, toca trabajr los personajes.

Estrategias de diseño de ambos personajes:
  • Bajo conteo de poligonos en los modelos 3D ahorra mucho tiempo, se enfoca en siluetas y se pinte con colores que resalten mucho.
  • UV en espejo es una técnica de pntado rápido de persoanjes para juego, se debe hacer con mucho cuidado.

Nuestro héroe:






Dragón:




Día 5 - Rigging & Animation

Animación de calidad toma tiempo y un habilidoso animador para que cada personaje realice los movimientos, considerando que esto es un Game Jam con limitís de tiempo complicados, esto es una tarea muy dificil de complir, así que usar MoCap no es una mala idea, esas animaciones las obtenemos de CMU Graphics Lab Motion Capture Database.

Blender necesita archivos ACM de Mocap, para ello debemos activar el plugin para importar estos archivos, más información de este plugin en este Link.



Unity utiliza estos archivos en FBX, por lo que necesitamos que blender los exporte después en FBX.

Los personajes deben tener sus sistemas de movimientos en un orden caracteristicos del mocap, ese mismo orden es empleado en Unity Mecanim, CMU Graphics Lab Motion Capture o Mixamo por mencionar algunos.

De esta menara se puede realizar Retargeting con el personaje, Unity tiene una buena documentación al repecto a cerca de conveciones en los nombres.

La siguiente imagen te da una reseña de el proceso de Unity Mecanim en Unity:



El objetivo es configurar de manera rápida el esqueleto que usará la maquina de estados de Mecanim, esta define el orden de las animaciones y sus estados, incluso interpola trancisiones desde código para manejar transiciones.



Cuando el proceso esta bien implementado, los personajes esta completamente animados en solo un día, esta tarea puede haber tomado una semana.

La calidad de la animación es baja y no esta adecuada a los personajes, sin embargo, en un Game Jam el objetivo es prototipary crear cosas nuevas, no se trata de crear cosas perfectas.

Día 6 - Enemigos

Usando el sistema de navegación que se encuntra dentro de Unity, el personaje enemigo dragón, busca y persigue al jugador en un rango determinado, reproduce 3 animaciones: la primera es "en espera", la segunda es "persecición" y la tercera es "atacar".

La persecusión se activa cuando esta lo suficientemente cerca, una vez que estan juntos se inicia la reducción de vida mientras la animcación de atacar es reproducida.

Día 7 - Compilación final

Se incluyen las ventanas de titulo, tutorial, parida gana y perdida, muy rápido y carrereadas, pero efectivas para lograr el MVP.

Con las escenas lista para compilar, se crea la versión ejecutable, para el programador, animador y diseñador Juan Navarro, es tiempo de dormir.


Resultado final

La versión original de este proyecto, hecho en 7 días, la pueden encontrar en http://npmaudiovisual.com/escape/

Si llegaste a leer hasat aquí, te invito a hacer un Game Jam de una semana y publicar tu proceso, compartir ideas con tus amigos, explorar como lograr hacer un MVP y presentarlo a un público que lo juegue.

Gracias por leer este post y espero que les haya sido últil. Qué disfruten de Adventre/Escape.

No hay comentarios:

Publicar un comentario