Anuncios

Bienvenidos sean a este post, hoy comenzaremos una serie de posts para ver de forma teorica como diseñar un juego.

Anuncios
Anuncios

En esta serie de posts nos centraremos en la parte del backend de un juego, es decir en la parte encargada de crear y manejar los componentes de un juego. En este caso, «crearemos» un juego de estrategia. Le permitiremos al jugador crear las unidades (trabajadores, soldados) como asi tambien los edificios y poder combatir contra el enemigo. Sin importar, el tipo de juego siempre tendran componentes en comun, un ejemplo son las fisicas del juego que permiten dar la impresion de un juego mas real e inmersivo para el jugador. Otros que tenemos son las mecanicas de deteccion de colisiones, el sistema de audio, y la parte grafica, asi como otros no tan comunes o unicos dependiendo del tipo de juego.

Anuncios

Una de las cosas a tener en cuenta al momento de diseñar un juego es como lo haremos. Hacer el game engine y el juego por separados o una aplicacion que vincule a ambos y los represente en un solo resultado. De estas opciones comentadas, la mas recomendada es la primera porque permite ser extendida para futuros lanzamientos e inclusive para otros juegos. Porque no debemos olvidar que los videojuegos contienen mecanicas similares entre si y solo cambian sus conceptos o historia.

Anuncios
Anuncios

Pasemos a comentar sobre el juego, el jugador comienza con una cantidad limitada de recursos. Estos pueden ser usados para construir edificios para los personajes del juego. Los personajes estaran divididos en dos tipos de unidades, lectores y soldados. Los lectores son los encargados de crear las libreria y los otros edificios. Por cada libreria construida podremos contener 10 lectores, si el jugador mueve 10 lectores a la misma despues de una X cantidad de tiempo se genera un profesor. Este va a ser una unidad mas poderosa y podra destruir tres soldados a la vez, y a su vez nos permite crear mejores armas para nuestros soldados. Comenzaremos con un sola casa, dos soldados y tres lectores. Esta casa produce un nuevo lector cada cinco minutos. A su vez, estos lectores pueden hacer nuevas casas para producir mas lectores, y tambien podemos construir barracas para crear mas soldados. El objetivo sera construir cinco librerias, las cuales generaran al menos un profesor, y el jugador debera defender estos edificios y lectores durante el juego. A los enemigos los denominaremos como perturbadores porque su principal objetivo es perturbar a los lectores de su meta principal: estudiar en las librerias.

Anuncios

Con la base de nuestro juego comentado, hablemos sobre los distintos componentes del mismo. Los componentes mas basicos son: soldados, lectores, edificios y un mapa. El mapa sera el encargado de almacenar las coordenadas para cada objeto en el juego. En este post, mencionamos que una parte del diseño de un programa era descomponer en diferentes entidades, procedamos a aplicarlo en el diseño del juego.

Anuncios

El juego contiene los siguientes personajes que denominaremos como unidades:

  • Lector
  • Soldado
  • Profesor
Anuncios

Y estos van a ser nuestros edificios:

  • casa
  • libreria
  • barraca
Anuncios

A su vez, cada personaje contenddra sus propiedades:

  • Puntos de vida, un entero que decrece con cada ataque recibido
  • Poder, un entero que define la cantidad de daño que causa
  • Tipo, define si es un lector, soldado o profesor
Anuncios
Anuncios

Los puntos de vida van a tener un valor inicial que dependera del tipo de personaje. Por ejemplo, un lector tendra un valor inicial de 10 pero un soldado en cambio sera de 12. El poder como mencionamos es la cantidad de daño que causa a la unidad atacada, supongamos que el soldado causa un daño de tres. Este decrementa los puntos de vida por cada ataque y una vez que se alcance o supere el valor de cero podemos considerarlo como eliminado. Esto mismo se aplica a los edificios, si bien va a tener un tiempo de construccion cuando este se termine tendra sus puntos de vida. Y al igual que un personaje, cada vez que reciba un ataque este decrementara la vida del mismo y cuando sea cero se considera destruido. Veamos las propiedades que debe disponer:

  • Puntos de vida, idem a unidad
  • Tipo, idem a uunidad pero define si es una casa, libreria o barraca
  • Tiempo de construccion, el tiempo que lleva levantar el edificio
  • Tiempo de produccion de unidad, el tiempo que le lleva crear su respectiva unidad
