Aprende Unity 2D Videojuegos Personajes Enemigos Escenarios
- Descrição
- Currículo
- FAQ
- Revisões
Este curso está orientado a personas que como mínimo tienen nociones básicas de programación en cualquier lenguaje. Desde profesionales o personas con habilidades en sistemas y manejo de las tecnologías de la información.
El curso está guiado y preparado para adquirir el conocimiento por medio de videos y pautas paso a paso que te ayudaran a entender todo de la mejor forma. El material lo compartiremos en cada clase y de la misma forma puedes ir creando algo totalmente nuevo y propio si tienes ya los diseños o arte creados para el mismo.
Te iniciarás desde como producir un personaje principal o héroe, sus movimientos, armas, características hasta desarrollar los enemigos con quien compartirá escena. Dibujada por ti y ambientada según te plazca.
Al final estarás en capacidad de generar excelentes mecánicas de combate. Animaciones y movimientos administrables, al igual que escenarios o mundos competitivos y desafiantes.
El principal objetivo del curso es orientar al desarrollador a tener buenas prácticas de programación o concepción en la ejecución del scripting. Como objetivos secundarios mejoraras tu conocimiento y habilidades, siendo más competitivo en el mercado actual del mundo de los videojuegos y su desarrollo.
Te espero ahora para poner en marcha este gran curso y aprender mucho más.
-
2Variables en C#Texto
-
3Métodos o Funciones en C#Texto
-
4Variables Globales en C#Texto
-
5Operadores Condicionales en C#Texto
-
6Operadores de Asignación en C#Texto
-
7Operadores Aritmeticos en C#Texto
-
8Arreglos o Arrays en C#Texto
-
9Objetos en C#Texto
-
10Condicional IF en C#Texto
-
11IF_ELSE Multicondicional en C#Texto
-
12Estructura SWITCH en C#Texto
-
13Estructura FOR y FOREACH en C#Texto
-
14Estructura WHILE y DOWHILE en C#Texto
-
15Visual Studio Code - Descarga e InstalaciónTexto
En esta clase te mostraremos donde puedes obtener la aplicación de forma legal y segura, para descargar e Instalar seguidamente.
-
16GitHub Escritorio - Descarga e Instalación (Opcional)Texto
En esta clase te mostraremos donde puedes obtener la aplicación de forma legal y segura, para descargar e Instalar seguidamente.
Nota: El uso de esta aplicación es opcional, Nosotros la utilizaremos para ir dejando avances y actualizaciones del curso, como material audiovisual etc. y demás proyectos adelantados. No es obligatorio instalar este programa de escritorio y no interfiere con el desarrollo normal del estudio.
-
17UnityHub - Descarga e InstalaciónTexto
En esta clase te mostraremos donde puedes obtener la aplicación de forma legal y segura, para descargar e Instalar seguidamente.
-
18Interfase Visual Studio CodeVídeo Aula
Veamos muy por encima la interfase gráfica de Visual Studio Code. No muy lejano a cualquier editor de texto, VSCode contiene funciones y extensiones que pueden hacer más fácil el escribir código, administrar archivos y elevar la velocidad de la codificación. Poco a poco entre más avancemos conoceremos más funciones de este Editor.
-
19Visual Studio Code Autocompletado de Scripting UnityVídeo Aula
Para un programador es de gran ayuda que su Editor de código sea intuitivo y lo ayude a escribir código de una manera más rápida y segura. Por eso vamos a parar un momento y nos detendremos a validar si nuestro editor está actualizado y sobre todo si desde ya nos está ayudando a autocompletar funciones, ya no solo exclusivas de Csharp, sino también funciones propias de Unity.
Observa el video y recuerda lo que necesitas...
1. Tener actualizado el editor Visual Studio Code.
2. La extensión llamada C# instalada y habilitada.
3. Actualizado a la última versión de .NET o dotnet.
Si cumples estos pasos, es muy probable que cuando empieces a escribir una palabra que corresponda algún término de Unity, este autocomplete o muestre varias opciones para elegir.
-
20Extensión ChatGPT para Visual Studio Code (Opcional)Vídeo Aula
Ya hoy en día todos los programadores trabajan de la mano con una IA, ya muchos conocen ChatGPT y descubrieron que puede facilitarnos la vida, ofreciendo respuesta a infinidad de preguntas técnicas. Así que recomiendo esta extensión para Visual Studio Code. No es obligatorio que la instales y tampoco que te registres con los creadores de la extensión. Solo si vez que puede ser de gran ayuda puedes tomar la decisión de usarla.
-
21Crear Nuevo Proyecto Unity2D y Repositorio del Proyecto en GitHub.comVídeo Aula
Siempre que empecemos un nuevo proyecto tenemos que gestionar los cimientos que lo sostienen. Por eso es tan importante desde el principio crear la primera versión del producto en un repositorio. Para este caso utilizamos GitHub y vamos a subir nuestro proyecto de Unity2D a la nube. Por ahora lo origino privado, pero ustedes ya lo podrán ver publico en este momento.
-
22Como crear Proyecto según sea la Versión del Editor UnityVídeo Aula
Unity tiene actualizaciones regulares de su Editor todos los años o meses, dentro de ellas pueden existir cambios leves en la ubicación de ciertas herramientas o funciones, pero básicamente Unity no pierde el objetivo de su editor y aunque existan cambios pueden ser muy sutiles al tiempo, como mejora grafica, velocidad, tamaño, forma o ubicación de iconos o botones. En esta clase te enseño a trabajar con el mismo editor que usamos durante este curso o si es de tu elección usar una versión mas actualizada, pero aceptando que pueden algunas cosas cambiar visualmente.
-
23Interfase Unity 2D Editor UI Inicial (Editor 2019.4.14f1 LTS)Vídeo Aula
Como todo programa o editor, Unity inicia con muchas ventanas por todos lados, pero descuida que aun así se necesitaran más, y poco a poco trabajaremos con todas ellas. En esta clase empezaremos por explicar que va a mostrar cada ventana de la interfase. Recuerda que puedes disponer del espacio de trabajo como mejor te guste, adecua tamaños de ventanas y reubica también si te place, lo importante es trabajar lo más cómodo posible.
-
24Importar Spritesheet del personaje y fondos de la escena, Primeras AnimacionesVídeo Aula
Empecemos entonces por crear a nuestro personaje, trabajaremos temas como :
- SpriteSheets
- GameObjects
- Prefabs
- Animation
- Sprite Editor
- SpriteRenderer
Adicionaremos algo de vida a nuestro entorno unas cuantas imágenes de fondo por ahora.
-
25SpriteAtlas de entorno, Grid de Escena y primeros Colliders2D y RigidBody2DVídeo Aula
Importamos un SpirteAtlas para continuar elaborando nuestro entorno. No podemos continuar desarrollando el personaje, si este no tiene un ambiente donde caminar, saltar y enfrentarse a próximos enemigos.
aprenderemos como configurar el Grid de la escena para que más adelante podamos utilizar la herramienta tile palette y así sea mas fácil y rápido pintar el escenario con suelos plataformas y más.
Agregamos nuestro primeros componentes Collider2D y RigidBody2D.
-
26Dibujando escenario con TilePalette dentro de TileMapsVídeo Aula
Para crear mas fácil nuestro entorno veo muy necesario explicar y manejar la construcción de entornos por medio del tilemap y tilepalette. Veamos entonces como hacerlo mas rápido y fácil.
-
27Movimiento Horizontal del Personaje ScriptsVídeo Aula
Adicionamos los primeros 3 scripts que permitirán al personaje desplazarse en el eje X o plano horizontal, utilizando los Inputs de teclado, pero a su vez que realice la animación correspondiente de caminar. Aprenderemos el concepto de trabajar con administradores y lo importante que son.
-
28Movimientos Correr, Caer, Saltar más Animaciones y ScriptingVídeo Aula
Continuando con la tarea adicionamos mas movimientos y animaciones. Correr, saltar y caer cada una con su animación y transición correspondiente en el Animator. Seguimos con los mismos Scripts previamente agregados y gestionamos 2 Materiales 2D para uso del personaje.
-
29Personaje Bajo o Movimiento Agacharse Administrando AnimacionesVídeo Aula
Otro movimiento nuevo. Cuando el personaje se agacha deben controlarse varias cosas por igual, que no exista movimiento en la horizontal, que no pueda correr, caminar, saltar o caer.
Pasamos a configurar mas el script adminAnimaciones para que muestre la animación adecuada en el momento propio.
-
30Personaje EscalaVídeo Aula
Ahora nuestro personaje podrá subir y bajar por superficies con el Layer Escalables. Mira como trabajamos con el parámetro Intiger del Animator.
-
31Movimientos Defensa y Empuje de objetosVídeo Aula
Dos nuevos movimientos para nuestro héroe, defensa y empuje de objetos deslizantes. Scripting, animaciones y movimiento. Recuerda que siempre actualizamos el Administrador de Movimientos y el Administrador de Animaciones, fuera del script generado por nosotros.
Creó versión hasta el momento en Github del proyecto.
-
32Movimiento Halar complementado con EmpujarVídeo Aula
El objetivo es lograr crear un movimiento o mecánica por script, pero puede que nos encontremos en algunos casos con movimientos muy similares. Para este caso empujar y halar son muy parecidos porque se activa el tipo de movimiento con un botón y lo único que los diferencia es el sentido para el cual se desea desplazar el objeto. vamos a trabajar en dos Scripts pero uno de ellos será el principal, encargado de recibir la activación a la acción de coger el objeto, ya el movimiento lateral será manipulado de izquierda a derecha, traducido en empuje y arrastre.
-
33Personaje ColgadoVídeo Aula
Como los demás movimientos generados, el personaje colgado interactúa con la gravedad del personaje así mismo como lo hicimos en escalar. Se crea el movimiento o animación cuando esta sujeto y otra cuando se mueve entre la superficie para colgarse. Un solo Script y adiciones o cambios similares a los demás.
-
34UI Vida y Cinemachine seguimiento de cámaraVídeo Aula
Creo que ya es hora de empezar a hacerle daño a nuestro Héroe, o por lo menos que empiece a sentir mas el entorno que lo rodea y que mejor manera que creando su barra de salud. Realizamos Scripting para usar un Slider y transformarlo en indicador de salud con cambio de tres colores según la gravedad de salud. Funciones de perdida de salud y recarga de vida total y parcial.
Miraremos como instalar el package CineMachine para seguimiento del personaje o movimiento de cámara dentro de un confiner.
-
35Efecto de Daño para PersonajeVídeo Aula
Ahora nuestro héroe recibe daño y lo demuestra con un efecto de rebote en la dirección contraria al choque. Agregado este efecto ya siempre que el personaje sea herido va a alejarse cierta distancia del sitio del contacto con el daño.
-
36Administrador de Nivel y Muerte PersonajeVídeo Aula
Iniciamos con nuestro Administrador de nivel, poco a poco iremos agregando código concerniente a todo lo que ocurra en la escena, como tiempo, numero de enemigos, ítems etc.
Ahora que nuestro personaje tiene daño podemos agregar la animación de morir y de alguna manera detener el juego para que el usuario reviva al personaje e intente de nuevo continuar en la escena.
En Morir y Revivir se centrara la clase.
-
37MediPack Recuperación de Salud Administrador de ItemsVídeo Aula
Recuperar salud no solo debe ser capturar un ítem de salud y ya. Debemos ver mas allá para saber los verdaderos usos o formas en las que queremos que el personaje recobre la salud. Gestionamos un Administrador de Ítems, el primer objeto para recuperar salud un botiquín de primeros auxilios y dejamos abierta la opción de acumular objetos para su uso posterior.
-
38Personaje Ataque Animación y ScriptingVídeo Aula
Preparamos a nuestro personaje para que empiece a defenderse de los enemigos y termine con ellos, empezamos con la animación y luego con la idea de choque o contacto para con otros objetos al realizar un ataque. Valida varias correcciones en algunos Scripts previos.
-
39Panel Enemigos UI a la VistaVídeo Aula
Clase extensa pero completa de como podemos crear un panel con información visual del numero de enemigos cercano y el nivel de salud o vida actual de cada uno.
-
40La matemática de batalla Ejemplos de características y destrezasVídeo Aula
Podemos pensar que la matemática más básica que se le puede generar a las batallas en nuestro juego es simplemente restar un valor a otro, así como cuando recuperamos salud, que es una simple suma y ya. Pero en esta clase entenderemos que muchos juegos, hoy en día, poseen mecánicas de incremento de nivel, ganancia de experiencia, habilidades, destrezas y características que pueden variar, según sea el nivel o por razones programadas que deseamos que ocurran mientras se continúa una historia.
Veamos como podemos ir gestionando que habilidades y características quiero que posean mis enemigos y personaje. Como también puedo hacer qué esas destrezas otorguen ventajas en batalla para algún contrincante.
-
41Batalla y cambios en los indicadores de vidaVídeo Aula
Pasemos a programas el diseño de batalla visto, generemos los cálculos para incremento de características donde sea preciso según los valores de destrezas. Recordemos también que los indicadores de vida del enemigo y el personaje tienen que tomar valores acordes a las características, de igual manera se debe ir reduciendo, según sea el daño de batalla, muy similar al ejemplo de la pasada clase.
-
42Arma Lanza ProyectilesVídeo Aula
Creamos un arma lanza proyectiles con posibilidad de realizar tiros libres o disparos a objetivos previamente marcados. Paso a paso construimos una mecánica muy simple, pero muy funcional que proporcionara ahora a nuestro personaje poder ejecutar ataques a distancia.
-
43Selector de ArmasVídeo Aula
Como ya tenemos el disparador, lo que sigue es agregarlo al personaje, pero no antes sin otorgar el movimiento del disparo al administrador correspondiente. También es necesario identificar que arma está seleccionada, para ello tenemos que encontrar la manera de saber si el arma ya fue capturada o no, antes de pasar o hacer cambios entre estas.
-
44Personaje ataque con lanza proyectiles marcando objetivosVídeo Aula
Terminaremos de adecuar el lanza proyectiles al personaje, permitiendo marcar objetivos de tiro y a su vez la posibilidad de realizar daño a los enemigos impactados. Estudiemos detalladamente los scripts y entendamos como se construyo la mecánica de batalla para ataques a distancia.
Como se agregó el arma al personaje y algunos cambios cargados a los enemigos para poder identificar cuando es marcado como objetivo alguno de ellos.
-
45Patrullaje Horizontal en dos puntosVídeo Aula
Una de las mecánicas más utilizadas programadas para enemigos en juegos 2D son las patrullas, ya sean de tipo horizontal o vertical, donde normalmente un enemigo se encuentra realizando un movimiento continuo y repetitivo en 2 direcciones de un punto a otro. En esta clase crearemos la primera animación de enemigo y su respectivo patrullaje horizontal.
-
46Patrullaje Vertical en dos puntos por físicas y scriptingVídeo Aula
Podríamos replicar el script de patrullaje horizontal para mover un objeto de izquierda a derecha y viceversa, pero vamos a aprovechar las físicas de Unity para ejercer fuerza de gravedad a un objeto para que la mitad del desplazamiento se realice por programación y el otro por fuerza física.
-
47Patrullaje multidireccional por rebote, reaparición y salto con físicas activasVídeo Aula
Anteriormente, ya habíamos conocido a nuestro ratón, pero ahora le vamos a dar vida para que corra como loco y se mueva de un punto a otro rebotando con otros objetos de la escena. Adicional vamos a darle la posibilidad de reaparecer y dar pequeños saltos que le permitan escapar de áreas pequeñas.
-
48Como cargar en Unity un Repositorio en GitHub.com publicoVídeo Aula
Vamos ahora a estudiar algo mas avanzado en cuanto a creación de enemigos trata. Para ello aprenderemos a usar un repositorio publico en GitHub.com para usarlo en Unity y poder estudiar algo nuevo que potenciará aún más tus proyectos.
-
49Teoria Principio de la AI (Estados, acciones, decisiones y transiciones)Vídeo Aula
Antes de empezar a ver el código o como funciona el Core de AI que usaremos, es indispensable entrar en contexto de que vamos a aprender y las palabras que se van a utilizar durante las clases, ya que una vez entendidas podremos definir muy bien nuestros scripts y usaremos de manera correcta estos dentro del Core de AI.
-
50Practica Como funciona el Core de AI con script de EnemigosVídeo Aula
El concepto de uso de estados, acciones, decisiones y transiciones debe estar muy claro para iniciar, ya que depende de esto entender lo que vamos a practicar. Los scripts que vamos a crear deben ser específicos y desempeñar una función precisa así se tenga que desarrollar gran variedad, el numero depende de la complejidad de mecanizas a adaptar a un enemigo. Veremos en el ejemplo estados básicos como patrullar y perseguir, Toma de decisiones como hay detección del jugador o si se debe mirar o voltear el sprite de sentido. Con esta clase podrás alcanzar muy buenas mecánicas para enemigos usando el principio de acción y reacción.
