Animaciones, Adventure Game Studio

07 de noviembre de 2008
Valoración del artículo:
Un juego de aventura gráfica no sería nada sin animaciones. Estas animaciones van desde la simple acción de caminar hasta el movimiento de una bandera en el fondo.
Atención: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.

Animaciones

Las Animaciones en AGS son gestionadas a través de Views (Vistas). Una View es un conjunto de una o más loops (repeticiones). Una loop es un conjunto de frames los cuales, reproducidos en secuencia, dan ilusión de movimiento. Expande la opción "Views" del Árbol de Proyectos y haz doble clic sobre VIEW 1.

El View Editor (Editor de Vistas) mostrando VIEW 1


Este es el View Editor (Editor de Vistas) donde reunirás todas tus animaciones. Fíjate en la imagen y veras muchos frames de la animación de Roger caminando.

Cada loop se muestra como una fila de imágenes (una para cada frame), de izquierda a derecha. Para cambiar la imagen de un frame, haz doble clic sobre dicha imagen y se abrirá el Sprite Manager donde podrás seleccionar la imagen que quieras usar para ese frame. Todas las imágenes que se usen para Views se importan de manera normal a través del Sprite Manager antes de poder insertarlas en un frame.

En el extremo derecho de cada loop veras un botón llamado "Create new frame" (Crear nuevo frame), en el cual puedes usar para añadir un nuevo frame al final de la loop. También puedes hacer clic derecho sobre un frame para insertar un Nuevo frame delante o detrás de este.

Haz clic izquierdo sobre un frame para seleccionarlo. Una vez que lo hayas hecho verás como la rejilla de propiedades se actualiza para mostrar la información referente al frame seleccionado.

La Rejilla de Propiedades mostrando las propiedades del frame
 
  • Delay es la velocidad relativa del frame. Este número añadirá un retraso a la cantidad de tiempo durante el cual se muestra este frame. Un número mayor por lo tanto, hará que un frame se muestre durante más tiempo. También puedes usar números negativos para hacer que los frames sean más cortos. 
  • Sound te permite asignar un número de sonido que se reproducirá cuando la animación muestre este frame. Este opción esta diseñada para los sonidos de pasos al caminar, pero puede tener muchos más usos. Explicaremos el uso del sonido más adelante.
  • Flipped define si el frame se mostrará normalmente o revertido de izquierda a derecha. Esta opción es de gran utilidad y te ahorrará mucho tiempo ya que gracias a ella puedes limitarte a crear una animación para que tu personaje camine a la izquierda y aplicar esta opción para revertirla y usarla para caminar a la derecha. Cuando activas esta opción AGS girará los frames de la loop automáticamente.

Las Views no solo se usan para las animaciones de caminar, sino que se usan para cualquier tipo de animación del juego. Más adelante se explicará como integrar las animaciones dentro de nuestro juego.

Personajes

Si recuerdas la tercera parte de este tutorial, recordarás que hablamos sobre los elementos con los que el jugador podía interactuar: hotspots, objetos y personajes. Ya hemos explicado los 2 primeros elementos así que ha llegado el momento de que nos centremos en los personajes.

Para hacerlo más simple, basta decir que dentro de AGS un personaje es igual que un objeto, con las diferencias de que puede moverse entre estancias, tomas parte en conversaciones, llevar su propio inventario y alguna otra opción más.

Expande la opción "Characters" del Árbol de Proyectos. Veras que por ahora solo hay un personaje en la lista, con el nombre "0: cEgo". Puedes crear nuevos personajes haciendo clic derecho sobre "Characters”. Por ahora vamos a centrarnos en el que ya tenemos creado, así que haz doble clic sobre "cEgo":

El Character Editor (Editor de Personajes)


Lo primero que te llamará la atención de esta ventana, es el texto en negrita que dice "This character is the player character" (Este personaje es el controlado por el jugador). Este mensaje recalca que el personaje seleccionado es el que controlará el jugador cuando se inicie el juego. Para cambiarlo por otros personaje, simplemente tienes que abrir el personaje que desees usar y hacer clic en el botón "Make this the player character". El juego comenzará en el número de estancia determinado en la opción Starts in room.

Como podrás observar, hay muchas opciones en la Rejilla de propiedades. No vamos a explicar todas aquí ya que llevaría mucho tiempo. Nos vamos a centrar en las más importantes. Podrás encontrar una descripción completa de estas opciones en el manual de AGS.

  • StartingRoom – determina en que número de estancia comenzará el personaje cuando se inicie el juego.
  • NormalView – Determina que View se usará para la animación de caminar normal. La View especificada debe contener 4 u 8 loops. El primer frame de cada loop será el frame usado para mostrar al personaje cuando este parado.
    Cuando se use una animación de 4-loops, y el personaje camine en una diagonal se elegirá la loop que muestre la dirección más cercana a la que camina el personaje. Si por el contrario se usa una animación de 8-loops, no habrá problema ya que estará representado el movimiento en cualquiera de las 8 direcciones.

