5. Playable characters and enemies - Project3CITM/CulverinEngine-Project3 GitHub Wiki
Game Characters
Overview
Over of what your characters are.
Creating a Character
How you create or personalize your character.
Enemies and Monsters
La inteligencia artificial planteada para nuestro videojuego toma como referencia Legend of Grimrock 2 (vídeo directo a ejemplo de combate). Como podemos ver en el vídeo, los enemigos se desplazan por tiles una a una, con un tiempo de espera entre tile y tile. También aplicamos este mismo tiempo a las rotaciones.
Guardia dorada con espada
Enemigo simple que se encuentra en King’s row. Porta un armadura dorada de peso medio y una gran espada pesada a dos manos (la cual apoya en su pecho cuando patrulla). Su patrón de ataque es uno de los más simples, ya que es el primer personaje que se encuentra en el juego.
FSM
Movimiento
Tipos de movimiento: Guardia. Se mantiene quieto mirando en una dirección. Patrulla. Si el jugador no ha sido detectado, el guardia patrulla del punto A al punto B. No puede estar en guardia y en patrulla a la vez, dar la opción de escoger. Seguimiento. Si el jugador ha sido detectado, el enemigo le perseguirá mediante pathfinding, buscando la tile más próxima a él. Una vez alcanzada esta posición comenzará a atacar. Fuera de rango. Si después de haber detectado al jugador, éste sale de su rango de visión, el enemigo debe volver a su punto de guardia o al punto A de patrulla (depende del comportamiento que hayamos escogido). Giro. Siempre que el enemigo vaya a cambiar de dirección debe girar en ese sentido. Referencia. Debug: Punto A y B. Distancia respecto al jugador (en tiles) para estar fuera de rango. Tiempo en moverse entre tile y tile.
Detección del jugador Contaremos con un sistema de percepción, simulando dos de los cinco sentidos. Sentido de vista: Cono de visión representado con un frustum en el que podamos editar su distancia y rango de visión. Sentido de audición: Tendremos en cuenta la distancia con respecto al jugador y el dampening. Enemigo representado con una E. Debug: Distancia y rango de visión del frustum enemigo.. Distancia respecto al jugador para estar fuera de rango (mismo apartado que en Movimiento).
Combate El enemigo atacará cuando se encuentre en una casilla contigua al jugador. Realizará un ataque cada tres segundos, aplicando el daño del enemigo cuando haya transcurrido la mitad de la animación. Ataque. Si el enemigo está en una casilla contigua al jugador, cada tres segundos realizará un ataque. Este contador no se reinicia cuando el jugador se mueve. Recibir daño. Cuando el jugador ataque al enemigo, este recibirá el daño de la habilidad. En el caso de que jugador y enemigo ataquen a la vez, mantendremos la animación de ataque del enemigo antes que la animación de recibir daño. Debug: Vida enemigo Cool down de ataque del enemigo tiempo de animación de ataque tiempo entre animaciones de ataque Daño de ataque del enemigo. Velocidad de animación de ataque del enemigo Punto en la animación de ataque del enemigo donde hace daño al jugador Punto en la animación de ataque del jugador donde hace daño al enemigo
Animaciones
Debido al sistema de combate planteado, debemos conseguir animaciones al estilo Grimrock 2 o Chivalry. No deben tener mucho tiempo de preparación como para que al jugador le de tiempo a moverse (no es el tipo de gameplay que queremos recrear en este caso), pero sí como para parar el golpe con un escudo en el momento apropiado.
Por otro lado, a la hora de plantear los pesos del movimiento, debemos tener en cuenta que el enemigo porta una armadura de peso medio y una espada pesada a dos manos. Esta espada está apoyada en el pecho del personaje cuando no esté atacando.
Importante: Las transiciones entre animaciones deben ser lo menos bruscas posibles (hacer coincidir el último frame de la animación con las siguientes posibles). Para ello debemos tener en cuenta el FSM del enemigo.
Lista de animaciones
Tener en cuenta en todo momento los pesos del personaje.
Idle patrullando. Transcurre cuando el enemigo está quieto sin estar en estado de alerta. Al usar un arma a dos manos deberá apoyar la hoja de la misma en el pecho derecho. Posición parecida a Patrol pero sin caminar, animar el pecho respirando. Idle en combate. La animación transcurre entre ataque y ataque, cuando el enemigo no se mueve, o en los momentos de pausa entre tile y tile cuando persigue al jugador. Su lenguaje corporal debe transmitir agresividad. Referencia (la espada de nuestro guardia es a dos manos (AGARRA la espada con las dos manos), pero prestar atención a la inclinación de la espalda y la flexión de las rodillas). Patrol. Patrulla del enemigo. Tener en cuenta el peso medio del armadura y el gran peso del arma. Al usar un arma a dos manos deberá apoyar la hoja de la misma en el pecho derecho. El mango de la espada debe estar a media altura. Chase/perseguir. Animación similar a Idle en combate pero desplazándose. Transcurre cuando el enemigo persigue al jugador. Flexionar las rodillas e inclinar el cuerpo ligeramente hacia adelante. Recibir golpe. El enemigo se echa ligeramente hacia atrás, acompañándolo con el tronco. Ataque 1. Ataque lateral con la espada. Transcurre durante el combate. Recordar compensar pesos durante el movimiento de la espada. Muerte. Muerte del guardia. Cae de rodillas al suelo y después cae el cuerpo hacia delante. Ataque 2. Junto con el Ataque 1 enriquecería las animaciones del enemigo para que no pareciese tan automático/robotizado.
Describe enemies or monsters in the world or whomever the player is trying to defeat. Naturally this depends heavily on your game idea but generally games are about trying to kill something.