Anuncios

El tiempo de produccion de unidad, como mencionamos sera el tiempo que tarda en crear una unidad del tipo de edificio. Veamos las siguientes posibilidades, una barraca tardara alrededor de tres minutos crear un soldado, una casa tardara cinco minutos en crear un lector y la libreria unos diez minutos para un profesor.

Anuncios
Anuncios

Con nuestra descomposicion de los distintos componentes de nuestro juego, el siguiente paso es la interaccion entre ellos. Una de las interacciones que mencionamos es que los lectores se encargan de crear los distintos edificios, y debemos tener un cierto cuidado porque a su vez tienen un tiempo de construccion. Por lo tanto, si un lector esta ocupado construyendo un edificio debemos asegurarnos de medir el tiempo para que el edificio se finalice en el tiempo correcto. Sin embargo, podemos mejorarlo permitiendo que mas de un lector intervenga en la construccion, lo cual afectara al tiempo de construccion, haciendola mas rapida. Tomemos como ejemplo la construccion de una barraca, si lo hace un lector le llevara alrededor de cinco minutos pero si usamos dos este tiempo se reducira a la mitad, y mientras mas agreguemos mas corto sera el tiempo.

Anuncios

La siguiente interaccion van a ser los ataques. Cuando una unidad es atacada por enemigos, esto decrementara la vida de la misma. Si es una unidad esta puede atacarla para defenderse, y a su vez debemos tener en cuenta si son mas de un atacante enemigo o una unidad nuestra y sabe como manejar la disminucion de los puntos de vida de cada uno de ellos. Otro tema a definir es el tiempo de ataque, debemos evitar que sea muy rapido y agregar una demora entre ataque, por ejemplo podemos agregar una demora de un uno o dos segundos.

Anuncios
Anuncios

La interaccion anterior es una pequeña dentro de una muy grande como es la del juego en general. Esta la podemos separar en dos grupos: la del usuario y la del juego. La primera es la controlada por el usuario y la segunda es completamente automatica y controlada por el juego en si. Esto implica que tambien debemos definir el ciclo de vida de los enemigos. Con todo esto comentado, podemos decir que el juego se encarga automaticamente de crear lectores, estos a su vez crearan los distintos edificios disponibles en el juego. Los soldados tienen la responsabilidad de defender tanto a los lectores como los edificios, y cada cierto tiempo se reagruparan para atacar a otros reinos. Nuestro objetivo sera crear un juego que permita al jugador crear su imperio. Sin embargo, el juego debe crear a los enemigos para que el juego sea completo. Esto implica que el usuario debera enfrentar ataques del enemigo cada cierto tiempo, y que el enemigo debe evolucionar construyendo mas edificios y mas unidades.

Anuncios

Antes de finalizar, les dejo un listado de los distintos tipos de diseño y patrones que deberemos tener en cuenta como base para crear un juego:

  • Diseño de las unidades
  • Diseño de los edificios
  • Diseñando los controles del juego
  • Acciones concurrentes
  • Loop del evento juego
  • Patron de comando
  • Patron observador
  • Patron flyweight
  • Patron prototipo
Anuncios
Nota:
A medida que vaya subiendo los posts los ire vinculando con esta lista.
Anuncios

En resumen, hoy hemos visto como es el diseño teorico de un juego, en que consiste, la descomposicion de sus entidades, cada propiedad de las mismas, asi como algunas de las interacciones que existiran en el mismo, pero esto es solo el comienzo en los proximos posts nos ahondaremos mas en este tema. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50