5. Ciclo de Juego y Compilación: Cerrando la Experiencia 🏆📦
El Ciclo de Juego Completo
Un prototipo funcional necesita un inicio y un fin automatizados. Si el jugador choca contra un obstáculo letal o si el tiempo llega a cero, el juego debe reiniciarse solo. Si junta todas las monedas, debe avanzar.
Para manejar esto en Unity, importamos la librería nativa UnityEngine.SceneManagement.
Programando el Reinicio y Cambio de Nivel
Abriremos nuestro script GameManager.cs y actualizaremos los métodos del fin del juego usando la función Invoke(nombreMetodo, tiempoEspera) para retrasar el reinicio del nivel, dándole tiempo al jugador de asimilar su derrota o victoria:
Explicación:
SceneManager.GetActiveScene().name: Retorna un string con el nombre exacto de la escena en la que estás jugando en este momento (por ejemplo, "Level1").SceneManager.LoadScene(): Cierra la escena actual, libera la memoria y carga la escena solicitada desde su estado inicial.Invoke("Metodo", 2f): Llama a una función interna de la clase después de esperar exactamente 2 segundos de tiempo real.
Paso Obligatorio: Registrar las Escenas en los Build Settings
Si intentas llamar a SceneManager.LoadScene con una escena que Unity no conoce, el juego lanzará un error de ejecución. Debemos registrar todas nuestras escenas en la configuración del juego:
- En la barra superior de Unity, ve a
File -> Build Settings. - Verás una lista vacía llamada Scenes In Build (Escenas en la compilación).
- Arrastra tu escena de juego actual (ej.
SampleSceneoLevel1) y tu escena de victoria (VictoryScene) dentro de ese recuadro. - Cierra la ventana. Ahora el motor ya sabe qué escenas están permitidas en el ciclo del ejecutable.
Compilando tu Juego (Build and Run)
El último paso de un prototipo ágil es exportarlo en un formato ejecutable para que otras personas puedan probar tu creación (por ejemplo, tu profesor, un cliente o tus amigos) sin necesidad de tener Unity instalado:
- Abre nuevamente
File -> Build Settings. - Selecciona tu plataforma objetivo en la lista de la izquierda:
- PC, Mac & Linux Standalone: Genera un ejecutable nativo (.exe o .app) para computadoras.
- WebGL: Compila tu juego en formato HTML5/JavaScript para que pueda ejecutarse directamente dentro de cualquier navegador web (puedes subirlo gratis a itch.io).
- Haz clic en el botón Build (o Build and Run).
- Crea una nueva carpeta vacía en tu computadora llamada
Buildy selecciónala como destino. - Espera a que la barra de carga finalice. ¡Felicidades! Ya tienes tu carpeta contenedora con el videojuego 3D completo listo para compartir.
Ponte a prueba
Comprueba tus conocimientos sobre el ciclo de vida de las escenas en Unity y la generación de entregables compilados.