viernes, 27 de diciembre de 2013

Creyendome desarrollador con construct2 - Parte 2

Retomando la segunda parte de mi mini-juego, ahora explicare como hacer un escenario 2d para un juego de tipo arcade. Tal como dije en el post anterior, me basare en el ejemplo de esta página y publicaré los detalles que me parecieron más importantes y/o que no aparecieron en dicho tutorial.

Como se trabaja en Construct2:
En construct2 se trabaja mediante capas de forma similar a los editores de imágenes donde cada capa se superpone a la anterior , lo que resulta cómodo ya que se puede separar el paisaje de fondo (una imagen estática) de los personajes (imágenes con movimiento) y de otros objetos como el ‘score’ ( imágenes siempre presente en pantalla).

Creando un paisaje
La forma de crear una paisaje de fondo es usando una sprite que cubra todo el tamaño de una capa o bien una imagen de largo más pequeña pero que construct2 concatena automáticamente el final de ésta con el inicio de sí misma para darle la sensación de continuidad.
Otra modificación que podemos hacer es reducir el tamaño de la pantalla visible “window Size” (que puede ser de igual o menor tamaño que la capa), de esta manera el ambiente jugable será más grande.



Cómo interactúa mi personaje
Lo que diferencia a los objetos como muros, plataformas, piso y personajes del paisaje de fondo es que estos pueden colisionar, es decir, que no pueden traspasarse unos con otros. para esto en construct2 se puede darle a los objetos la propiedad de “sólido”.
Imaginemos por ejemplo a nuestra gota ( el personaje creado en el 
post anterior) tratando de cruzar una muralla, si la muralla no fuera un objeto de tipo “sólido”, la gotita simplemente traspasaría la pared en vez de buscar otra manera de resolver el obstáculo, no habría desafío ni diversión entonces.
Creando el piso
Ya que nuestro personaje choca con objetos sólidos y traspasa los no sólidos, entonces deberíamos encontrar la manera en que la gotita no caiga indefinidamente. En el tutorial base, el juego consistía en saltar por plataformas y si nos caíamos entonces perdíamos. En mi mini-juego quería que mi personaje caminara por la tierra del paisaje. La forma de solucionarlo fue añadiendo un bloque largo y transparente en la parte baja de la imagen de fondo donde quería que limitara el piso y añadirle la propiedad de sólido, de esta manera logré simular un suelo por donde mi personaje caminará.


Los eventos
Los eventos son acciones que pueden suceder en el juego cuando ocurra una determino suceso, por ejemplo si queremos que nuestro personaje camine cuando apretemos alguna flecha de nuestro teclado, entonces nuestro suceso sería la presión de una tecla y la acción sería el movimiento del personaje.

Personaje Caminando

Eventos de Construct2 para hacer caminar al personaje.

La forma en que definimos eventos en construct 2 es mediante la plantilla “Event Sheet” en donde estos se ejecutan de arriba hacia abajo y ya que además podemos agregar subeventos a otros eventos, se ejecutan primero todos los subeventos contenidos en un evento antes de ejecutarse el siguiente. Esto es importante ya que a medida que vamos haciendo más complejo el juego, aumentará el número de eventos que debemos añadir y sino lo hacemos de manera ordenada podría haber conflicto entre ellos.

Exportando un Juego
Hay múltiples plataformas a las que podemos exportar nuestro juego en la versión pagada (desktop y dispositivos mobiles ), la versión gratuita nos permite exportar a Html5, en la que podemos guardarlo en cualquier servidor Html como por ejemplo Apache o incluso en una carpeta de Dropbox. Yo elegí Dropbox y en el link siguiente el juego puede ser jugado:


Detalles para considerar

  • Al momento de exportar a Html5, puede que se demore demasiado, incluso que parezca que se ha quedado pegado, pero lo que puede estar pasando es que se esté demorando en la construcción de los mapas de sprites. en mi caso me paso que la imágenes que usaba pesaban mucho (mas de 1MB), me desespere un rato al creer que era un bug de la versión, pero luego probe con unos sprites más livianos y entonces se logró ejecutar. 
  • En la versión r146, al momento de bloquear un evento (tacharlo con una línea así para que éste no se ejecute) debemos además tachar cada subevento de éste ya que estos se seguirán ejecutándose y lo más probable es que cause problemas con las demás acciones.


Enlaces

viernes, 22 de noviembre de 2013

Construct2 y la aventura de creerme Desarrollador en 3 días. Parte1

En este post publicare mi aventura creyéndome diseñador de Videojuegos, como diseñe mi personaje y lo facil que puede resultar usarlo en Construct 2.

¿Porque Construct2?
Construct2 es una herramienta realmente fácil para empezar a aprender como hacer un videojuego. Tiene un enfoque “Drag&Drop” y sus variadas funciones permiten que los juegos se construyan rápidamente ya que nos permite enfocarnos en el desarrollo de la idea y dejamos de lado aspectos de programación o control complejo de eventos.
Construct2 funciona en base a sprites que son imágenes que representan cualquier objeto del juego como personajes, bloques o plataformas. Construct2 permite mover, arrastrar, o modificar los sprites y el desarrollo del juego se hace como si del diseño de una imagen se tratara.


