Construct 2 – Do you wanna build a game ?

Construct 2 es una herramienta para la creación de juegos, es un framework de desarrollo de juegos 2D basado en javascript. Como toda herramienta tienes sus pros y contras que iremos detallando durante el transcurso de este post.

Primero que todo tenemos que tener bien en claro que Construct 2 permite desarrollar juegos en 2D, si lo tuyo es el 3D, el isométrico o el 2.5D te recomiendo que uses otra herramienta, ya que esta no está orientado a esto. Por otro lado, tenemos que tener en cuenta que Construct 2 es una aplicación que se puede utilizar sin saber programar, ya que todas las tareas se efectúan de manera gráfica, arrastrando y soltando. Algunos dirán que esto no es bueno, que no puede hacerse nada profesional con esto, pero les comento que sí, se pueden hacer cosas muy buenas y profesionales, siempre que nos mantengamos dentro del target de la herramienta.

Conceptos Básicos

Antes de comenzar a trabajar con Construct 2 debemos entender los conceptos de la misma, para darnos una idea como organizar y diseñar nuestro trabajo. Estos conceptos son:

  • Layout: Un layout es un diseño de objetos preestablecido, tal como un nivel, un menú o una pantalla de carga. Cada layout tienen asociado un Event Sheet y tiene como mínimo un Layer. El layout puede tener porciones que no son visibles, o que eventualmente se harán visibles (por ejemplo, cuando se vaya moviendo en un nivel).
  • Event Sheet: Un event sheet es una lista de eventos, que pueden estar asociados a uno o más Layouts. En ella se definen las condiciones del juego, tales como colisiones, creación o eliminación de objetos, definición de score, condiciones de ganar / perder, etc.
  • Layer: Un layer es una capa en un layout, cada capa tiene una serie de objetos definidos. Varios layers pueden mostrarse en un mismo layout, organizándose como una pila dentro del mismo, siendo los mayores visibles por sobre los menores.
  • Objetos: Los objetos son los elementos / componentes del juego, son los sprites, textos, sonido, estructuras de datos, etc. que componen nuestro juego. Cada objeto tiene una serie de propiedades que dependen del tipo (sprite, texto, etc.), y pueden tener behaviors asociados. Todos los objetos deben ubicarse en un layer específico.
  • Behavior: Son comportamientos que se asocian a un objeto, como un fade, movimiento, física, etc.

Con todos estos elementos en mente deberemos diseñar nuestros juegos. Si vemos cualquier juego, podremos identificar claramente los elementos, tal como lo mostramos en el siguiente ejemplo:

mario_c2

El Layout es todo el nivel, con todos los layers, objectos y eventos, incluso las partes del nivel que todavía no son visibles.

Podemos identificar 3 Layers, como el background (arboles y cielo), las nubes que se mueven y el layer donde está el jugador, los enemigos, monedas, etc.

Los Objetos son claramente visibles, como Mario, los enemigos, monedas, nubes, bloques de pared, etc.

El Event Sheet es la lógica que está por detras de esta pantalla que nos define los eventos del juego, tales como cuando agarramos una moneda, definiendo cuantos puntos sumamos y que la moneda desaparezca, así como también cuando somos alcanzados por el enemigo, determinando que volvemos al inicio de la pantalla y perderemos una vida.

Cada Objeto en este juego tiene Behaviors tales como el movimiento de cada enemigo, el movimiento del jugador principal, los bloques de pared son impasables, el movimiento de las nubes, etc.

Algunas Ventajas

Un elemento importante a tener en cuenta es que Construct 2 nos provee de forma nativa una serie de objectos y behaviors, los cuales sirven para las tareas básicas de un juego. A veces, estos no son suficientes y necesitamos de objetos que no están provistos por la herramienta, como un contenedor cambas o un behavior para animaciones tween. Ante esta problemática es donde surge una gran fortaleza de esta herramienta, que consiste en la posibilidad de extender / agregar objetos y behavior a los ya existentes. Existe una gran comunidad que ha creado centenares de “plugins” que agregan nuevas funcionalidades, y si nos gusta programar podemos crear las nuestras, ya que estos elementos están escritos en javascript.

Otra ventaja importante de Construct 2 es la capacidad de exportar nuestros juegos a diversas plataformas, ya sean de escritorio (Linux, Windows, OSX), móviles (Android, iOS, Windows Phone) o web. Aunque vale la pena destacar que para ciertas plataformas se necesitan aplicaciones de terceros como Node Webkit (NW.js) o Intel XDK.

Algo importante que vale la pena resaltar es el formidable sitio que provee Scirra, la empresa creadora de la herramienta, en el cual podremos encontrar un extenso y completo manual, así como la posibilidad de descargar una extensa cantidad de juegos de ejemplo o comprar assets para nuestros juegos, creados por cualquier usuario de la comunidad.

Conclusiones

Construct 2 no es la mejor herramienta para el desarrollo de juegos, pero es sencilla, fácil de usar, con una curva de aprendizaje reducida y que trabaja muy bien para aquello para lo que fue pensada y creada. No vamos a crear el próximo Call of Duty, pero es la herramienta ideal para introducirnos en el desarrollo de juegos 2D, ya sea un side-scrolling, platformer o similar.

Tags

Access top talent now!

Related

Get in Touch