Que loop representará a que dirección se puede definir en el Views Editor (por ejemplo: "Loop 0 (down)"). 

  • Clickable – si esta opción no esta activada, el personaje será transparente a los clics del ratón, es decir, cuando hagas clic sobre él, estarás haciendo clic sobre lo que este tras el personaje. De esto modo funcionan los personajes de los juegos de Lucasarts, no podías hacer clic sobre Guybrush , si no que hacías clic sobre lo que estuviese tras el.  

El campo "RealName" te ofrece una manera sencilla de identificar al personaje dentro del editor, y también de accede a el desde el script si lo necesitas, aunque solo a modo identificativo.

El campo "ScriptName" es muy importante, ya que define el nombre por el cual se hará referencia al personaje en los scripts del juego. La razón de tener este campo además del de RealName es que como recordarás, el nombre para el script solo puede contener letras de la A-Z, mientras que RealName puede contener números, espacios, etc.

Punto de inicio del Juego

Por si no has prestado atención, voy a repetir lo que ya he dicho en la sección de Personajes. La opción "Starts in room" del Personaje controlado por el jugador, determina en que estancia comienza el juego.



Cutscenes - Escenas Animadas

Puedes añadir fácilmente a tu juego una introducción, animación para el final y escenas animadas. No hay una opción específica para hacer esto, simplemente usa las animaciones y los comandos de movimiento para crear la escena que quieras.



Vamos a ponernos manos a la obra pero con algo sencillo para empezar. Queremos que cuando nuestro personaje vaya a coger la llave que hemos colocado en nuestra estancia, camine hasta ella en lugar de que esta desparezca y aparezca en el inventario por arte de magia.

Queremos añadir un elemento extra al proceso de recogida de la llave. ¿Cómo lo hacemos? Como podrás suponer, tenemos que volver al script de eventos del objeto llave. Vuelve a la Lista de Eventos (Events List) de la llave (recuerda, primero abre la estancia, selecciona "Objects", y después haz clic sobre la llave para seleccionarla):

¿Lo recuerdas?


La única diferencia respecto al a última vez que estuvimos usando esta ventana esta en la lista de Eventos. Fíjate que el evento "Interact object" ya tiene nombre. "oKey_Interact" es el nombre del script que creamos en partes anteriores para interactuar con la llave. Selecciónalo y haz clic en el botón "..." para ir al editor de script.

Lo que queremos es que el personaje camine hasta la llave y se situé sobre ella para recogerla antes de que esta desparezca y pase a formar parte de nuestro inventario. Lo que tenemos que hacer es añadir una línea de script antes del comando que hace que la llave desparezca. Queremos realizar una acción sobre el personaje (que se mueva) así que escribe “player." y un cuadro auto-complete aparecerá mostrándote los comandos disponibles. Intenta averiguar por ti mismo cual usaremos.

El comando Walk necesita unas coordenadas X e Y


¡Vaya!
 Nos pide una posición X e Y. No sabemos la posición exacta pero podemos averiguarla sin mucha dificultad. Haz clic en la pestaña "Room 1" en la barra de pestañas de la parte superior del editor, y mueve el puntero del ratón hasta la posición de la llave. Fíjate que justo debajo de la imagen del fondo veras "Mouse Position: 158, 108" o algo parecido (dependerá de donde hayas colocado la llave). Estas son las coordenadas  X e Y que determinan la posición de la llave. Apuntalas y haz clic en la pestaña "room1.asc" para volver al script.

Ahora podemos usar esas coordenadas en nuestro script. También tenemos que añadir el comando BlockingStyle como eBlock, esto le dice al juego que espera a que el personaje llegue a esas coordenadas para continuar con el script. Si no añadimos esto, el personaje comenzaría a caminar a esa posición pero la llave desaparecería antes de que llegase. El script debería quedar como aparece en la imagen:

El comando que hemos añadido se ejecutará antes que los demás


Ahora pulsa F5 y prueba que tal funciona.

Bueno, creo que hemos tenido suficientes animaciones y escenas animadas por hoy. Más adelante podrás explorar en detalle las animaciones y crear cutscenes más complejas.

Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos
interesantes que se hayan enviado recientemente.


Se han encontrado 38852 comentarios sin revisar




El autor
Rubén Lapuerta
Colaborador Desarrollo Multimedia
http://www.desarrollomultimedia.es
Manuales

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...