
Una breve presentación del profesor y la dinámica del curso
En esta clase se realiza un primer acercamiento a cómo funciona la lógica de programación y se muestra un primer ejemplo en pseudocódigo.
Aplica la lógica de programación vista en la clase anterior en un nuevo ejercicio utilizando pseudocódigo.
Conceptos básicos de POO (Programación Orientada a Objetos). Verás en resumen en qué consiste este tipo de programación.
A la hora de comunicarnos con un ordenador hay que hacerlo en un lenguaje que éste entienda. C# es uno de los muchos lenguajes de programación existentes.
En esta clase se muestra la estructura básica de una Clase (Class) en Programación Orientada a Objetos, de modo que puedas empezar a estructurar tus propias clases.
Las variables son una de las partes más importantes en la estructura de una clase. En esta clase aprenderás: tipos de variables; ámbito/visibilidad de las variables; declaración e inicialización; valores por defecto; operadores aritméticos y lógicos.
Los métodos nos van a permitir a modificar el valor de las variables y, por lo tanto, los atributos del objeto. Conoce los tipos de métodos, parámetros y como incluirlos en la estructura de una clase.
Vas a ver un ejemplo completo de arquitectura de una clase con sus métodos y variables. Paso a paso podrás ver la composición de cada una de las líneas del código.
En esta clase se plantea un ejercicio en el que tienes que crear una clase desde cero.
Resolución del ejercicio planteado en la clase anterior.
Aprende la lógica de componentes de Unity y cómo crear un nuevo componente (Script) para editarlo posteriormente en Monodevelop.
En esta clase aprenderás la estructura de las clases Monobehaviour, las cuales son propias de Unity y transforman una clase en un comportamiento de un objeto en nuestro videojuego.
Comunícate con la consola de Unity de forma que puedas lanzar mensajes desde código. Útil para depurar código y detectar posibles errores.
Crea tu primer script en Unity y muestra los resultados por la consola.
Resolución del ejercicio de la clase anterior en la que construimos desde cero un script en Unity.
En esta sección aprenderás las sentencias de control para conducir el flujo de ejecución de tu código.
Aprende el funcionamiento de la sentencia de control IF para establecer condiciones.
Aprende el funcionamiento de la sentencia de control FOR para realizar bucles limitados.
Aprende el funcionamiento de la sentencia de control WHILE para realizar bucles ilimitados dependiente de una condición.
Aprende el funcionamiento de la sentencia de control SWITCH para ejecutar diferentes trozos de código en función de una variable.
En esta clase aprenderás a usar los enumerados, los cuales permiten crear nuestro propio tipo de variable con valores determinados.
Realiza un ejercicio con lo aprendido en esta sección sobre las sentencias de control y los enumerados.
Resolución del ejercicio de la clase anterior - Sentencias de control y enumerados.
Comunica tus scripts de manera que compartan información entre ellos. En Unity esto es muy común ya que muchos componentes dependen de otros para su funcionamiento.
Un ejemplo de comunicación entre dos scripts. Por un lado un componente que define la clase de nuestro personaje y por otro un componente de salud muy común en videojuegos.
Ahora que sabes cómo comunicar componentes, en esta clase se te plantea un ejercicio en el que amplíes las funcionalidades del script de salud visto en la clase anterior de modo que establezcas más comunicación entre los dos componentes.
Solución del ejercicio de comunicación entre componentes.
En esta clase se enseñan conceptos básicos matemáticos sobre vectores que aplicaremos en la sección.
Aprende a trabajar con vectores dentro de Unity: tipos de vectores, coordenadas de un vector, vector posición y dirección, constantes vectorianas, cálculo de distancias y modificación de escala.
Aplica las operaciones con vectores para resolver este ejercicio.
Resolución del ejercicio de vectores en Unity.
Breve visualización del personaje controlado por el script de movimiento, resultado que obtendremos al finalizar la sección.
Importa el paquete con el contenido, en él encontrarás lo necesario para trabajar en esta sección. En esta clase además se introduce al personaje mostrando su composición.
Aprende a usar el método UPDATE en tus scripts, el cual se ejecuta cada frame de juego y es de los más utilizados en la programación en Unity.
En esta clase aprenderás a mover y rotar el personaje en el tiempo haciendo uso del método UPDATE. Además verás la utilidad de Time.deltaTime para hacer la ejecución del juego independiente del Frame Rate.
Controla a tu personaje a través de los Inputs de Unity. Aprenderás los tipos básicos de Inputs de Unity y cómo recibir información de ellos en código. Verás dos tipos de script de movimiento, usando Inputs de teclado e Input Axes.
La cámara en un videojuego es la visión del jugador. En esta clase verás dos tipos de configuraciones de cámara y un script básico de seguimiento para una de ellas.
Amplia el script de movimiento del personaje añadiendo desplazamiento lateral y giro rápido.
Resolución del ejercicio del controlador del personaje de la clase anterior.
Resumen de lo que veremos en la sección.
Aprende a instanciar (crear) objetos en el mundo de juego a través del código C# de tus scripts. También podrás destruirlos cuando no sean necesarios.
En esta clase aprenderás a detectar las colisiones producidas en el mundo de juego en código y hacer unas determinadas acciones en caso de producirse esa colisión. Verás además la diferencia entre colisiones físicas y lógicas. Se incluye un pequeño ejemplo en el que se programa una acción en caso de producirse una colisión.
Aprende a utilizar los Tags de los objetos en Unity. Con esto podrás realizar diferentes acciones en tu código C# dependiendo de la etiqueta del objeto.
En esta clase podrás aplicar lo que has aprendido en la sección realizando un ejercicio.
Solución del ejercicio de invocación de objetos de la clase anterior.
Las listas son unas estructuras muy utilizadas en programación Unity. Al final de la clase habrás visto en qué consisten estas estructuras y cómo declarar e inicializarlas en tus scripts C#.
Realiza operaciones básicas sobre una lista: añadir elementos, quitar elementos, obtener su tamaño...
Ejemplo de uso de las operaciones básicas sobre listas, mostrando resultados por la consola de Unity.
Ahora pon en práctica en este ejercicio lo aprendido sobre operaciones con listas.
Resolvemos el ejercicio de operaciones sobre listas.
Podrás ver una muestra del resultado que obtendremos al final de la sección.
Implementa un sistema básico de disparo en el que creamos balas en un punto y las destruimos pasado un tiempo.
Aprende dos funcionalidades que usaremos para mejorar el sistema de disparo en las próximas clases: Invoke y OnEnable.
Optimiza el sistema de disparo. Aprende a activar y desactivar objetos, tras esto podrás aplicarlo dentro de un sistema de Pooling de objetos para mejorar el rendimiento del sistema de disparo.
Aplica los cambios de optimización a los scripts del sistema de disparo.
En esta clase se monta en Unity el nuevo sistema de disparo el cual activa y desactiva las balas obtenidas de un Pooling de objetos.
Ejercicio con el cual practicar lo visto en esta sección que permite al personaje desplegar minas en el suelo.
Resolución del ejercicio de las minas de la clase anterior.
La programación resulta un ejercicio muy estimulante que nos permite resolver un problema utilizando la lógica y la estructuración de ideas.
Uno de los principales objetivos del curso es enseñar a programar a aquellos que todavía ven la programación como un montón de líneas y palabras raras sin sentido en un documento. Queremos amenizar ese aprendizaje, de modo que el alumno aprenda los fundamentos básicos de la programación a la vez que ve un resultado práctico en un videojuego dentro de Unity.
También está enfocado a desarrolladores que trabajan en Unity pero que no saben programar: artistas, diseñadores... De modo que si aprenden los conceptos básicos de programación podrán comunicar mejor sus ideas a los programadores, de la misma forma que el alumno podrá entender mejor el trabajo que se hace en código.
Es posible que los que ya son programadores vean la primera parte del curso como algo que ya saben, pero posteriormente aprenderán a aplicar sus conocimientos en la lógica de scripting de Unity, lo cual les permitirá hacer todo tipo de juegos.
En algunas secciones del curso se incluyen unos paquetes de Unity, los cuales contienen un contenido pre-hecho a modo de modelos, animaciones, sonidos y algunos componentes; de modo que veamos como implementar este contenido desde código. En los recursos de las clases también se incluirán las soluciones en .txt y .cs para facilitar al alumno copiar directamente el código en texto si así lo desea.
La curva de aprendizaje comienza poco a poco con los conceptos básicos, pero a medida que avanzan las clases incluimos nuevas características o funcionalidades; de esta forma el alumno aprende de manera rápida y efectiva. Además, para fortalecer el aprendizaje, se propone al final de cada sección un ejercicio en el que el alumno pueda poner en práctica lo aprendido.
Al finalizar el curso verás la programación con otros ojos: te darás cuenta de lo divertido que es programar, lo satisfactorio que es resolver un problema, ver que lo que programas funciona y te plantearás nuevos retos y soluciones para desarrollar videojuegos cada vez más complejos.
Bienvenido al mundo de la programación.