Entonces antes de empezar con Construct se necesitan los Sprites
El método para hacer mi personaje es mediante un diseño de plasticina. Utilizando la técnica de Stop-Motion podemos definir todas la posiciones de las acciones “caminar” (9 sprites ) y “saltar” (6 sprites).

Las ventajas de uso de plasticina es que se obtiene un modelo 3D del personaje, por lo que para esta etapa de aprendizaje solo basta con la creación de un solo modelo y en base a este trabajar.
La dificultades esta en que se necesita mucha delicadeza para maniobrar el modelo y definirle la posiciones mas precisas posibles.
Con un visor de imágenes podemos ver la primera de ellas, y luego la que siguen como si fuera una secuencia, el personaje debería dar la sensación de movimiento.


Haciendo que el personaje camine.
Me base en el ejemplo de esta página, no voy a especificar todos los eventos que son necesarios para hacer que mi personaje se mueva con las flechas del teclado, solo las especificaciones que considero más importante para entender cómo se anima un sprite y algunos detalles que no se mencionan en el tutorial.

Como funciona un Sprite:

  • Cuando quiero que el personaje camine, debo hacer que en vez de la imagen estática, se muestren una secuencia de imágenes para dar la impresión de movimientos.
  • Cuando mi personaje deja de moverse, debo cambiar el loop de sprites por una única imagen de mi personaje estático.


Algunos detalles que no sale en el tutorial base.

  • Es recomendable usar sólo imágenes con fondo transparente, ya que la función de recorte de construct 2 no es muy buena.
  • Si al intentar darle movimiento la imagen no se mueve, podemos intentar aumentar la velocidad de cambio entre imágenes (speed). Aún no se bien porque sucede, pero después de hacerle algunas modificaciones propias al juego el loop dejaba de funcionar.



Termino por hoy, en la parte 2 de esta aventura con Construct2 publicare la creación de un pequeño Videojuego enfocándome principalmente en el manejo de las colisiones.
Saludos.

Referencias:
Construct2: https://www.scirra.com/
Tutorial de aprendisaje: https://www.scirra.com/tutorials/253/cmo-hacer-un-juego-de-plataformas/es
Sobre stop-motion: http://es.wikipedia.org/wiki/Stop_motion

Bienvenido a mi gameblog

Han pasado muchos años ya, desde mi infancia en los 90’, en aquella época cuando no tenia ni idea de lo que era Internet y en la tele veía por primera vez al niño con cola de mono llamado Goku. Recuerdo que la primera consola de videojuegos que jugué, era la típica versión pirata que venía con la asombrosa cantidad de 1000000 juegos (999990 de los cuales eran descaradamente repetidos), y que entre sus juegos más reconocidos estaban el “Super Mario bros”, el “Circus Charlie” y el juego en el que acercabas la pistola a la pantalla de la tele para matar patos (Duck Hunt).


Luego a un amigo le compran una Super-Nintendo y desde entonces conocí a “Mario World” y a “Donkey Kong”. El gran cambio entre esas dos consolas para mí fue la posibilidad de guardar las partidas, y por lo tanto, el gasfiter Mario por fin tendría una posibilidad real de rescatar a su princesa.
No teníamos muchos juegos, pero los que teníamos los jugamos una y otra vez. Con el tiempo tambien conoci a Samus (Metroid) y más de una vez tuve que cumplir la eterna misión de matar de Dracula en “Castlevania”.

Con el tiempo y mientras la tecnología mejoraba, me encontraba jugando con otras consolas como la NES64 y la PS1. Ahora jugaba los juegos de 3 dimensiones como el juego de carreras “Mario Kart” o personificando a un espectro vampirico llamado Raziel (Legacy of Kain - Soul Reaver)
Pasando aún más el tiempo, había dejado de lado los videojuegos, hasta que obtuve mi primer PC, con lo cual tuve mi segunda época gamer con los juegos de estrategia. El AOE II, WarCraft III, y StartCraft.


En este blog de videojuegos, pretendo hablar sobre algunos juegos que más me han gustado como el “Metroid-MisionZero”, “MarioKart” de la SNES y sobre una nueva versión no oficial de AOE llamada “AOE - forgotten empires”.
Tambien dejare mis experiencias en el desarrollo de mis proyectos de videojuego usando Construct 2 y Unity. Hablaré sobre las noticias que me parezcan interesantes, especialmente sobre lo que se viene a futuro y temas que me llamen la atención como por ejemplo si ¿alguna vez se creará una real hibridación entre Videojuego-Películas?.

Bueno me despido que mi segundo post viene ahora mismo.
Saludos.


referencias:
Breve información sobre videojuegos: http://info-gameblog.blogspot.com/
Consolas: http://es.wikipedia.org/wiki/Videoconsola
SuperNintendo (SNES): http://es.wikipedia.org/wiki/Super_Nintendo_Entertainment_System
Nintendo 64 (NES64): http://es.wikipedia.org/wiki/Nintendo_64
PlayStation (PS1): http://es.wikipedia.org/wiki/PlayStation