Transcript
Page 1: Introducción a GameSalad Creator

Introducción  a  GameSalad  Creator  

Alfonso  Marín  Marín  Murcia,  2012  

Page 2: Introducción a GameSalad Creator

2

Introducción   La característica principal de GameSalad es que no hace falta introducir ni una sola línea de código para desarrollar el videojuego. La aplicación funciona básicamente arrastrando objetos de un lado a otro de la pantalla. Por lo tanto no es necesario conocer un lenguaje de programación para diseñar un videojuego. Aunque GameSalad nació en el mundo Mac, recientemente han dado el salto a Windows ofreciendo una versión para este sistema operativo, aunque no tan cuidada com su versión en Mac. Esta introducción está basada en las versiones Mac 0.9.94 y versión Windows 0.9.92 GameSalad se ofrece de forma gratuita, si bien impone algunas limitaciones a la hora de publicar nuestros juegos. Si lo deseamos, podemos acceder a una versión de pago Pro que nos permitiría personalizar 100% el arranque de nuestros juegos y añadir algunas capacidades extra como integrar nuestro juego con Game Center, incluir anuncios y la posibilidad de exportar nuestros juegos a la plataforma Android. Toda la información sobre los requisitos mínimos necesarios para su ejecución, así como la descarga de los ficheros de instalación la podremos encontrar en la página oficial de GameSalad http://gamesalad.com/ Al arrancar GameSalad lo primero que se nos muestra es el lanzador, el cual dispone de las siguientes secciones:

• Home: Muestra los últimos enlaces de GameSalad (historias de éxito, últimos juegos lanzados, etc...)

• News: Actualizaciones y noticias sobre las novedades de la comunidad.

• Start: acceso a video tutoriales, documentación del wiki, blog, y más...

• Profile: si te has dado de alta en la comunidad, podrás acceder a tu perfil y a los mensajes

que hayas podido recibir.

• New: sección donde podremos crear nuestros proyectos, ya sea a partir de alguna plantilla o a partir de un proyecto en blanco.

• Recent: muestra los proyectos que has salvado recientemente

• Portfolio: proyectos que hayas podido publicar a través de GameSalad

Page 3: Introducción a GameSalad Creator

3

Nota sobre la versión de Windows La versión de Windows no dispone del lanzador. En ella accederás directamente a la zona de edición del proyecto. Lamentablemente esta no es la única diferencia que encontraremos entre las dos versiones, ofreciendo estas dos una distribución distinta de los elementos de edición. Inicialmente se explicará la versión Mac donde iremos viendo y comprendiendo cada uno de los elementos y conceptos que presenta GameSalad, y posteriormente veremos cómo se muestran en la versión Windows. Por este motivo, aunque utilices la versión de Windows, sigue leyendo todo el contenido para comprender mejor el funcionamiento del programa, pues esencialmente es el mismo.

Descripción  de  la  interfaz  de  usuario   Vamos ahora a analizar las distintas áreas de edición que proporciona GameSalad Creator creando un proyecto en blanco. Para ello, desde la sección New haremos clic sobre My Great Project para acceder a la ficha del proyecto. Esta sección se denomina Home y es donde podremos acceder a los elementos más importantes de nuestro proyecto. Si nos fijamos en la barra de pestañas, podremos acceder a la ficha del proyecto, a las escenas que conforman nuestro juego, a todos los actores que hemos creado, etc. Veremos más adelante cada uno de estos elementos. En la parte superior de la pantalla, tenemos el menú de navegación que nos permitirá ir hacia adelante o hacia atrás según nos vayamos moviendo por las secciones del programa, como si se tratara de un navegador web. Tenemos un botón permanente llamado Home que nos permitirá volver en cualquier momento a la sección donde nos encontramos ahora mismo. También tendremos un acceso directo a todas las escenas de nuestro juego desde el botón de menú Scenes, y

Page 4: Introducción a GameSalad Creator

4

podremos ejecutar nuestro juego con el botón Preview. Para las fases finales de la creación de nuestro juego podremos acceder a la sección de publicación con el botón Publish, o la vista previa en web con el botón Browser Preview.

Antes de adentrarnos en la edición de escenas, vamos a analizar y explicar los campos de los que constará nuestro proyecto:

• Title: el nombre de nuestro proyecto

• Platform: sobre qué plataforma queremos trabajar, si sobre iPhone, iPad, … así como la orientación que deseamos del dispositivo: landscape (horizonta)l, o portrait (vertical). Según el valor que definamos en este campo el proyecto se definirá el tamaño por defecto de las escenas de proyecto. Aunque esta información la podemos cambiar en cualquier momento, tener claro a qué plataforma irá destinado nos ahorrará mucho tiempo, pues un cambio posterior en este parámetro podría descolocar los elementos de las escenas que hayamos creado.

