Implementando el diseño

Una de las partes críticas a la hora de hacer un prototipo, es implementar todo aquello que hemos estado pensando, definiendo y escribiendo en nuestro GDD (abreviatura de Game Design Document o en castellano: Documento de Diseño del Juego).

Pero, ¿por dónde empezar?, ¿qué hay que programar primero?, pues con este post la idea es contestar a estas preguntas.

Lo más importante de un prototipo no es que se vea bien, ¡¡es que sea DIVERTIDO!! :D, al fin y al cabo es un juego lo que estamos haciendo y para ello tenemos que buscar cuál es el MVP de nuestro juego, “MVP” son las siglas de “Mínimo Valor de Producto” (no Most Valuable Player xD), que en este caso se define como “aquellas mecánicas o cosas que el juego necesita obligatoriamente para poder tener una idea de cómo será éste una vez esté terminado”. Por poner un par de ejemplos, el MVP de Minecraft sería programar el movimiento por el mundo y que puedas quitar y poner cubos, o el MVP del Mario Kart sería que pudieras conducir por los circuitos y que se pudieran usar objetos. Todo lo demás, equilibrar el juego, añadir opciones, modelar el escenario, hacer el diseño del nivel, es prácticamente secundario a la hora de prototipar, ya que lo que nos interesa es que funcione y que sea divertido.

La idea es que cuanto menor sea el MVP, mayor provecho podremos sacar de nuestro juego, ya que todo el trabajo que hacemos una vez hemos cumplido el MVP será sólo para mejorarlo, por que lo principal estará terminado. De manera que como os podéis imaginar, hay juegos cuyo MVP es muy inferior (dado que se tarda muy poco en programar y la idea es muy simple), los juegos mencionados antes son un ejemplo de esto, pero estoy seguro de que juegos más complejos, como el Sid Meier’s Civilizations V o Europa Universalis tardaron meses en cumplir su MVP.

En el caso de Vault Bandits y tras unos cuatro meses de trabajo a ratos (y con medio personal trabajando en Unity), se puede decir que hemos cumplido con el MVP. Ya que te puedes mover con los personajes principales, disparar, hacer acciones, infiltrarte para cumplir las misiones, y aunque no tengamos IA (que es MUY importante), siempre podemos manejar a los malos para hacernos una idea de cómo quedará el juego.

Para implementar todo esto, el orden  fue más o menos el siguiente, partiendo por lo más importante a lo que menos:

  1. El movimiento: Dado que teníamos un movimiento basado en D&D, y que tenemos un mapa cuadriculado, necesitábamos que el sistema funcionara lo más pronto posible, por un lado porque necesitamos saber cómo localizar a los distintos actores dentro del mapa, y segundo porque teníamos que estar seguros de cómo sería el sistema, para poder modelar adecuadamente los edificios que pueblan el mapa.
  2. Acción de atacar: Lo segundo que nuestro juego necesitaba era que los personajes pudieran disparar, un sistema de equipado de armas y de daño aleatorio según el arma equipada y, por supuesto, lo debían poder usar tanto los protagonistas, como el resto de NPCs del juego.
  3. Habilidades: Ésta es quizás la que más tiempo nos ha llevado de todas las tareas, y es que cada personaje tiene habilidades muy distintas, que usan combinaciones de casi todos los scripts que hemos hecho, pero lo bueno es que una vez están programadas, ya hemos construido la base para que el resto de cosas sea mucho más fácil de implementar. Aun así, dado que hay habilidades que afectan a la IA, aún nos queda un largo proceso, pero por suerte tenemos unos buenos cimientos sobre los que no tardaremos mucho en construir el resto del juego.

Y bueno, estos fueron los aspectos fundamentales. Obviamente, no estoy incluyendo todo el tema de correción de bugs, que a lo largo del desarrollo crecen y se multiplican como conejos, y como no vayas parando de vez en cuando para corregirlos, te puedes encontrar tras unos meses con un prototipo más inestable que un flan en un terremoto.

Espero que os sirva y que si tenéis una idea, no empecéis a programar vuestro juego por el tejado (¡¡aunque el tejado mole mucho!!, porque necesita paredes y un suelo para que no se caiga jajaja).

¡Un saludo y nos vemos en el próximo post! 😀

Anuncios

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