A downloadable game

 Objetivo:  Elimina todos los enemigos y abre los cofres para poder ganar.


Como descargar y ejecutarlo?

- Presiona el botón Download.

- Descarga la version de Windows – Versión empaquetada (UE5)

- Extrae los archivos del zip descargado.

- Una vez extraido los archivos, podras ejecutar el .exe y ejecutara el juego.


Descripción del Proyecto:

El proyecto es un Dungeon Crawler, cuyo objetivo es implementar un sistema de inteligencia artificial (IA) robusto para los enemigos, junto con características de jugabilidad, sonido, persistencia de datos y optimización.

Características Implementadas Destacadas:

  1. Inteligencia Artificial (IA) de Enemigos:
    • Sentidos: Todos los enemigos tienen detección por vista y sonido, con rangos modificables según el tipo de enemigo.
    • Enemigo Melee (Cuerpo a Cuerpo): Actúa como base. Utiliza un Behavior Tree (BT) que gestiona los estados de:
      • Ataque ("attacking"): Persigue y ataca al jugador dentro del rango.
      • Investigación: Se activa al escuchar al jugador fuera del rango de visión, y se dirige al origen del sonido.
      • Patrullaje: Recorre puntos definidos (patroPoints - Spline) o permanece en Idle si no hay puntos de patrulla.
      • El ataque se realiza mediante un animationMontage que detecta la colisión de la mano con el jugador.
    • Enemigo a Distancia:
      • Utiliza un BT idéntico al melee, pero con mayor alcance.
      • El ataque es a distancia: dispara un hechizo/proyectil mediante un notify de la animación (casteo a mitad de la animación), el cual quita vida al jugador al hacer overlap.
    • Enemigo Scout (Explorador):
      • Su ataque consiste en usar un cuerno (animationMontage), lo que invoca (spawnea) un enemigo melee para que ataque al jugador.
      • Tras invocar, entra en un estado de escapar, huyendo a un target point preasignado, espera un tiempo y luego vuelve a su punto de patrulla.
  2. Sistema de Sonido:
    • Pasos del Jugador: Implementación de un animNotify en el animationMontage del jugador que produce sonido al tocar el suelo.
    • Detección de Superficie: El sonido de los pasos varía dependiendo de la superficie sobre la que se encuentre el jugador.
    • Ataques de Enemigos: Uso de animNotify en las animaciones de ataque para emitir un sonido.
    • Efectos Especiales: El enemigo a distancia produce un efecto de fuego y castea una bola de fuego con el ataque.
    • Otros Sonidos: Implementación de sonido al activarse las trampas y al morir los enemigos.
  3. Configuración de Datos Centralizada (Data Tables) y Daño:
    • Creación de una Datatable para gestionar variables clave: vida máxima de enemigos, daño que inflige cada enemigo, y daño recibido por el jugador.
    • La maxHealth se asigna desde la Datatable en Begin Play para todos los enemigos.
    • El cálculo de daño (al enemigo por el jugador y al jugador por el enemigo) se descuenta directamente del valor de la Datatable.
  4. Función de Librería (Function Library):
    • Función centralizada para infligir daño al jugador, combinando el sistema de salud (BPC_healthsystem) con el valor de daño tomado de la Datatable.
  5. Persistencia de Datos:
    • Uso de un Game Instance Blueprint para manejar la lógica de guardado y carga.
    • LoadFunction: Carga los datos guardados del jugador (posición y vida) con Load Game From Slot.
    • SaveFunction: Guarda las variables del jugador (posición y vida) con Create Save Game Object y Save Game to Slot.
    • Funcionalidad activada en el jugador mediante las teclas 'K' (Guardar) y 'L' (Cargar).
  6. Optimización:
    • LODs (Levels of Detail): Uso de LODs en los modelos del nivel para mejorar la optimización.
    • Level Streaming: Implementación de trigger boxes que habilitan partes del nivel (cargan el nivel) solo cuando el jugador se acerca, evitando tener todo el nivel cargado de antemano.



Published 28 days ago
StatusPrototype
AuthorSebato

Download

Download
DungeonCrawler.zip 434 MB

Leave a comment

Log in with itch.io to leave a comment.