Introducción

1

Game Design del juego

2

La estructura y assets de un proyecto en Unity

3

Convirtiendo nuestros assets en Tiles

4

Tilemaps y creación del escenario

5

Bonus: FastForward de la creación del escenario, sorting layers y creación de colliders

6

Acá encontrarás los archivos de este curso

Personaje principal: Movimiento y Animaciones

7

El jugador y el movimiento

8

Creando nuestra primera animación

9

Creando el grafo de animaciones

10

Usando un árbol de animaciones

11

Mostrando la solución del desafío e implementando transición entre blended trees

12

Programando una cámara que siga al jugador

13

Corrección del bug gráfico

14

límites del escenario, rigid bodies

15

Ejercicio: diseño de interiores

Escenarios Avanzados

16

Transiciones entre escenas

17

Mantener Player y Camera entre escenas

18

Spawning Points: programando que el jugador y la cámara aparezcan en el lugar correcto al cambiar de escena

19

Agregando Identificadores a nuestros Spawning Points para controlar mejor el flujo de nuestro juego

Enemigos Avanzados

20

Creando nuestro enemigo

21

Programando las físicas y el patrullaje del enemigo

22

Generando movimiento completamente aleatorio

23

Programando el ataque del enemigo

24

Crear Manager de Health del Player

25

Crear armas

26

Programando el ataque del Player con arma

27

Mover la espada al caminar

28

Creando el ataque con espada

29

Ejecutando el ataque con un botón

30

Movimiento en diagonal

31

Optimizando nuestro player controller

32

Ataque mejorado

33

Uso de partículas

34

Añadir el daño del enemigo en batalla

35

Programando los contadores de vida del enemigo

36

Colocando más info de UI en pantalla

37

Script de la vida

Personaje principal avanzado

38

Añadir el daño del personaje (ejercicio)

39

Sistema de puntos de experiencia para nuestro personaje principal

40

Level Up!

41

Level Up! Defensa y Reto Final del Módulo: Stats de los enemigos

42

Creando un NPC

43

Limitar el movimiento de nuestro NPC

44

Creando una pantalla de diálogos para nuestro RPG

45

El diálogo del NPC

46

Múltiples líneas de diálogo

47

Parar el NPC durante el diálogo

48

Parar el personaje durante el diálogo

Quests

49

La estructura de una quest

50

Quest 1: Ir a un lugar

51

Quest 2: Encontrar un objeto

52

Quest 3: Matar enemigos

53

Revisión de bugs

54

Mantener la cámara dentro del escenario

55

El problema al cambiar de escena

Audio

56

Agregando SFX a nuestro videojuego

57

Agregando música a nuestro videojuego

58

Ajustar volúmen del audio de cada uno de los efectos de sonido

59

Creando un VolumeManager

60

Agregando economía a nuestro juego y cierre

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Programando el ataque del Player con arma

26/60
Recursos

¿Cómo configurar la vida de un enemigo?

En los videojuegos de rol, la gestión de la vida de los personajes y enemigos es fundamental para construir una experiencia de juego dinámica y desafiante. Gracias a un enfoque modular en scripting, podemos aplicar el mismo sistema de vida tanto al protagonista como a los enemigos. Esto se logra mediante un "manager de vida", un concepto general que calcula y representa la salud en pantalla usando dos valores: la vida máxima y la vida actual.

Para implementar la vida de un enemigo, comenzamos con estos pasos:

  1. Asignar el manager de vida al enemigo: se accede al prefab del enemigo y se asigna el script que maneja la vida, similar a como se haría con el personaje principal.
  2. Establecer la vida máxima del enemigo: configurar un valor inicial para la vida del enemigo, por ejemplo, 20 puntos. Este valor puede ser ajustado más adelante para equilibrar el diseño del juego.

Con estos simples pasos, todos los enemigos tendrán una vida mínima que puede ser controlada y modificada según sea necesario.

¿Cómo hacer que un arma cause daño a un enemigo?

Ahora que los enemigos tienen configurada una cantidad de vida, es crucial que el jugador pueda dañarlos. Para lograr esto, se necesita un script de daño para el arma del jugador.

1. Crear una variable de daño

Se comienza creando una variable pública en el script de daño del arma:

public int damage;

Esta variable representa el daño que la espada causará al enemigo.

2. Ajustar el comportamiento de colisión

En lugar de destruir inmediatamente al enemigo tras la colisión, el script debe reducir la vida del enemigo:

collision.gameObject.GetComponent<HealthManager>().damageCharacter(damage);

Al llamar a damageCharacter, restamos la cantidad de daño de la espada a la salud actual del enemigo.

3. Configuración del daño de la espada

En el editor, se establece un valor de daño para la espada, como 10 puntos. Esto significa que dos golpes de la espada resultarán en la destrucción del enemigo, asumiendo que su vida máxima es de 20 puntos.

¿Qué ajustes adicionales pueden mejorar la mecánica de combate?

Aunque la mecánica básica de daño está establecida, el juego puede enriquecerse mediante ciertos ajustes que mejoren la jugabilidad:

  • Animaciones de daño y ataque: incorporar animaciones de movimiento y ataque ofrece una experiencia más realista y satisfactoria. Estas animaciones ayudan a comunicar el impacto de los ataques a los jugadores.
  • Ajuste del "collider" del arma: modificar el área del polígono "collider" del arma facilitará la interacción, permitiendo que los ataques sean más efectivos y menos frustrantes, especialmente si el arma no se mueve.

Consideraciones futuras

Estos pasos y ajustes son esenciales para una constitución de combate efectiva y fundamentan el desarrollo futuro. Las mecánicas de los juegos de rol requieren un equilibrio cuidadoso, y cada script debe ser independiente para facilitar modificaciones y mejoras según sea necesario. ¡Sigan explorando y mejorando estas mecánicas para construir una experiencia de juego apasionante y atractiva!

Aportes 3

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Poco a poco el juego va tomando forma.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class WeaponDamage : MonoBehaviour
{
    /**** Variables. ****/

    public int damage;


    /**** Metudus. ****/

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.tag.Equals("Enemy"))
        {
            collision.gameObject.GetComponent<HealthManager>().DamageCharacter(damage);
        }
    }
}

pus yo hice que al dar click ataque

Genial