USO DE FUNCIONES BOOLEANAS EN EL DISEÑO DE BOTONES QUE CONTROLAN VIDEOJUEGOS

Introducción

Los videojuegos son muy valorados por los jóvenes, en éste artículo se presenta el uso de funciones booleanas para construir una de las componentes más importantes de muchos videojuegos: los botones de control. Para la construcción de estos elementos, se utilizan funciones cuya imagen tiene solamente de dos elementos.

Una función booleana  tiene como dominio un conjunto cualquiera y como imagen solamente dos valores que podemos llamar FALSO y VERDADERO.

Por otra parte, para construir videojuegos, se utilizan programas de cómputo especiales llamados motores de videojuegos, de los cuales se han construido una gran cantidad[1]. Cada uno de ellos tiene características especiales. Algunos son gratis, algunos tienen un precio alto. Algunos son sencillos de manejar y no se requiere saber programar. Por el contrario, otros exigen que el usuario conozca algunos lenguajes de programación.

Uno de los motores más sencillos de utilizar se llama GameSalad[2], el cual no requiere que el usuario sepa programar, pero sí requiere habilidades matemáticas, de planeación y diseño, para desarrollar buenos videojuegos. Veamos su funcionamiento.

GameSalad tiene las componentes mostradas en la Figura 1.

 

Figura 1

La parte indicada con la letra A tiene tres componentes:

  • Actores (Actors). Son todos los elementos que realizan alguna actividad dentro del juego. Por ejemplo: Un avión que se mueve o un botón que al oprimirlo permite mana la orden de que se mueva el avión.
  • Atributos (Attributes). Son propiedades o características del juego o funciones que se construyen de antemano. Dentro de las funciones que permite manejar GameSalad están las de tipo booleano.
  • Dispositivos (Divices). Contiene los dispositivos que se pueden utilizar en GameSalad. Por ejemplo el mouse, la pantalla, el acelerómetro en una tablet, etc.

La parte indicada con la letra B tiene cuatro componentes:

  • Comportamientos (Behaviors). Es una lista de comportamientos que pueden realizar los actores, acciones sobre el juego o secuencias de control.
  • Imágenes (Images). Es el espacio donde pueden ser colocadas imágenes para los actores.
  • Sonidos (Sounds). Es el espacio donde se pueden colocar sonidos para usarse en el juego.
  • Tipos (Fonts). Es el espacio donde puede ser colocados tipos especiales de letras para ser utilizados en el juego.

La parte indicada con la letra C es el área de juego. En éste caso contiene al centro la imagen de un avión y en las 4 esquinas botones de control que al ser oprimidos con un dedo en una tablet.

GameSalad funciona de manera sencilla como se muestra en los siguientes 4 pasos.

Figura 2

Paso 1

En la parte E de la Figura 1 se observa dentro del óvalo una pequeño signo más (+). Al dar clic izquierdo del ratón con la punta sobre ésta cruz se genera un actor como se muestra en la Figura 2.

Figura 3

Paso 2

Con el botón izquierdo del ratón oprimido y la punta sobre el actor, se desplaza el actor al área de juego como se muestra en la Figura 3. En éste momento el actor está listo para anexarle los comportamientos y acciones que se desea tenga.

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-08 a las 22.08.38.png

Figura 4

Paso 3

Una vez colocado el actor en el área de juego, se da doble clic con el botón izquierdo del ratón y la punta sobre el actor, se obtiene la imagen de la Figura 4, y si se da doble clic con la punta del ratón dentro del candado, se obtiene la imagen de a Figura 5.

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-08 a las 22.27.00.png

Figura 5

Paso 4

Si se busca en la parte B el comportaminiento “Move”, se selecciona y arrastra al área de juego se obtiene la Figura 6.

Figura 6

Con la acción que se acaba de realizar, se da la orden de que cuando se dé clic en el botón preview, localiizado al centro en la parte superior del área de juego, el actor se despalce en la dirección 0, que corresponde a la dirección del eje x, con una velocidad de 300.

En internet hat decenas de tutiriales que muestran el funcinamiento de GameSalad. Se ha presentado de manera resumida la forma en que funciona.

Regresando al ejemplo de la Figura 1, podemos ver en el área de juego la figura de un avión al centro y en las esquinas cuatro botones. Esto corresponde a 5 actores. La figura Figura 7 muestra en la parte D cuatro atributos (terminología en GameSalad) o funciones (terminología en matemáticas) booleanas. Describimos la acción de cada uno de estos atributos.

