Third person shoter – plataformas

Vídeo

Video explicativo del videojuego.

Introducción

Este juego está desarrollado tomando como base el proyecto:

https://wordpress.com/post/diariodeunloco.org/514

Se han reutilizado scripts y assets. Otros han sido adaptados a los requisitos de la práctica y algunos actualizados y mejorados.

Pueblo

He utilizado el asset “Toon Gas Station” de la asset store. He usado el asset “Exteme Sci-fi Lite” para crear los bunkers.

La distribución del pueblo es alargada. Mezclando zonas urbanas más cerradas y espacios abiertos.

El borde del mapa tiene montañas para impedir el paso del jugador.

Auto-apuntado

El auto apuntado selecciona el objetivo válido más cercano y le marca con la mirilla.

El algoritmo busca los objetos cercanos que implementen la interfaz “IDamageable”, de esos objetos, selecciona al más cercano de los que estén en el cono de visión. Esto se hace comprobando el ángulo que forma la dirección del objetivo con el vector frontal “forward”.

El objetivo válido se comprueba en dos situaciones. Una para la mirilla y otra al disparar. La mirilla revisa los objetivos cada X segundos si tiene que mostrarla o no. La segunda es en el momento en el que el jugador dispara, verifica si hay un objetivo y si lo hay, le hace el daño, si no, se pierde el disparo.

Animación personaje

Usando un carácter de los disponibles en mixamo.com y un set de animaciones, se han implementado las acciones solicitadas. Comunicando el código de control del personaje con el animador, se especifica la velocidad y los triggers de acciones, como disparar o recibir un impacto.

HUD

He reutilizado el HUD de la PEC2. El indicador de munición, cargadores y vida es exactamente igual que el código ya implementado.

En lugar de barra de escudo, he implementado la zonificación. El jugador irá recibiendo zombificación con ataques cuerpo a cuerpo de los zombis. Esta zombificación se reduce automáticamente con el tiempo o recogiendo el objeto de cura específico. En caso de que llegue a 100, empezará a hacer al jugador daño adicional cada X segundos, durante Y segundos.

IA Enemiga

La máquina de estados que controla el comportamiento de los enemigos es la misma que en la PEC2. Se han añadido estados nuevos para implementar nuevas funcionalidades:

ChaseState: Estado de persecución, perseguirá al jugador mientras lo tenga a rango a su posición en tiempo real. En caso de que el jugador salga de su rango de visión, lo perseguirá hasta el último punto conocido. En ese momento pasará a Idle.

WanderState: Estado de patrulla, seleccionará una posición aleatoria del mapa y se desplazará a ella. Cuando llegue, volverá a idle.

ShockState: Estado de conmoción. Cuando el enemigo reciba un impacto entrará en este estado hasta que pase el tiempo de conmoción.

Deja un comentario