Resolution Independence: si marcamos esta casilla estaremos indicando que queremos que Game Salad se encargue del reescalado de las imágenes automáticamente. Esto está pensado especialmente para trabajar con pantallas retina o para trabajar con distintas resoluciones en Android. Si marcamos esta casilla, debemos tener en cuenta que las imágenes que importemos a

Page 5: Introducción a GameSalad Creator

5

nuestros proyectos deberán ser de alta resolución, es decir, multiplicando por 4 el ancho y alto de cada imagen.

• Description: descripción de nuestro juego que será utilizada cuando publiquemos nuestra aplicación.

• Instructions: instrucciones de cómo se debe jugar a nuestro juego.

Versión de Windows En la versión de Windows, al arrancar directamente aparece un proyecto en blanco. Aún así, hacemos clic sobre File->New para que nos ofrezca la ficha del proyecto, especialmente la sección donde indicaremos la plataforma y si deseamos activar la independencia de resolución.

En Windows no se incluye un menú de navegación como se ofrece en la versión Mac, y será a través de la sección Library como nos moveremos por las distintas secciones del creador. Inicialmente se muestra la pestaña Game, donde podremos editar el resto de campos ya explicados.

Page 6: Introducción a GameSalad Creator

6

Escenas   Las escenas en GameSalad son los bloques de construcción de nuestro juego. En ellas será donde coloquemos todos los objetos (actores) que conformarán nuestro juego, proporcionando una forma de estructurar nuestro juego. Por ejemplo, podríamos utilizar una escena para el menú inicial, y una escena para cada uno de los niveles del juego. Además, cada escena puede estar compuesta por distintas capas (layers), lo cual nos permitirá estructurar mejor el contenido en cada una de ellas, agrupando a los distintos elementos dentro de las mismas. Por ejemplo, una capa podría contener el fondo de pantalla, otra a los personajes del juego, otra los componentes de la interfaz de usuario (etiquetas, paneles de control, etc). En nuestro juego, en todo momento habrá una escena activa, y veremos cómo podemos ir indicando cuando queremos pasar de una escena a otra. En la sección Home podremos acceder al panel de control de escenas pinchando sobre la pestaña Scenes. En este panel podremos crear, eliminar o reorganizar las escenas de nuestro juego. En nuestro proyecto inicialmente contamos con una escena en blanco, llamada Initial Scene.

Antes de continuar, comentar que desde la pantalla Home también podremos acceder a otros elementos del juego como son los Actores y las Tablas. Ya comentaremos detenidamente qué son los actores y explicaremos su funcionamiento, pero desde esta pantalla dispondremos de un acceso directo a todos ellos. Además, será desde esta sección donde podremos gestionar las etiquetas, pudiendo crear nuevas etiquetas y asignar actores a ellas.

Page 7: Introducción a GameSalad Creator

7

Por último, las tablas serán conjuntos de datos que podremos distribuir por filas y columnas, y a los que podremos acceder y modificar desde nuestros actores. El uso de tablas es una de las últimas incorporaciones a GameSalad. Versión de Windows Como ya hemos comentado, la versión de Windows proporciona un conjunto de pestañas en la sección Library donde podremos acceder a las escenas, capas, y actores de nuestro proyecto. Desde cada pestaña podremos crear, borrar o reorganizar estos elementos. En la sección de actores de la librería lleva incorporada tanto la creación de actores como la gestión de etiquetas.

Sin embargo, las tablas no las encontraremos en ninguna pestaña, encontrándose al final de la pestaña Home, tras la ficha del proyecto.

Editor  de  escenas  en  Mac   Haciendo doble clic sobre la escena inicial, podremos entrar al editor de escenas, que será donde pasaremos la mayor parte del tiempo a la hora de crear nuestro juego.

Page 8: Introducción a GameSalad Creator

8

El editor de escenas se encuentra dividido en las 3 grandes secciones. En la parte izquierda tenemos:

• Inpsector (con Game seleccionado)

◦ Actors: todos los actores de nuestro juego (jugadores, plataformas, coleccionables, etiquetas, etc...). Podremos crearlos y editarlos desde esta sección.

◦ Attributes: todos los atributos globales del juego. El juego ya cuenta con algunos

atributos básicos que podremos utilizar en nuestro juego, aunque también podremos crear nuestros propios atributos. Estos atributos serán accesibles desde cualquier escena de nuestro juego.

◦ Devices: atributos relativos a información obtenida de periféricos o capacidades de

algunos dispositivos, como el ratón o los acelerómetros.

• Inspector (con Scene seleccionado)

◦ Attributes: acceso a los atributos relativos a la escena. Al igual que los atributos del juego, cada escena ya dispone de un conjunto básico de atributos que configurarán el comportamiento dentro de la misma. También podremos crear nuestros propios atributos y estos serán accesibles por los actores que se encuentren dentro de esa escena.

