• No se han encontrado resultados

Definición de máquinas de estado finitas

2. Análisis funcional

2.3 Definición de máquinas de estado finitas

Como ya se ha introducido en el punto 2.1.2 la IA aplicada a los videojuegos, dota a estos de realismo. Existen distintas técnicas para la implementación de esta. Una de las más consolidadas es, el uso de máquinas de estados finitas, ya que tienen un coste computacional casi inexistente ya que no tienen ningún coste de procesamiento asignado. Las máquinas de estados permiten de forma fácil definir comportamientos.

Es por este motivo, que han sido utilizadas no solamente para definir los comportamientos de la IA del videojuego, sino también para definir los distintos estados en que se puede encontrar el videojuego durante su tiempo de vida. A continuación se detallan los distintos diagramas de las máquinas de estados utilizadas para este proyecto conjuntamente con una explicación de cada una de ellas.

2.3.1 Máquina de estados del videojuego

ilustración 8. Máquina de estados del videojuego

La ilustración 8, nos muestra los estados que puede tomar el videojuego durante su tiempo de vida.

Este diagrama define los estados que puede tomar el videojuego una vez iniciado, inicialmente el juego se encuentra en el estado READY, de este estado existe una transición al estado GAME cuando el tiempo de READY finaliza READY <=0. El estado game sera el estado en donde se

desarrollara todo el juego. Des de este estado podemos pasar al estado PAUSE si pulsamos el botón de pausa del juego y desde el estado PUASE volvemos al estado GAME si volvemos a pulsar el botón pause. Finalmente desde el estado GAME haremos la transición al estado GAME OVER si nos arrebatan todas las vidas durante la partida. Desde el estado GAME OVER podremos volver a READY si decidimos hacer una nueva partida.

2.3.2 Máquina de estados comportamiento oveja

ilustración 9. Máquina de estados comportamiento oveja

La ilustración 9 muestra el comportamiento del personaje principal del videojuego que en este caso es la oveja. Se define el ciclo de vida de la oveja a través de sus comportamientos.

APPEAR SHEEP: La oveja aparece fuera del rango visual de la pantalla y empieza a moverse, para que suceda la transición hacia el siguiente estado FOREST START, la coordenada x debe ser menor que 220.

FOREST START: La oveja seguirá moviéndose en un espacio determinado de la pantalla hasta que sea lanzada en unas determinadas direcciones, la dirección queda determinada, por las variables velocityX, velocityY, estas tomaran valores positivos o negativos determinando la dirección de lanzamiento, esto queda reflejado en la condición de transición del estado FOREST START a FOREST DEEP. Si realizamos el lanzamiento en esas determinadas direcciones haremos la transición al un nuevo estado FOREST DEEP.

ON THE PEN: Finaliza el ciclo de vida de la oveja dentro del juego, esta es devuelta al corral, se incrementan puntos en el marcador de puntuación, y se incrementa una unidad en el contador de ovejas salvadas.

2.3.3 Máquina de estados comportamiento lobo

ilustración 10. Máquina de estados comportamiento lobo

La ilustración 10 muestra el comportamiento de los enemigos del videojuego que en este caso son los lobos. Se define el ciclo de vida del lobo a través de sus comportamientos.

APPEAR EYES: Antes de aparecer los lobos a escena aparecerán sus ojos entre los matorrales del bosque. Cuando acaba el tiempo pasa al siguiente estado tiempo ojos <= 0

APPEAR WOLF: En este estado se seleccionara el tipo de lobo (habrá 3 tipos distintos), el lado de la pantalla por donde aparecerá posición y velocidad de salto como también el tiempo en segundos que tardara a saltar al escenario. Una vez seleccionados todos estos parámetros hará la transición al estado WHEN JUMP.

WHEN JUMP: Este estado simplemente esperara que pase el tiempo para que el lobo salte al escenario. Un vez pase el tiempo el lobo aparecerá en el escenario pasando a la transición JUMP ON SCENE.

matorrales laterales de la pantalla,hacia el escenario dibujando un arco convexo. Para realizar el salto nos apoyaremos en la representación del calculo de la función trigonométrica coseno, solamente en sus valores positivos, por tanto cuando cosy < 0 haremos la transición al estado MOVE ya que el salto habrá finalizado.

MOVE: En este estado los lobos se moverán y podrán ser ahuyentados pulsando repetidas veces encima de ellos, las veces a pulsar queda sujeta al tipo de lobo que sea. Des de este estado, podremos hacer a dos estado distintos dependiendo de lo que suceda. Si conseguimos ahuyentar al lobo pasaremos al estado WOLF SCARED. Si por el contrario el lobo atrapa a la oveja, haremos la transición al estado SHEEP TRAPPED, en ambos estados finalizara el ciclo de vida del lobo.

WOLF SCARED: Se habrá ahuyentado el lobo, se incrementa en uno el contador de lobos ahuyentados y se suman puntos a la puntuación total. En este estado finaliza el ciclo de vida del lobo.

SHEEP TRAPPED: El lobo habrá atrapado una oveja, se nos restara una vida. En este estado finaliza el ciclo de vida del lobo.

2.3.4 Máquina de estados tutorial in game

ilustración 11. Máquina de estados tutorial in game

cada 5 segundos desde que se ha activado el primer estado. Cada estado corresponderá a una caja de texto mostrada en pantalla.

3. Diseño

Documento similar