
Miraremos rápidamente el contenido del curso y que logros podemos alcanzar estudiando cada clase de principio a fin.
En esta clase te mostraremos donde puedes obtener la aplicación de forma legal y segura, para descargar e Instalar seguidamente.
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.
En esta clase te mostraremos donde puedes obtener la aplicación de forma legal y segura, para descargar e Instalar seguidamente.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Ahora nuestro personaje podrá subir y bajar por superficies con el Layer Escalables. Mira como trabajamos con el parámetro Intiger del Animator.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Te agradecemos infinitamente por haber elegido este curso para reforzar tus habilidades y volverte mas competitivo en el desarrollo de videojuegos. Estamos seguros que te llevas grandes aprendizajes, conceptos y experiencias como también sabemos que tus proyectos serán mejores cada día. Yo me despido hasta aquí, pero no es un adiós, es solo un hasta luego y espero saber de ti próximamente en próximos cursos. Un saludo y gracias por elegirnos.
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.