◦ Layers: aquí encontraremos las distintas capas existentes dentro de la escena actual.

Page 9: Introducción a GameSalad Creator

9

Podremos crear nuevas capas y reordenarlas entre sí. Además podremos ver qué elementos hay dentro de cada una de ellas así como reordenarlos.

• Library (con Behaviors seleccionado): situado en la parte inferior derecha podremos acceder

al conjunto de comportamientos (behaviors) que podremos aplicar dentro de nuestros actores, como veremos más adelante. Podemos encontrar varios tipos:

◦ Standard: librería estándar de comportamientos incluidos en GameSalad

◦ Custom: comportamientos propios que nosotros hayamos creado, combinando varios de

los comportamientos estándar.

◦ Pro: algunos comportamientos exclusivos de la versión Pro, disponibles únicamente si adquirimos la correspondiente licencia.

• Library (con Images seleccionado): conjunto de imágenes que hemos importado dentro de

nuestro proyecto. También podemos adquirirlas dentro de un mercado virtual creado por la comunidad GameSalad.

• Library (con Sounds seleccionado): conjunto de archivos de audio que hayamos importado a

nuestro proyecto. Podrá haber archivos de efectos sonoros y archivos de música. En la parte derecha tendremos acceso al editor de escena donde podremos ir componiendo el aspecto de la misma, incluyendo los actores y viendo su comportamiento. En esta zona encontraremos los siguientes botones:

• Actor Mode: estado por defecto del editor donde podremos incluir, seleccionar, recolocar y eliminar los actores de la escena.

• Camera Mode: nos permite definir la posición inicial de la cámara así como los pivotes que

determinan cuando la cámara debe hacer scroll.

• Play: este botón permite previsualizar la escena actual. Al contrario que el botón general Preview, solo se mostrará el comportamiento dentro de la escena actual, al contrario que el botón Preview que hará una previsualización del proyecto completo.

• Reset Scene: reinicia la escena actual, en caso de que hayamos entrado en modo de previsualización con el botón Play.

• Show Initial Scene: si estamos en modo de previsualización, y deseamos conocer cual era

el estado inicial de la escena, podemos hacer clic sobre este botón.

Editor  de  escenas  en  Windows   A diferencia de la versión de Mac, la versión de Windows muestra en todo momento el editor de escenas. Además, será a través de la librería situada en la esquina superior derecha donde podremos acceder a todos los elementos. Como ya hemos comentado, desde ella podremos acceder a la información de nuestro proyecto, a las escenas, las capas y los actores. Además, cuenta con pestañas adicionales para las librerías de imágenes y sonidos.

Page 10: Introducción a GameSalad Creator

10

En la parte inferior del editor encontraremos la zona Backstage, donde podremos acceder a los atributos e información de los elementos con los que estemos trabajando y distribuyendo estos en distintas pestañas. En el Backstage siempre contaremos con al menos dos pestañas:

◦ Pestaña del juego: la primera pestaña corresponderá al juego y podremos acceder a los atributos de juego desde ella, pudiendo crear nuestros propios atributos. Como ya hemos comentado, estos atributos serán accesibles de forma global.

◦ Pestaña de escena: la segunda pestaña siempre corresponderá a la escena que estemos

editando y que tengamos seleccionada en la librería de escenas. En ella podremos editar y añadir los atributos de la escena que serán accesibles por los actores que se encuentren dentro de ella.

Por último, en la zona inferior del Backstage será donde tengamos de forma permanente acceso a los la librería de Behaviors (comportamientos) de GameSalad divididos por tipos y donde también podremos crear los nuestros propios bajo Custom. En la zona superior derecha encontraremos la zona de edición donde iremos creando, seleccionando, recolocando y eliminando los actores de nuestra escena. En la parte superior de la misma encontraremos también botones para entrar en modo edición de cámara o previsualizar la escena.

Atributos  de  escena   Una vez que tenemos clara la distribución de elementos del editor, vamos a analizar qué atributos están disponibles dentro de la escena y que podremos ver a través del inspector seleccionando Scene y luego Attributes (en Windows los veremos en la pestaña de escena, en la zona Backstage).

Page 11: Introducción a GameSalad Creator

11

• name: nombre de la escena actual

• time: el número de segundos que han transcurrido desde que la escena está activa. Este

atributo podrá ser consultado por comportamientos incluidos dentro de nuestros actores, pero no podremos modificarlo.

• Size: dimensiones (ancho y alto) de la escena actual.

• Wrap X: cuando está activado, los actores que salgan de la escena por la izquierda o por la

derecha, entrarán de nuevo por el lado contrario. Si no se activa, los actores seguirán moviéndose indefinidamente fuera de la pantalla hasta que no se destruyan explícitamente (ya veremos cómo podemos destruirlos).

