Juego del laberinto. Crear un juego en Unity desde Cero.

Introducción

En esta serie vamos a crear un juego simple en Unity desde cero, la idea es observar las herramientas que tiene el motor para la creación de videojuegos.

La serie actualmente cuenta con 13 videos en el canal y 11 artículos en los que se detalla paso a paso lo que se hace en cada video, de esa forma se puede ver rápidamente en formato video y analizar las partes de interés en detalle consultando los artículos.

Antes de empezar te invito a visitar y suscribirte a mi canal para encontrar más videos sobre programación y diseño 3D.

Ir al canal

Características del proyecto

En principio vamos a crear un juego en primera persona para la plataforma Windows, el escenario será un laberinto con varias puertas de entrada y salida.

El personaje empezará en una de las puertas y deberá encontrar un objeto oculto en el laberinto que aparecerá aleatoriamente, cuando lo encuentre deberá irse por una de las puertas.

Habrá un tiempo límite para cumplir el objetivo pero dentro del laberinto habrá objetos colectables que aumentarán el tiempo que el jugador dispone.

Lista de artículos y videos

#1 – Introducción.

Comenzamos un nuevo proyecto desde Unity HUB y hablamos un poco sobre el entorno de desarrollo. Importamos algunos elementos del paquete Standard Assets y de la tienda Asset Store de Unity. Armamos una escena simple utilizando las primitivas de Unity y aplicamos transformaciones. Creamos materiales. Colocamos el prefabricado de Standard Assets “FirstPersonCharacter” en la jerarquía. Se configuran el proyecto para compilar.

#2 – Importar Assets. Configurar Skybox.

Importamos los modelos 3D y texturas provistos en los links de descarga y los colocamos en la jerarquía de Unity. Agregamos las texturas a los materiales. Creamos Prefabs que son GameObjects prefabricados que pueden reutilizarse. Creamos un material y lo configuramos para utilizarlo como Skybox, con esto le cambiamos el aspecto al cielo de la escena.

Modelos 3D y Texturas

344 Descargas

#3 – Tipos de Colliders. RigidBody.

Botón AddComponenet para agregar componentes a un GameObject. Distintos tipos de Colliders, en particular Box Collider, Sphere Collider y Mesh Collider. Comportamiento del personaje al entrar en contacto con los Colliders. Componente RigidBody y su relación con los Colliders. Comportamiento de Collider en modo Trigger.

#4 – Colocar al personaje en una posición aleatoria.

Armamos un sistema para colocar al personaje en un punto concreto del escenario. Creación de Tags o etiquetas. Creación del primer Script en C# que cumplirá la función de encontrar todos los objetos de la jerarquía que tengan un tag determinado, ordenarlos en un vector, seleccionar aleatoriamente uno de esos objetos y colocar al personaje en la posición de ese objeto.

Script GameControl con comentarios

64 Descargas

#5 – Crear interfaz de usuario simple. Canvas.

Crear una interfaz gráfica simple con Canvas. Se hacen dos pantallas, una para el menú principal y otra para el juego. Debido a que el juego se resuelve en una escena se alternan las pantallas de la interfaz.

#6 – Programación de la interfaz de usuario.

Se programa la interfaz de usuario creada en el video anterior. Al pulsar el botón Start desde el menú, el juego comienza. Con la tecla escape regresamos al menú principal.

Script GameControl con comentarios

41 Descargas

#7 – Timer para la cuenta regresiva.

Creamos un Timer en C#. Interacción entre Scripts, desde un Script ejecutamos métodos pertenecientes a otro.

Scripts GameControl y Timer con comentarios.

54 Descargas

#8 – Crear, modelar y texturizar terreno en Unity.

Creación de terreno con relieve y texturas. Componente Terrain y herramientas.

Descargar texturas para el terreno

172 Descargas

#9 – Colocar objeto en posición aleatoria del laberinto.

Estrategia para colocar un objeto en un punto aleatorio del laberinto. 

Scripts GameControl, Timer y LabyrinthPiece con comentarios

52 Descargas

#10 – Colocar colectables en posiciónes aleatorias del laberinto.

Colocar objetos colectables en Unity. Sistema de creción y destrucción de los colectables. Efecto al colectarlos.

Scripts GameControl, Timer, LabyrinthPiece y Clock con comentarios.

53 Descargas

#11 – Especial desafío de programación para Halloween

Este video consiste en un desafío especial en el que vamos a agregar un poco de miedo al proyecto. En algún punto del laberinto habrá un pedestal especial, que contendrá los restos de Lucy. Si el personaje se encuentra con esto, Lucy aparecerá y lo perseguirá. Todo lo que se hace en este video no se utilizará en videos posteriores.

Click aquí para ver el planteo conceptual del desafío

Es un video bastante más largo de los demás debido a que se hacen muchas cosas. Importar Assets, configurar materiales y animaciones, Scripts.

GDT Halloween Pack

84 Descargas

#12 – Interacción del personaje con puertas y pedestal

Creamos sistema de interacción para tomar la espada e interactuar con las puertas.

Actualmente he creado una mejor versión del sistema de interacción que está basada en la que hacemos aquí.

Ver nuevo sistema de interacción

Mi primer juego en Unity- Archivos del Video 12

116 Descargas

#13 – Puntuación final. Guardar datos simples.

Sistema de puntuación que se integra a la interfaz gráfica. Guardado de información en el disco utilizando PlayerPrefs.

Video 13 – Scripts actualizados

58 Descargas