El personaje y el controlador

1

Introducción: De la idea al desarrollo

2

Estructura de carpetas en Unity

3

Assets, Game Objects y Sprite Atlas

4

Animaciones desde un sprite map

5

Animation Controller y Transiciones

6

Plataformas y gravedad

7

Física en Unity

8

El script de control

9

Programando funciones en C# y Unity: Jump

10

Detectar el suelo con Raycast

11

Herramientas de debugging visual

12

Cambiar las animaciones según los estados

13

Reto: Terminando nuestras animaciones

14

Solución del reto

15

Hacer que el personaje camine

El manager del videojuego

16

Cómo funciona el Game Manager

17

El Singleton

18

El modo de juego

19

Input manager y juegos multiplataforma

20

Corrección del Bug del salto

21

La zona de muerte

22

Reiniciar la partida

23

Corrigiendo los bugs al reiniciar nuestro juego

Diseño procedural de niveles 2D

24

El diseño de niveles a mano

25

Configurando nuestros assets para el diseño procedural

26

Generación procedural de niveles

27

Creando la zona que eliminará bloques del nivel excedentes

28

Añadir un nuevo bloque de forma aleatoria

29

La cámara que sigue al jugador

30

Destrucción de bloques antiguos

31

Terminando de programar la destrucción de bloques antiguos

32

Solucionando el salto de la cámara al reiniciar el juego

HUD, menús y gameplay

33

El canvas en Unity

34

Uso de botones para crear un menú

35

La lógica de los menús

36

Ejercicio: Preparando el menú del juego

37

Programando el menú del juego

38

Los coleccionables del juego

39

Actualizar UI de coleccionables

40

Iniciando con pociones y maná

41

Pociones de vida y maná

42

Programando las barras de vida y maná

43

Calculando los puntajes con la distancia y el tiempo de juego

44

La lógica del maná

Enemigos y dificultad

45

Plataformas móviles

46

Iniciar movimiento de la plataforma con trigger

47

Enemigos móviles

48

Enemigos móviles: preparando nuestro enemigo para girar

49

Enemigos móviles: programando que fire al chocar

50

Arreglando el collider de nuestra roca

51

Programando la condición de muerte del personaje

52

Añadiendo música de fondo a nuestro videojuego

53

Añadiendo efectos de sonido y cierre del curso

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de C# para Videojuegos

Curso de C# para Videojuegos

Juan Gabriel Gomila

Juan Gabriel Gomila

El diseño de niveles a mano

24/53
Recursos

Los Game Designers (en este caso, Level Designers) son los arquitectos que utilizan las plataformas, rocas, enemigos y zonas de la muerte para crear niveles completos y divertidos en nuestro videojuego.

Cuando diseñamos estos niveles tenemos dos opciones: crear los niveles a mano o programando aleatoriedad en nuestros obstáculos. Hoy en día casi todos los videojuegos utilizan esta técnica procedural ya que por defecto tenemos más variedad de experiencias, pero en los primeros videojuegos los niveles eran creados a mano, los niveles eran siempre iguales.

En esta clase vamos a ver el proceso de crear los niveles a mano, pero durante las siguientes clases vamos a generar los obstáculos y escenarios de manera aleatoria.

Aportes 18

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

si están haciendo un nivel y ven que el personaje se queda como pegado cuando choca contra una plataforma pueden añadirle un material de física a su collider bajándole la fricción a 0. en Creatre > Physics Material 2D y se lo agregan al collider del personaje en el campo donde dice Material

Una solución bastante buena para no tener que añadir otro collider, es el de añadirle al Collider el Player un Material de Física con la fricción en 0.

Yo dejare una sola dead zone para que el diseño del juego no se haga tan complicado y agregar ese poco de cosas, aun que tambien es preferencia mia que prefiero que el personaje muera cuando toque el final de la zona como se ve en la imagen

Como mencionaron abajo, para evitar que el personaje se quede pegado con otro collider horizontalmente, se puede añadir un material físico 2D con fricción 0 al collider del personaje

Pero luego hay el problema que el personaje se desliza hasta perder velocidad incluso luego de dejar de aplastar las teclas de movimiento. Esto se soluciona con la última parte del script de movimiento verificando si dejé de pulsar una tecla de movimiento horizontal, entonces que la velocidad horizontal sea 0 (al multiplicarse por 0) y listo, queda perfecto todo

En lugar de poner kill zones a mano, yo recomendaria poner una killzone por debajo del jugador, y despues ponerle un script que lo siga por el eje X. Asi cuando el jugador caiga lo suficiente moriria automaticamente sin que nosotros hayamos puesto una kill zone ahi.
He consguido hacer eso con este script

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

public class KillZone : MonoBehaviour
{
    public Transform player;
    
    // Start is called before the first frame update
    void Start(){}

    // Update is called once per frame
    void Update(){
        transform.position = new Vector3(player.position.x, transform.position.y, transform.position.z);
    }


    private void OnTriggerEnter2D(Collider2D collision){
        if(collision.CompareTag("Player")){
            
            AlternateScript controller = collision.GetComponent<AlternateScript>();
            controller.Die();
        }
    }
}

Es mejor tener un solo collider para el Killzone ohh es mejor tener varios?

Otra opción al momento de morir seria: sumar un frame mas con animación de muerte y en este segundo frame cambiar su collider a trigger.

Yo personalmente he diseñado las plataformas con una distancia relativa, de manera que quede realista y a la vez tenga el suficiente espacio el personaje para caer y realizar todas las animaciones al morir. El BoxCollider 2D me está dando fallos, incluso implementándole físicas2D.

Genial


por que no se ven mis plataformas?

que diferencia hay de hacerlo asi o con el tile palet??

No seria mas fácil hacer diseño de niveles con el TileMap?

Hola, tengo un problema, cuando el profe selecciona el kill zone que es un colider se ven los bordes en cambio a mi me sale asi, porfavor si saben les agradezco

¿Que hace un Level Designer?

Enfoques de Level Design: A mano y procedural

Usar un Collider Trigger para el cuerpo del jugador y uno normal para los pies del jugador

Porque cuando selecciono cualquier objeto, no me aparecen esas flechas como al profe para mover lo?

LevelBlock![](