• Wrap Y: lo mismo que el anterior, pero para las zonas superior e inferior de laescena.

• Gravity: fuerza de la gravedad en la escena. El valor por defecto es 0. Utilizando valores

entre 100 y 1000 proporcionaremos una gravedad “aproximadamente” normal a la escena. La gravedad afectará a cualquier actor movible (moveable) de la escena y podemos definir la fuerza de la gravedad tanto en sentido vertical (Y) como horizontal (X).Valores negativos proporcionarán una gravedad en la dirección opuesta.

• Color: el color de fondo de la escena definido en sus componentes rojo, verde y azul, así

como su factor de transparencia (alpha).

• Camera: atributo compuesto por las siguiente subcategorías:

◦ Origin: posición original de la cámara X,Y a partir de la esquina inferior derecha de la escena

◦ Size: alto y ancho que definen cuanto de la escena se mostrará en el juego. Estos valores

dependerán de la resolución del proyecto y no podrán ser modificados manualmente.

◦ Tracking area: define el área de seguimiento de cámara, indicando la posición de los pivotes que encontraremos al entrar en modo cámara. Este área define cuando la cámara debe seguir al personaje que la esté controlando (como veremos esto se podrá hacer mediante el comportamiento Control Cemera) si este llega al límite del área definida.

◦ Rotation: rotación de la cámara que cambia basada en el atributo auto-rotate. Este valor

no puede ser modificado manualmente.

• Autorotate: rota la escena para adaptar nuestro juego en caso de que se haya rotado el dispositivo. Podremos indicar qué rotaciones de dispositivo están permitidas.

Actores   Los actores representan la parte visible de nuestros objetos dentro del juego. Un actor puede representar al personaje que controla el jugador o algún objeto que habrá que sortear, o con el que habrá que colisionar, saltar, o en general interactuar con él durante el juego. Un actor está compuesto básicamente por un conjunto de atributos y un conjunto de

Page 12: Introducción a GameSalad Creator

12

comportamientos (behaviors), que el diseñador del juego irá definiendo según se van creando. El diseñador del juego creará el conjunto de actores que se necesitará en todas las escenas de nuestro juego y se irán acumulando en la zona de Actors del inspector (o en la pestaña Actors en Windows). Los actores que vamos incorporando a la librería de actores se denominan “Prototipo de Actor”, y a partir de ellos podremos crear las instancias de actores que iremos colocando en las distintas escenas de nuestro juego. Simplemente arrastrando un actor desde la librería de actores a la escena actual se creará una instancia del mismo. Una instancia es una copia del actor original y, salvo que se diga lo contrario, ésta permanece “bloqueada” de forma que sus atributos y comportamiento obedecen en todo momento a lo que se defina en el prototipo. Si cambiamos algo en el prototipo, este cambio se aplicará a todas las instancias que hayamos creado y que sigan bloqueadas. Como veremos más adelante, dentro del editor podremos “desbloquear” cualquier instancia que hayamos creado y definir sobre ella cualquier personalización que deseemos que se aplique únicamente a dicha instancia, ya sea cambiando alguno de sus atributos o sus reglas de comportamientos.

Sección  de  edición  de  actor   Para crear un actor debemos hacer clic en el botón + situado dentro de la ventana de actores de la escena. Haciendo doble clic sobre el actor recién creado podremos entrar en el modo de edición de actor.

Page 13: Introducción a GameSalad Creator

13

Versión de Windows En la versión de Windows, toda la zona de edición de actor se encuentra en el Backstage. Cada vez que seleccionemos un actor desde nuestra librería de actores, se abrirá una tercera pestaña en el backstage, justo después de la pestaña de escena. Será allí donde podamos acceder a los atributos y a los comportamientos del actor.

En el modo de edición de actor dispondremos de una previsualización gráfica del actor en la parte superior izquierda. Justo debajo podremos ver los atributos del actor y en la parte inferior podremos seguir viendo las librerías de comportamientos, imágenes, y sonidos. En la parte derecha tendremos la zona de edición de comportamientos, donde podremos ir incluyendo las reglas y behaviors que dotarán al actor de la lógica deseada.

Atributos  de  actor   Vamos a empezar viendo los atributos disponibles dentro de un actor, los cuales se muestran agrupados por secciones Atributos Generales:

• name: nombre del actor

• time: número de segundos que el actor lleva activo dentro de la escena. Este atributo puede ser leído por los comportamientos y reglas del actor, pero no puede ser modificado

• position: coordenadas X e Y de la posición del actor en la escena actual. Esta propiedad es

Page 14: Introducción a GameSalad Creator

14

relevante en las instancias dentro de la escena, no en el prototipo

• Size: tamaño en pixeles (alto y ancho) del actor

