Creación de Balas Enemigas y Disparo en Unreal Engine
Clase 16 de 18 • Curso de Creación de Videojuegos de Realidad Virtual
Resumen
¿Cómo hacen para que los enemigos disparen en un videojuego?
Incorporar la capacidad para que los enemigos disparen en un videojuego es un proceso que requiere manejar adecuadamente los blueprints y los objetos dentro del juego. Una de las primeras cosas que debemos hacer es modificar el blueprint del blanco para que sean capaces de disparar balas hacia el jugador. Vamos a detallar los pasos para lograrlo:
-
Duplicar el blueprint de la bala: Necesitamos crear un nuevo tipo de bala, así que duplicamos la bala existente y la llamamos
bala enemiga
. -
Modificación de la bala enemiga: Configuramos que la
bala enemiga
afecte al jugador, elPlayerPawn
. En el evento de impacto con elPlayerVR
, destruimos la bala y reducimos la salud del jugador. -
Creación de variable de salud: En el blueprint del
PlayerVR
, creamos una nueva variable llamadasalud
de tipo entero, que define cuántos impactos puede recibir el jugador antes de perder.
¿Cómo se implementa un seguimiento dinámico al jugador?
Un elemento crucial para aumentar la dificultad y el dinamismo del juego es que las balas enemigas sigan y apunten al jugador de manera constante, incluso si este se mueve. El proceso para implementar esta función incluye varios pasos:
-
Referenciar la esfera del jugador: En el blueprint de los blancos, necesitamos hacer referencia a la esfera de colisión del
Player
. Para eso, hacemos un cast alPlayerPawn
y luego obtenemos la esfera deseada. -
Generación de la bala enemiga: Usamos un
SpawnActorFromClass
para crear la bala enemiga. La ubicación de inicio se obtiene de la malla estática del blanco en el mundo. -
Calcular la rotación hacia el jugador: Para que las balas apunten al jugador, calculamos la rotación entre el punto de origen de la bala y la posición del jugador utilizando
FindLookAtRotation
. -
Ajustar colisiones y velocidades: Es esencial permitir superposiciones en la esfera para evitar conflictos. Luego, ajustamos la velocidad del proyectil y su tamaño para que el jugador pueda verlas y reaccionar.
¿Cómo se controla la frecuencia de disparo de los enemigos?
Un aspecto que puede aumentar la jugabilidad y evitar que el nivel de dificultad sea abrumador es ajustar la frecuencia con la que los enemigos disparan. Esto se puede lograr usando un sistema de condiciones al azar:
-
Implementación de un "Switch" en el flujo de ejecución: Antes de que los blancos disparen, introducimos un
Switch On Int
, que nos permitirá controlar cuántas veces se ejecuta el código de disparo. -
Randomización: Usamos una función de número aleatorio dentro de un rango para decidir si una esfera específica debería disparar en cada ciclo del evento. Esto se traduce en que solo una de cada tres o cuatro esferas disparará, haciendo más manejable la experiencia de juego.
-
Ajuste del flujo del juego: Con esta técnica, creamos un flujo donde la probabilidad de que los enemigos disparen está controlada y el jugador tiene más tiempo para adaptarse y planificar sus movimientos.
Implementar todas estas funcionalidades proporciona una experiencia de juego más desafiante y dinámica, mejorando la interacción del jugador con el entorno del videojuego. Al seguir estos pasos, podrás ver una mejora sustancial en la manera en que los enemigos interactúan y desafían al jugador.