Unity es un motor de videojuegos para todos los dispositivos disponibles. Su poder está en todas las herramientas que nos proporciona a los desarrolladores para crear desde juegos 2d super sencillos hasta cosas loquísimas con realidad virtual. NO HAY LÍMITES.
Si quieres programar tu primer videojuego puedes leer Cómo crear tu primer videojuego, el gran artículo de nuestro profe @unavacaverde. En este post quiero hablarte sobre algunos conceptos clave para comenzar en el desarrollo de videojuegos con Unity. Recuerda que esto es solo una pequeña introducción a todo lo que vamos a aprender en el Curso de C# para Videojuegos.
¿Qué se estudia para hacer videojuegos? Top de carreras en programación de videojuegos.
¿Dónde creen que aprendí todo esto? 😏
Assets y Sprite Atlas
Todos los archivos y contenidos que vamos a utilizar en nuestro videojuego los conocemos como Assets. Imágenes de nuestro personaje y todas sus posibles posiciones. Enemigos y obstáculos. Plataformas e imágenes de fondo. Música y efectos de sonido. Etc. Todos estos archivos los vamos a programar con animaciones y comportamientos.
Cabe mencionar que en Unity lo mejor es utilizar la menor cantidad de imágenes posibles para no sobrecargar el proceso de instanciación. Para solucionar este problema y evitar la sobrecarga podemos utilizar los Sprite Atlas: una sola imagen muy grande (y pesada) con todas las imágenes de todos los elementos de nuestro videojuego. Una sola imagen con TODOS los elementos. Pero no te preocupes, todos los elementos los podemos utilizar individualmente separándolos con la herramienta de Sprite Editor
de Unity.
Game Objects y Prefabs
Los assets que importamos desde Unity pasan a llamarse Game Objects, podemos controlarlos y asignarles animaciones o comportamientos. Lo más importante de todo es que los podemos conectar a nuestros Scripts
de C# y programar sus comportamientos, la entrada y salida del escenario, cada cuanto deben cambiar de posición, etc.
Todos los videojuegos tienen muchos elementos y cada elemento puede tener muchas configuraciones, probablemente queremos reutilizar algunos elementos en muchas partes del videojuego, o tal vez sólo queremos quitar los elementos de la pantalla y guardarlos en algún sitio para concentrarnos en otra parte del juego. Aquí entran los Objetos Prefabricados, mejor conocidos como Prefabs.
Estos Prefabs funcionan como fichas de lego, utilizamos muchas fichas pequeñas y las apilamos entre ellas para construir castillos, barcos o mundos enteros. Con los videojuegos es exactamente igual, vamos a guardar los Game Objects con sus respectivas configuraciones en un lugar especial, así podemos utilizarlos todas las veces que necesitamos o incluso construir objetos prefabricados a partir de otros objetos prefabricados.
Hablemos de Física
Por defecto, Unity deshabilita la gravedad, el peso y todas las configuraciones de “física”. Por su puesto podemos habilitarlas, pero debemos tener cuidado y solo aplicar estos efectos en los elementos que lo necesitan para no sobrecargar la memoria.
Para que nuestro personaje se vea afectado por la gravedad (y todo lo que esto implica) debemos cubrir a nuestro personaje con el componente Rigidbody
y elegir el tipo de cuerpo de nuestro personaje: con la opción dynamic
los objetos se mueven afectados por la gravedad. Con la opción cinematic
también pueden moverse, pero sin estar afectados por la gravedad. Por último, con la opción de static
no pueden moverse ni tampoco están afectados por la gravedad, son estáticos 😬.
Ahora nuestros objetos pueden caer, pero debemos crear algún suelo o tierra para que los personajes no terminen en el infierno (o más bien en una caída infinita, algo que sería aún peor que el infierno 🔥🤔).
Para esto podemos añadir plataformas o lo que nuestro juego necesite. Lo importante es cubrir las plataformas y nuestro personaje con algún componente Collider
con una figura similar a la de estos objetos para que Unity detecte que pueden chocar.
Conclusión
Estos son solo algunos conceptos sobre Unity que pueden ser muy útiles para comenzar con el desarrollo de videojuegos. Te invito a entrar a la Escuela de Videojuegos de Platzi para descubrir todas tus posibilidades y especializarte en la disciplina que más te guste: ¿Cómo hacer videojuegos?.
#NuncaParesDeAprender
Curso de C# para Videojuegos