• rotation: especifica el ángulo o rotación con la que el actor aparece inicialmente en la escena. Por ejemplo, un valor de 90 haría que el actor apareciese rotado 90 grados en el sentido horario

• color: el color de fondo del actor, representados por sus componentes verde, rojo y azul, así

como su nivel de transparencia (alpha)

• image: imagen de nuestra librería asociada al actor (en caso de tener alguna). La forma de cambiar este atributo sería arrastrando a la zona de previsualización la imagen deseada.

• tags: etiquetas asociadas al actor

Atributos gráficos (Graphics)

• visible: indica si el actor debe visualizarse o no en la escena. Este atributo no puede cambiarse durante el juego. Desactivando este atributo mejorará el rendimiento de tu juego si realmente el actor no necesita mostrarse

• blending mode: determina la forma en que se dibujará el actor en base al fondo

◦ normal: dibuja el actor sobre el fondo. Este es el modo por defecto ◦ opaque: ignora cualquier información de transparencia. Es el modo menos exigente y el

que mejor rendimiento dará. Es interesante activarlo especialmente en imágenes de fondo grandes

◦ additive: añade el valor de color de cada pixel al valor del correspondiente pixel bajo él.

Se suele utilizar para efectos tipo fuego, explosiones, lasers, etc)

◦ screen: similar a additive, en vez de hacerlo sobre el color de fondo, lo hace sobre el inverso al color de fondo

◦ multiply: multiplica el valor de cada pixel del actor por el valor del pixel

correspondiente de fondo. Útil para simular cristales tintados o efectos de sombra

• horizontal wrap / vertical wrap, donde encontraremos tres opciones: ◦ stretch: la imagen se ajustará al ancho/alto del actor ◦ fixed: la imagen asociada quedará centrada en el actor y se recortará si éste es más pequeño

◦ tile: en caso de que el actor sea más grande que la imagen, ésta se repetira horizontalmente/verticalmente.

Atributos de movimiento (Motion)

Page 15: Introducción a GameSalad Creator

15

• linear velocity: velocidad del actor en una dirección específica X,Y

• angular velocity: la velocidad de rotación del actor. Valores positivos harán que se rote en el sentido horario, y negativos en el sentido inverso.

• max spened: el valor máximo de velocidad que el actor puede adquirir, en caso de que se

marque apply max speed

• apply max speed: si se marca, el actor tendrá limitada la velocidad máxima al valor especificado en max speed.

Atributos físcios (Physics):

• density: la densidad del actor. Una valor alto hará que el actor sea mas difícil de mover por otros actores que sean más densos. Sin embargo, un valor de 0 hará que el actor sea inmóvil, aunque seguirá afectando a otros objetos de la escena. Este atributo solo puede ser positivo

• friction: especifica cuanto se debe frenar el actor cada vez que toca con otro actor, debiendo

también ser un número positivo.

• bounciness /restitution: número real que define la capacidad de rebote del actor. 0 indica que no debe rebotar, y puede adquirir un valor máximo de 2.

• fixed rotation: especifica si el actor debe rotar en colisiones con otros actores

• moveable: determina si el actor puede moverse, incluyendo colisiones con otros actores o gravedad

• collision shape: indicar si el modelo de colisión del actor es cuadrado o circular. Si se

define circular, se representará por el círculo más grande que quepa dentro de las dimensiones del actor

• drag: hace que el actor vaya perdiendo velocidad siempre que no se le apliquen otras

fuerzas (incluidos comportamientos de movimiento).

• angular drag: igual que el anterior pero para su velocidad angular. Al igual que ocurría con las escenas, podremos crear nuestros propios atributos de actor. Todos los atributos de actor únicamente serán accesibles desde el propio actor, no pudiendo acceder unos actores a los atributos de otros.

Personalización  de  instancias  de  actor:  bloqueo  y  desbloqueo   Como ya hemos comentado, los actores que creemos en la librería serán Prototipos de Actor que podremos arrastrar a nuestras escenas para crear instancias de los mismos. Si hacemos doble clic sobre cualquier instancia creada en nuestra escena se nos mostrará el editor de actores indicando que estamos trabajando con una instancia y por defecto ésta se encuentra bloqueada.

Page 16: Introducción a GameSalad Creator

16

Mientras no se desbloquee, únicamente podremos editar algunos atributos particulares de la instancia como su posición, tamaño o color. El editor también nos muestra un botón en la esquina superior izquierda para acceder al prototipo que controla a la instancia. Si desbloqueamos la instancia haciendo clic en el candado, podremos aplicar personalizaciones en su comportamiento que únicamente afectarán a dicha instancia, y no de forma global como lo hace el prototipo. Siempre podremos volver a bloquearla haciendo clic en el botón Revert to Prototype, perdiendo cualquier personalización de comportamiento que hubiéramos hecho sobre la instancia.