Figura 7

  • El atributo “GIRO-DM” tiene el valor “true” cuando se da clic en el botón izquierdo del ratón y la punta está sobre el botón de la parte inferior derecha, y en otro caso, es decir, si el botón de la parte inferior derecha no es oprimido el valor del atributo es “false”.
  • El atributo “GIRO-DCM” tiene el valor “true” cuando se da clic en el botón izquierdo del ratón y la punta está sobre el botón de la parte inferior izquierda, y en otro caso, es decir, si el botón de la parte inferior izquierda no es oprimido el valor del atributo es “false”.
  • El atributo “AVANCE” tiene el valor “true” cuando se da clic en el botón izquierdo del ratón y la punta está sobre el botón de la parte superior derecha, y en otro caso, es decir, si el botón de la parte superior derecha no es oprimido el valor del atributo es “false”.
  • El atributo “DISPARA” tiene el valor “true” cuando se da clic en el botón izquierdo del ratón y la punta está sobre el botón de la parte superior izquierdo, y en otro caso, es decir, si el botón de la parte superior izquierda no es oprimido el valor del atributo es “false”.

Dentro de GameSalad las acciones indicadas en los incisos se muestran en las Figuras 8, 9, 10 y 11, las cuales se obtienen si se da clic en el botón izquierdo del ratón, cuando está la punta sobre cada uno de los botones.

 

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 11.45.02.png

Figura 8

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 11.45.37.png

Figura 10

 

 

 

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 11.45.22.png

Figura 9

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 11.46.00.png

Figura 11

En los 4 casos anteriores se puede observar la palabra “Rule” que es uno de los comportamientos importantes que tiene GameSalad para realizar lo que en programación se llama secuncias de control. En los cuatro casos se da la orden de que si el botón es oprimido (pressed) entonces se cambia el valor del atributo a la opción “true” y en caso contrario (Otherwise) se cambia el valor del atributo a la opción “false”.

Si ahora regresamos al actor que tiene la forma de un avión y damos clic en el botón izquierdo del ratón y la punta sobre éste, se obtiene la imagen mostrada en la Figura 12 la cual está compuesta de cuatro secuencias de control o reglas (Rule). Al desplegar cada una, dando clic en las pequeñas flechas, se obtienen las imágenes de las Figuras 13, 14, 15 y 16.

En la Figura 13, se utiliza el comportalmiento “Rule” para dar la orden que cuando el atributo o función booleana “GIRO-DM” tiene el valor verdadero, entonces rota (rotate) el avión en el sentido de las manecillas del reloj (clockwise) a una velocidad de 180.

 

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 12.00.22.png

Figura 12

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 12.09.22.png

Figura 13

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 12.09.46.png

Figura 15

 

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 12.09.38.png

Figura 14

Macintosh HD:Users:66096609:Desktop:Captura de pantalla 2016-11-09 a las 12.09.56.png

Figura 16

En forma similar, en la Figura 14 se muestra la orden, con el apoyo del comprtamiento “Rule”, de que si el atributo o función booleana “GIRO-DCM” tiene el valor verdadero, entonces rota (rotate) el avión en el sentido contrario de las manecillas del reloj (counter-clockwise) a una velocidad de 180.

En el caso de la Figura 15 se muestra la orden, con el apoyo del comportamiento “Rule”, de que si el atributo o función booleana “AVANCE” tiene el valor verdadero, entonces se mueva (move) el avión hacia delante (dirección de 90º) a una velocidad (speed) de 300.

Finalmente, en la Figura 16 se muestra la orden, con el apoyo del comportamiento “Rule”, de que si el atributo o función booleana “DISPARA” tiene el valor verdadero, entonces se dipara una bala llamada “BALA” con el apoyo del comportamiento “spawn actor” el cual permite generar un actor a partir de otro actor.

En la página web de GameSalad, hay tutoriales y manuales que permiten aprender la funcionalidad de éste motor de videojuegos. Aquí solamente hemos presentado algunos aspectos de funcionalidad con la finalidad de mostrar cómo se usan las funciones booleanas en el desarrollo de videojuegos.

  1. Ver: https://es.wikipedia.org/wiki/Motor_de_videojuego
  2. Ver: http://gamesalad.com/