Nivel Super Mario Bros.
En esta práctica utilizando como referencia el videojuego de Super Mario Bros. realicé un diseño de un nivel con algunos de los componentes y mecánicas del juego original.
Thumbnails
Antes de decantarme por la temática del nivel (Superficie, acuático, aubterráneo...) y sin saber muy bien cuantas mecánicas sería capaz de implementar realicé algunos conceptos muy generales del nivel: Escaleras con saltos, zonas de doble camino, plataformas aéreas...
Retícula de Construcción y Trayectoria del Jugador
Después de decantarme por la temática subterránea dibujé en una hoja cuadriculada los diferentes sectores del nivel y las posibles trayectorias del jugador dentro de cada uno.
Sectores
Cómo se puede ver en la imagen anterior marqué con flechas las posibles trayectorias del jugador dentro del nivel y dividí el nivel en 5 sectores de diferente tamaño y dificultad progresiva. Todo el nivel está basado en las 4 mecánicas que fui capaz de implementar: Movimiento y salto, aplastar enemigo Goomba y perder vidas.
En el sector A tenemos un inicio sencillo con 3 saltos cortos seguido de 3 enemigos intercalados por saltos medios y largos (sector B). Aumentando la dificultad el sector C tiene 5 saltos consecutivos, donde si fallas uno caerías al vacío. El sector D es el más largo del nivel con un inicio sencillo con dos saltos y un enemigo, una zona intermedia con dos posibles caminos y un salto final complejo donde tenemos que saltar lo justo para no caer. Por último tenemos la zona final con un pequeño reto de escaleras quebradas.
*El tamaño de algunos saltos y número de enemigos representados en la hoja de construcción fueron modificados en la versión final.
Proceso de Construcción del Videojuego
El diseño del nivel y sprites los realicé con Photoshop y Tiled. El resto del videojuego fue hecho con Unity 2D. Mediante imágenes enumeraré los diferentes pasos seguidos para realizar el juego:
1. Programación de mecánicas (Visual Studio 2017).
Fue el proceso más largo y está dividido en varios scripts que controlan a Mario, los enemigos, la cámara, las vidas y los cambios entre escenas. La programación duró durante todo el proceso de desarrollo. Realicé una escena prototipo para probar mecánicas antes de implementar el nivel final.
2. Creación del nivel en Tiled.
Con Tiled apoyado de una hoja de sprites, previamente realizada con Phosothsop, cree el nivel junto a todos sus zonas de colisión.
3. Implementación del nivel en Unity 2D.
Una vez tube todo diseñado fui insertando en Unity cada una de las partes del nivel, animaciones del jugador, controles del jugador, enemigos y sonidos; exactemente por ese orden. Cada cosa que iba añadiendo fui programando su correspondiente script para que funcionara correctamente.