Window Al seleccionar una instancia de prototipo, en el Backstage se nos añadirán dos pestañas: una correspondiente al prototipo y otra correspondiente a la instancia. Podremos desbloquear la instancia haciendo clic sobre el candado.

Page 17: Introducción a GameSalad Creator

17

Comportamientos  y  reglas   Los comportamientos (behaviors) son acciones que podemos asignar a los actores para controlar cómo interactúan, se mueven o cambian de apariencia. Éstos se utilizan para añadir la lógica a nuestro juego y controlan cuando ocurren determinados eventos en las escenas para hacer que los actores respondan consecuentemente. Cada comportamiento se modela como un bloque que puede añadirse y combinarse con otros bloques dentro del contenedor principal del actor. También tendremos posibilidad de establecer contenedores condicionales (reglas) que permitan incorporar comportamientos que solo se aplicarán si se cumplen las condiciones establecidas. Por último, también podremos crear grupos de comportamientos que actuarán de contenedores y nos permitirán una mejor organización interna. Hay 3 tipos de comportamientos:

• Reglas: como hemos comentado, se utilizan para establecer condiciones y determinar qué debe ocurrir solo bajo ciertas circunstancias. Ahora las veremos con más detenimiento. Éstas vienen representados por una [G] junto al nombre en la librería de comportamientos.

• Comportamientos persistentes: estos comportamientos se aplican constantemente y de

forma continuada, salvo que estén dentro de una regla que no se cumpla. Vienen representados por una [B] junto al nombre en la librería de comportamientos.

• Acciones: comportamientos que ocurren una vez, y únicamente se repiten otra vez si se

encuentran en una regla cuya condición se vuelva false y luego verdadera otra vez. Vienen representados por una [A] junto al nombre en la librería de comportamientos.

Una regla tiene la siguiente estrctura:

− Una zona de configuración de condiciones que indicará si queremos que se cumplan todas (all) o cualquiera (any) de las condiciones especificadas.

− Una zona de condiciones donde habrá una o varias condiciones

− Un bloque de comportamientos que se ejecutará si la regla se cumple

− Un bloque otherwise de comportamientos que se ejecutará si la regla no se cumple

Para crear una regla podremos pinchar sobre el botón Create Rule o arrastrando el comportamiento

Page 18: Introducción a GameSalad Creator

18

Rule desde la librería de behaviors al panel derecho. Las condiciones pueden ser basadas en eventos o en que un atributo valga un determinado valor, como podremos ver si cambiamos los distintos desplegables que la conforman. Además, podremos añadir o quitar condiciones e indicar si queremos que se cumplan todas (all) o cualquiera de ellas (any). Un tipo especial de regla es el comportamiento Timer, el cual establece una condición temporal para la ejecución de determinados comportamientos. Versión de Windows

En la librería de Behaviors no tendremos un comportamiento de tipo Rule como tal, sino que tendremos directamente las condiciones bajo la sección Conditions. Arrastrando una condición al editor de comportamientos del actor haremos que se cree automáticamente una regla con dicha condición incorporada.

Listado  de  comportamientos  (behaviors)   A continuación, vamos a ver el conjunto de comportamientos que incorpora GameSalad:

• Accelerate: especificando un ratio y dirección de aceleración a un actor, éste va incrementando su velocidad constantemente hasta alcanzar la velocidad máxima, en caso de haber sido definida, y siempre que no se estén aplicando otras fuerzas como la gravedad o drag. Ver también el comportamiento Accelerate Toward.

• Accelerate Toward: utiliza este comportamiento para especificar un ratio de aceleración y

una posición final para el actor. Esta posición puede ser fija o ser una posición móvil, utilizando el editor de expresiones para establecerla (por ejemplo, en base a la posición de otro actor).

• Animate: Arrastra dentro de este comportamiento un conjunto de imágenes desde la librería

de imágenes de tu proyecto. Una vez añadidas, éstas pueden reordenarse, así como insertar nuevas. Podemos especificar el ratio de imágenes por segundo de la animación, hasta 30

Page 19: Introducción a GameSalad Creator

19

imágenes por segundo; Si no se especifica que lo haga en bucle (loop), la animación vuelve a la última imagen que tuviese el actor antes de que la animación empezase.

• Change Attribute: permite establecer, cambiar o incrementar un atributo, ya sea de actor,

de escena o de juego. Puede utilizarse para cambiar un valor numérico, el color, el tamaño, el movimiento, la aceleración o cualquier otro valor determinado por un atributo.

• Change Image: Especifica una imagen que reemplazará a la imagen actual del actor. Puedes

arrastrar una nueva imagen a este comportamiento o especificar una desde el desplegable que se muestra incluyendo las imágenes de tu librería.

• Change Scene: para la escena actual e inmediatamente activa la escena indicada.

Normalmente se suele incluir dentro de una regla que pueda comprobar que se cumplan ciertas condiciones.

