
¡Bienvenido al curso!
Mi nombre es Lautaro Bravo y te voy a estar acompañando durante tu aprendizaje.
También te dejo el grupo de Discord donde podrás encontrar a otros alumnos como a otras personas de la comunidad de Codearte.
En esta lección vamos a ver cómo descargar e instalar Unity y Visual Studio paso a paso.
En este video vamos a ver cómo está compuesta la interfaz de Unity y qué tenemos que tener en cuenta.
Vamos a ver cómo crear objetos en Unity, customizarlos y sus componentes esenciales.
Vamos a ver componentes más complejos y vamos a diseñar nuestro primer juego con físicas sin código.
Cada ciertas clases vamos a tener juegos de ejercitación donde ustedes van a tener que hacer funcionar el juego correctamente con sus conocimientos. Para eso, tendrán que descargar el proyecto de ejercitaciones que pueden conseguir acá:
Un malévolo esqueleto está amenazando la ciudad de Blue Rivers. Necesitan de nuestra ayuda.
Aplicando lo aprendido de componentes podremos salvar a sus ciudadanos.
¿Estás preparado?
Estuvimos viendo cómo desarrollar un videojuego, pero ¿te interesaría saber más de cómo diseñarlos? Te ofrezco el curso gratuito Game Design que podes empezar hoy mismo para dar tus primeros pasos en diseño de juegos.
¡Bienvenidos al Módulo 2!
En este módulo vamos a estar viendo cómo programar, la parte más difícil para muchos, y así también la curva de aprendizaje más difícil.
Por lo tanto, ¡vamos a hacerla divertido!
Programé varios juegos que a todos les falta algo. ¡Ustedes van a tener que programar lo que falta para que así funcionen!
¡Nuestro primer concepto de programación!
¿Qué son las variables? ¿Por qué nos interesan? ¿Cómo funcionan?
Sabemos ahora lo que son las variables, pero ¿cómo las usamos? ¿cómo sacamos su verdadero potencial? ¡Con matemáticas, hijo!
¡Sobrevive a esta lección para resolver nuestro primer juego!
¡Plantamos nuestra primer bandera! ¡Felicidades por llegar hasta acá! ¡Ahora toca una pequeña recompensa divertida!
Nuestro pirata, Fabrizio, necesita ayuda para poder proteger su isla del Tiburón Mutante.
¿Crees tener lo suficiente para ayudar a Fabrizio?
¡Empezamos con conceptos complejos!
¿Qué son los "if" y los "else"? ¿Por qué nos sirven?
¡Para comprobar variables!
¿Cómo organizamos nuestro código? ¿Todo tiene que estar en un mismo lugar? ¡Vamos a ver los beneficios de funciones!
Sabemos lo que son las funciones y sabemos lo que son los if y else. ¡Estamos listos para el siguiente desafío!
¡Nuestros amigos necesitan ayuda! ¡Tienen que desactivar las bombas o éstas explotarán!
Cada uno sabe cómo desactivarla, pero por ahora no están haciendo lo que deberían. ¿Te crees capaz de ayudarlos?
¡Estamos listos para el siguiente concepto! En este caso: arreglos o arrays.
¿Cómo manejamos grandes grupos de variables de un mismo tipo? Si tengo 100 jugadores en un juego, ¿cada uno tiene su variable? ¡NO! ¡Usamos arrays!
¡Veamos cómo funcionan!
Los arrays por su cuenta son interesantes, pero sería más interesantes si no tuviesemos que ingresar el índice de cada uno individualmente.
¡Qué bueno que podemos hacer uso de nuestros amigos los "For"!
¡Lo hiciste! ¡Completaste la parte más compleja del curso! ¡Desde aquí no hay más teoría aburrida sin un lugar donde ponerlo en práctica!
Pero antes, debes completar el último desafío: debes detener el azar.
Actualmente el azar está destruyendo a los humanos y beneficiando a nuestros enemigos por igual, y esto no debería ser así. No puede ser así.
¡Convierte el azar a nuestro favor para que nos beneficie a nosotros y destruya a nuestros enemigos!
¡Como prometí, aquí tienes un documento sobre dónde conseguir Assets gratuitos y mucho más contenido!
¡Felicidades! ¡Estás ya en el módulo 3!
Significa que ya estás en la mitad del curso, pero ¿sabés que más significa?
¡Que estás listo para realizar tu primer videojuego!
¡Veamos rápidamente cómo importar assets a nuestro proyecto!
¡Veamos cómo hacer que un objeto en la escena se mueva!
¡Veamos cómo normalizar el tiempo para que se comporte de la misma manera independientemente de la computadora!
Todo esto está hermoso, pero ¿cómo hacemos que el jugador controle el movimiento? ¡Veamos cómo!
¡Hora de hacer que nuestro auto se mueva hacia donde le decimos!
Queremos que nuestro jugador no pueda salirse de los límites. Quiero que aparezca del otro lado si llega a pasar eso. ¡Veamos cómo hacerlo!
Todo juego necesita su desafío. ¡Así que veamos cómo crear el nuestro!
Genial, tenemos un enemigo, pero ¿qué pasa si quiero crear uno en un momento determinado? ¿Tengo que tenerlo si o si en la escena oculto? También, ¿qué pasa si tengo mil enemigos y al final quiero cambiar cómo se ven? ¿voy uno por uno? ¡A todas estas preguntas llegan los prefabs y la Instancia para salvarnos!
¡Veamos cómo hacer que cuando pase un tiempo determinado suceda algo! Los timers nos van a acompañar gran parte de nuestra vida.
Ya va teniendo mucha forma nuestro juego, pero nos falta algo ¡que podamos interactuar con los enemigos! ¡Veamos más sobre colisiones!
Terminemos este módulo con el último desafío para nosotros y para nuestro personaje ¡hacer que los enemigos me persigan!
Felicidades por terminar el módulo 3.
¡Y como regalo, te dejo una copia gratuita del ebook Los 5 Errores Más Comunes al Empezar a Programar Videojuegos y Cómo Evitarlos!
¡Bienvenidos!
Ya hicimos nuestro primer minijuego, pero ¿qué pasa con el menú? ¿qué pasa con los puntos? ¿qué pasa con el ejecutable?
Hasta ahora fue solo un pequeño prototipo, por lo que en este módulo vamos a crear nuestro primer juego completo: un plataformero en 2D.
En el módulo anterior hicimos el movimiento de nuestro auto, pero hoy aprenderemos a moverlo con físicas en vez de a teletransportarlo. ¿Cuál es mejor? ¿Cuándo usar una u otra?
Mecánica fundamental de un plataformero: ¡hacer que nuestro personaje salte!
Una parte fundamental en la construcción de un juego 2D son los Sprite Sheets, una textura donde tenemos todos los sprites de nuestro juego o de un nivel.
Hay un par de cosas a considerar cuando hacemos un juego 2D y, en este caso, también para un juego Pixel Art.
Actualmente, si apretamos muchas veces para saltar nuestro personaje puede saltar hasta el infinito. ¡Arreglemos eso!
La parte de limitar el salto nos abre la posibilidad de implementar un doble salto, y no sólo eso sino que implementarlo correctamente con un cambio en la velocidad.
Nuestro nivel está muy estático. Mejoremos eso con un movimiento de plataformas cíclico.
¿Los transform tienen padres? Si, pero no necesariamente en términos de "progenitores" sino en términos de que "parentesco". En un sentido de que lo que haga el padre también afectará al hijo. Imagínense como subirse a un taxi y que si él se mueve, tu también.
¡Veamos qué uso darle en un juego de plataformas!
Vamos a crear un desafío sencillo de hacer. ¡Vamos a hacer un movimiento como el de la plataforma pero a modo de obstáculo!
¡Vamos a hacer que nuestro personaje reaparezca si éste falla! ¡con dos versiones posibles!
Vamos a empezar a interactuar con la UI (User Interface o Interfaz de Usuario).
¡Con esto vamos a poder hacer un menú, puntos, vidas y todo lo que se imaginen!
¿Qué sería de un juego de plataformas sin un sistema de puntación?
Venimos usando mucho public y private en este curso, pero realmente ¿qué significa cada uno? ¿cuándo deberíamos usar cada uno? ¿cambia en algo?
Estamos cerca de terminar este juego, pero necesitamos un final.
¡Hagamos una condición de victoria!
Actualmente, hay un problema con las colisiones. Hagamos un fix o un arreglo a este problema para que no se sienta tosco el juego.
¡Hora de hacer que nuestro juego suene bien!
Toca explicar más en profundidad sobre los canvas para poder hacer un menú correctamente.
Terminamos ahora sí con el menú, haciendo que pueda navegar entre escenas.
¡Terminamos nuestro juego!
Lo único que nos está quedando es hacer el ejecutable, y para eso tenemos que buildear.
¡Ahora finalmente podemos pasarle el juego a nuestros amigos!
¿Quieres adaptar tus videojuegos a varios idiomas?
Como prometí, aquí está una copia del ebook Localización para Videojuegos de manera gratuita.
¡Bienvenidos al último módulo de desarrollo de este curso!
Antes que nada, felicidades por llegar hasta acá. Sé de experiencia que no es fácil y quiero que tomes un momento para apreciar lo que avanzaste en este tiempo, que no es poca cosa.
Ahora si, vamos con el último juego: ¡un top down shooter en 3D!
Empecemos con unas aclaraciones y consideraciones sobre trabajar en 3D.
Con tantas veces que lo hicimos, ya deberían saber hacer un movimiento básico con los ojos cerrados, pero por si las dudas, vamos a hacerlo de nuevo. ¡Ahora en 3D!
En este video vamos a ver una mecánica que me encanta para juegos en 3D: que el jugador apunte a donde esté el mouse.
Vamos a también conceptos sobre cómo implementaríamos esto en 2D, que suele ser más fácil, pero sobre todo la diferencia compleja que llega con un eje más.
La parte más difícil ya está, ahora toca una lección más sencilla con un código que podremos usar en múltiples juegos: hacer que la cámara siga al jugador.
Vamos con la segunda parte de este módulo, y es hacer que sea un juego de acción y un shooter. Así que van a ser fundamentales las balas en este juego.
Vamos a realizar algo muy similar al módulo 3, con lo aprendido de vectores, pero ahora para que los enemigos nos persigan.
Lo que nos queda, similar a módulos pasados, es hacer que nuestros enemigos aparezcan por el nivel de manera aleatoria y cada cierto tiempo. ¡Veamos cómo!
¿Cómo hacemos para filtrar colisiones? ¿Cómo hacer que un raycast solo considere un tipo de objeto? ¡LayerMask al rescate!
Lo que nos está faltando en este juego es que los enemigos puedan hacerme daño, y por lo tanto también terminar el juego. ¡Veamos cómo integrar vidas!
Si varios enemigos nos golpean en el mismo frame, puede ser que perdamos en menos de un segundo. Todos los juegos utilizan, por lo tanto, tiempos de invencibilidad antes de poder ser afectado de nuevo.
Solucionemos entonces el problema de los materiales. Para eso vamos a crear una copia y ésta va a ser la afecta, dejando intacta la original.
Ya tenemos todo lo necesario para empezar a cerrar este juego. Como vimos anteriormente, los puntos lo son todo.
Vamos a aprender algo nuevo sobre los menús: los inputfield. Pero no sólo eso, vamos a aprender una herramienta que nos va a permitir pasar información a través de las escenas: los playerprefs.
Las vidas no sirven de mucho si no sabemos cuántas tenemos, así que vamos a implementar una visual y con una herramienta nueva: el FillAmount.
¡Integremos PlayerPrefs, los puntos y la condición de derrota para tener un juego con una pantalla final!
Nuestro juego actualmente se ve un poco duro al no tener animaciones. ¡Integremos el sistema de animaciones de Unity!
Las partículas son un detalle que pueden hacer que nuestro juego quede muy bien. Hoy vamos a ver una integración sencilla para usar.
En el caso que quieran usarla por código, hay varios casos donde suele ser más complejo y por ese motivo lo veremos en otro momento, pero lo que les recomiendo es hacer un prefab de la partícula (con un play on awake prendido dentro de su componente) e instanciarla en el momento que quieran usarla.
¡Felicidades! ¡Llegaste a la última lección de este curso!
¡Terminemos entonces con nuestro juego!
Llegó el momento de dar cierre a este curso.
Gracias por darme tu confianza y espero que te haya ayudado mucho.
No dudes en contactarme en caso de que necesites alguna ayuda y te invito a unirte al Discord de Codearte para formar parte de esta comunidad.
¡Espero que nos veamos pronto!
¡Aquí tienes acceso de manera gratuita a la tool de LocalizePro!
¡Vamos a ver cómo y dónde publicar tu juego para que cualquiera pueda jugarlo!
itch io es completamente gratis, con muchas opciones para publicar nuestro juego, ya sea de manera gratuita o monetizarlo.
¿Sueñas con crear tus propios videojuegos pero no sabes programar? ¡Este curso es para ti! Desde el primer día, trabajarás en proyectos reales: desarrollarás un survival táctico con mecánicas de recursos, un plataformero 2D con niveles desafiantes, y un shooter 3D con enemigos inteligentes. Al finalizar, no solo tendrás un portafolio profesional con 3 juegos publicables, sino que dominarás las bases para crear cualquier tipo de videojuego. ¡Incluso recibirás un certificado de finalización que avalará tus nuevas habilidades!
Información:
Más de 6 horas de contenido práctico: Clases cortas y dinámicas donde cada lección te acerca a un resultado concreto.
Recursos descargables: Código comentado, assets de arte listos para usar, 2 eBooks gratuitos, copias gratis de herramientas de la Asset Store y plantillas reutilizables para tus futuros proyectos.
Aprenderás paso a paso:
Programación en C#: Variables, bucles, funciones y cómo aplicarlos para crear movimiento fluido, sistemas de colisiones realistas y menús interactivos.
Unity 2023: Configuración de escenas 2D/3D, física, animaciones básicas y optimización para distintas plataformas.
Publicación profesional: Empaquetado de juegos para PC y consejos para destacar en tiendas digitales como Itch io.
Localización global: Traduce tus juegos a cualquier idioma en minutos con una herramienta incluida en el curso.
¡Este curso es tu puerta de entrada al mundo del desarrollo indie! Con extras exclusivos (pdfs, ebooks, curso de game design, herramientas profesionales de manera gratuita, y acceso a una comunidad privada), tendrás todo el apoyo para convertirte en creador. ¿Imaginas ver tu juego en manos de jugadores? ¡No esperes más! Inscríbete hoy y comienza tu viaje con mentoría personalizada y proyectos que enamorarán a tu audiencia.