Resumen

Aprende a construir, paso a paso, la base jugable de una criatura estilo Tamagotchi en Unreal Engine con Blueprints. Desde la estructura de carpetas y la elección de clase hasta la lógica de salud, daño y muerte. Todo con buenas prácticas, convención de nombres y enfoque visual para trabajar rápido y sin complicaciones.

¿Qué son los Blueprints y cuándo elegir Pawn, Actor o Character?

Los Blueprints son programación visual basada en C++ que permite crear clases y lógica de forma gráfica. Muchos juegos están hechos 90–100 % con Blueprints; solo conviene pasar a C++ si hay operaciones muy pesadas por frame. En este proyecto se trabaja todo con Blueprints.

  • Un Blueprint es un objeto con lógica que se puede arrastrar al mundo. No es estático.
  • Clase Actor: lo más básico que “hace algo” en el nivel.
  • Clase Pawn: hereda de Actor y puede ser “poseído” por jugador o IA.
  • Clase Character: hereda de Pawn e incluye sistema de movimiento (saltar, nadar, volar).

Para un Tamagotchi oscuro, se elige Pawn: se controla la criatura, pero no requiere todas las mecánicas de un Character. Esto simplifica y enfoca la lógica.

¿Cómo organizar el proyecto y crear la clase base?

Organizar bien desde el inicio acelera el trabajo y evita errores. Se crea la carpeta Core y dentro se mueve Blueprints. Se puede asignar color a la carpeta para identificar elementos críticos.

  • Dentro de Blueprints, crear la carpeta Creatures (Creatures).
  • Crear un Blueprint Class de tipo Pawn y nombrarlo con la convención de Allar: BP_TamagotchiBase.
  • Este Blueprint será la base del “player” y también de los enemigos.

¿Qué componentes necesita el Pawn?

Unreal es un motor basado en componentes: se añaden como piezas tipo Lego.

  • Agregar cápsula de colisión: Capsule Component. Detecta impactos y evita atravesar el piso.
  • Dentro de la cápsula, añadir un skeletal mesh: modelo 3D con rigging controlable por animaciones.
  • Añadir un static mesh como marcador: “marker” para indicar estados de control sobre el personaje.

¿Dónde se programa en Blueprints?

Existen dos pestañas clave para lógica.

  • Construction Script: se ejecuta antes de instanciar la clase.
  • Event Graph: eventos, funciones y acciones en tiempo de juego.

¿Cómo programar salud, estado enfermo y muerte con funciones y variables?

La lógica principal vive en funciones y variables con tipos adecuados.

¿Cómo definir Health y aplicar daño de forma segura?

Se crea la función “calcular salud” (Calculate Health).

  • Variable Health de tipo float con rango 0–1. Inicial en 1 (100 %).
  • Uso de get y set: leer y escribir la variable en el flujo.
  • Parámetro de función HealthDamage: daño entrante.
  • Cálculo: Health = Health (get) − HealthDamage.
  • Aplicar clamp (float) a 0–1 para evitar valores negativos o mayores a 1.

Buenas prácticas.

  • Compilar tras cada cambio para validar el Blueprint.
  • Parametrizar el daño en vez de “quemarlo” en el nodo.

¿Cómo detectar estado enfermo con un booleano?

Al finalizar el cálculo de Health, se evalúa si el personaje está enfermo.

  • Variable enfermo de tipo boolean.
  • Condición: si Health < 0.34, entonces “enfermo = true”; en caso contrario, “false”.
  • Así, con menos de 34 % de vida la criatura se “siente” débil y podemos reaccionar en animación o UI.

¿Cómo comprobar muerte con una función reutilizable?

Se crea la función “check death” para centralizar la verificación.

  • Condición: Health ≤ 0 o ya estaba marcado como muerto.
  • Uso de operador OR para combinar las condiciones.
  • Variable death? de tipo boolean para almacenar el estado de muerte.
  • Integración: llamar “check death” al final de “calcular salud” y alimentarla con la variable “death?” para persistir el estado entre sesiones.

Ideas clave que consolidas al terminar.

  • Diseño por componentes en Unreal: cápsula, skeletal mesh, static mesh.
  • Convención de nombres: prefijo BP_ para Blueprints.
  • Tipos de dato: float para Health, boolean para enfermo y death?.
  • Flujo visual con get/set y funciones con parámetros.
  • Control de rango con clamp y decisiones con comparadores y OR.

Si te gustaría profundizar en animación o ver cómo se conectan assets del Marketplace al skeletal mesh y al Blueprint de animación, cuéntame en un comentario qué criatura quieres crear y qué comportamiento te interesa ver.