• Change Size: cambia el tamaño del actor en un factor de escala (utilizando un factor

negativo el actor se contraerá). Nota: la zona de colisión seguirá estando determinada por el tamaño original del actor; para cambiarlo, utilizar Change Attributeo Interpolate. También podemos utilizar un Timer para especificar el tiempo que tardará la transición.

• Change Velocity: especifica la dirección de movimiento del actor con una velocidad

constante. Una vez que se especifique la dirección, otras fuerzas o movimientos afectarán al actor, como drag, gravedad, u otros comportamientos de movimiento.

• Collide: controlará cuando un actor o grupo de actores colisionan unos con otros. Podemos

crear grupos de actores a partir de etiquetas.

• Constrain Attribute: actualiza constantemente el valor de un atributo a un determinado valor, ya sea un valor estático u otro atributo. Se utiliza principalmente para mantener dos objetos moviéndose de forma sincronizada, o para mantener al actor pegado al movimiento del ratón.

• Control Camera: si añadimos este comportamiento a un actor dentro de la escena, la

cámara lo seguirá. El área de seguimiento para la cámara puede cambiarse desde el editor de escenas utilizando el modo Camera Edit. Solo una instancia de actor por escena puede tener este comportamiento. Los actores que estén situados en capas (layers) que no sean scrollable no podrán utilizar este comportamiento.

• Destroy: elimina automáticamente al actor de la escena.

• Display Text: muestra el texto especificado, pudiendo establecer su color, alineamiento,

fuente, ajuste y tamaño del texto. Ajustar el texto (wrapping) hace que la línea de texto se corte para mantener todo el texto dentro del actor.

• Group: Este es un comportamiento organizativo, que permite agrupar otros

comportamientos y reglas para mantener ordenados nuestros comportamientos. También puede crearse mediante el botón Create Group.

• Interpolate: permite cambiar el valor de un atributo por otro valor a lo largo de un periodo

de tiempo, calculando los valores intermedios hasta llegar al valor objetivo. Este comportamiento se puede parar u obstaculizar por otros comportamientos.

Page 20: Introducción a GameSalad Creator

20

• Load Attribute: carga un valor que se haya almacenado con una determinada llave usando el comportamiento Save Attribute. Una llave es básicamente una localización de un atributo específica.

• Move: mueve el actor en una dirección específica relativa al actor o a la escena. Se pueden

pueden combinar varios movimientos de forma simultánea utilizando additive. Por el contrario, si especificamos Stack únicamente se aplicará el último movimiento más recientemente definido.

• Move to: mover el actor a una coordenada específica X/Y relativa al actor o a la escena.

Este movimiento parará cuando se haya alcanzado la coordenada definida, salvo que la condición que lo controle no sea válida y no esté marcado run to completion, en cuyo caso el comportamiento de movimiento cesará tan pronto como la condición que lo controle no sea válida.

• Particles: generador de partículas desde el actor, configurando sus valores para determinar

el comportamiento de las mismas.

• Pause Game: pondrá en pausa la escena actual, pudiendo indicar una escena a mostrar mientras este en pausa. Utilizando el comportamiento unapuse game eliminará la escena superpuesta y seguirá ejecutando la escena actual por donde fuese.

• Pause Music: pausa la música actual en caso de estar sonando alguna. Utilizar el

comportamiento play music para reanudar la reproducción.

• Play Music: hace que se reproduzca la música seleccionada. Seleccionando loop (bucle) haremos que la música empiece automáticamente desde el principio una vez que ésta termine.

• Play Sound: reproduce el sonido especificado. Seleccionando loop haremos que se

reproduzca constantemente. Podemos marcara run to completion para evitar que se interrumpa el sonido por otro comportamiento una vez que se ha empezado a reproducir. Positional Sound y Velocity Shift afecarán al volumen y timbre del sonido según el actor que lo controla se mueve por la escena.

• Replicate: crea duplicados de un actor sin generar nuevos actores en la escena, basándose

en el valor de un atributo. Normalmente se utiliza para mostrar el número de vidas que le quedan al jugador.

• Reset Game: reinicia el juego y todas sus escenas, restaurando los valores originales de los

atributos, pero sin borrar las llves que hayamos podido guardar usando Save Attribute”.

• Reset Scene: reinicia la escena actual y todos sus actores. Si se establece dentro de una escena durante esté en pause, no reiniciará la escena subyacente que ha sido pausada.

• Rotate: hace que el usuario rote en el sentido de las agujas del reloj o en sentido contrario.

• Rotate to Angle: hace que el usuario rote en el sentido de las agujas del reloj o en sentido

contrario, hasta llegar al ángulo especificado.

• Rotate to Position: hace que el usuario rote en el sentido de las agujas del reloj o en sentido

Page 21: Introducción a GameSalad Creator

21

contrario, hasta llegar la coordenada X,Y especificada Si desactivamos stops on destination haremos que se comporte igual que el comportamiento Rotate.

• Rule: crea una condición o grupo de condiciones a comprobar antes de activar los

comportamientos incluidos en ella. Estas condiciones incluyen entradas de usuario (clics de ratón, toques de pantalla, pulsaciones de teclas) y valores en atributos. Las reglas también incluyen una sección “de otro modo” (otherwise o else) que permite establecer comportamientos en caso de que la regla no se cumpla.

• Save Attribute: almacena una valor de un atributo con una determinado nombre de llave.

Puede usarse cualquier nombre, y a través del comportamiento Load Attribute recuperar el valor almacenado. Salvar un atributo con una clave existente provocará que ésta se sobrescriba. Los valores almacenados con este comportamiento se mantendrán accesibles incluso si el dispositivo o el juego se apaga.

• Spawn Actor: crea una nueva instancia del actor especificado en la escena. Se especifica la

dirección y posición del actor relativa a la escena a al actor que lo genera. Esto permite a cualquier actor de una escena generar actores adicionales en cualquier momento en la misma escena.

• Stop Music: hace que pare de sonar la música que esté sonando. Al contrario que el

comportamiento pause music, éste reinicia la pista de audio, así que otro comportamiento del tipo play music que se ejecutara posteriormente empezaría a reproducir la pista desde el principio.

• Timer: permite activar comportamientos o reglas en determinados intervalos establecidos en

segundos. After hará que se activen tras un periodo de tiempo, every lo hace de forma repetida interpretando el intervalo de tiempo como el retardo entre repeticiones; for hace que se activen los comportamientos durante el periodo especificado.

• Unpause game: si se ha activado el comportamiento pause game abriendo la escena de

pausa, este comportamiento la eliminará y continuarla con la escena subyacente que se estuviera ejecutando.

Atributos  en  Game  Salad   Ya hemos visto que tanto el juego, las escenas y los actores tienen determinados atributos que podremos establecer, leer y en algunos casos modificar desde nuestros actores utilizando comportamientos como Change Attribute. Los atributos son una de las características más potentes de GameSalad, pues podremos crear nuestros propios atributos y así poder establecer reglas y comportamientos en base a ellos. En cada sección de atributos, ya sean atributos de juego, escena o actor, podremos crear nuestros propios atributos, los cuales podrán ser de varios tipos:

• Boolean: aquiere valores de verdadero/falso (true/false).

• Text: admite números y letras

• Integer: números enteros con signo

Page 22: Introducción a GameSalad Creator

22

• Real: números en coma flotante con signo

• Angles: número entero entre 0 y 359, representando los grados de un círculo.

• Index: números enteros sin signo, únicamente valores mayores o iguales a 0. Útil para

trabajar con arrays o tablas Selector de atributos y editor de expresiones Muchos de los comportamientos y condiciones de las reglas que establezcamos en nuestros actores necesitarán acceder a algún atributo, ya sea un atributo de juego, de escena o de actor. Para definir exactamente a qué atributo deseamos acceder o comprobar, podemos usar el selector de atributos. Este selector permite, mediante una serie de columnas, navegar por la jerarquía de atributos del juego, de la escena o del actor. Normalmente accederemos a este editor a través del botón '…' situado en la propia casilla donde tengamos que especificarlo.

Si nos fijamos, podremos acceder a cualquier atributo que haya definido, ya sea del juego, del dispositivo o del actor. Si además estamos personalizando una instancia (no un prototipo), también tendremos acceso al conjunto de atributos de la escena en la que se encuentre la instancia.

Windows: en esta versión no aparecerá el botón '…' en la entrada como sucede en Mac. Para hacer uso del selector de atributos, tendremos que hacer clic en la casilla y luego hacer clic en el botón Attributes del browser inferior del Backstage. Desde ahí será donde podamos seleccionar el atributo al igual que lo hacemos en Mac.

Page 23: Introducción a GameSalad Creator

23

Por otra parte, habrá muchas casillas de comportamientos y reglas donde el valor a introducir pueda ser una expresión. Estas casillas podremos detectarlas porque encontraremos un botón con una 'e' situado justo al lado. Pinchando sobre ella podremos acceder al editor de expresiones.

Una expresión será básicamente una fórmula matemática en la que intervendrán determinados atributos posiblemente combinados con determinadas funciones. Por ejemplo, una expresión sería: game.Time + game.Atributo1 * cos(game.Time) A través de los distintos desplegables del editor de expresiones podremos ir seleccionando los atributos y las funciones que necesitemos para componer la función.

Windows: en la parte inferior del Backstage, seleccionando Functions en el Browser tendremos el listado de funciones que podremos utilizar en nuestras expresiones.


Top Related