Hoy vamos con el curso en Udemy de los de GameDev.tv. Lo que voy a hacer es ir anotando aquí cosillas que yo vaya aprendiendo en mis sesiones. También para que me sirva a la hora de buscar ciertas características que necesito de Unity.
En este caso vamos a desarrollar un videojuego tipo Metroid, Vania, Mario o como quieras llamarlo, normalmente un "plataformas".
Cosas que vamos a aprender aquí en este proyecto (lo iré actualizando a medida que avance):
- Gestión de sprites.
-
Diseño del juego (Game Design):
Experiencia del jugador (Player Experience):
Bajo presión (Under pressure) .
Mecánica principal (Core Mechanic):
Correr y saltar (Run and jump) .
Mécanica del juego (Core game loop):
Ir del punto A al punto B a través de las plataformas y evitando las trampas y enemigos
(Get from A to B by navigating platforms and avoiding traps and enemies).
Tema del juego (Game Theme):
¡Escapa! Eres un prisionero y tienes un tiempo límite.
Producto mínimo viable (MVP -Minimum Viable Product- (Gameplay Features)):
Estas son las características mínimas que queremos de nuestro producto. En este caso nuestro juego.
Movimiento del personaje (Character movement):
El jugador puede correr y saltar.
Trampas / obstáculos (Traps / obstacles):
Matan directamente al jugador.
Carga del nivel (Level loading):
Una manera de terminar el nivel y empezar de nuevo.
- Esto no es realmente necesario: Una cuenta atrás (Countdown timer):
Algún sistema para crear urgencia en el jugador.
Al turrón
Lo primero es conseguir los sprites que en este caso nos lo da el propio curso aunque podemos buscar los nuestros. Necesitaremos sprites para:
- Las casillas del mapa o del mundo (world tiles)
- El personaje (character)
- Los enemigos (enemy)
Lo que hacemos es crear una carpeta en nuestro directorio y arrastrarlos directamente a la carpeta.
El primer problema es que los sprites tienen esta pinta (a la derecha), todos están en una sola imagen y necesitamos recortar uno a uno.
Además hay otro problema, cuando ponemos los sprites o assets en Unity, no coincide con las unidades Unity, que son los cuadros grises que se ven en la imagen de más abajo. Así que:
- Cambiamos el tamaño de los Pixels Per Unit en el Inspector. En este caso vamos a poner de 100 a 32.
- Como tenemos varios tiles en una sola imagen, cambiamos el Sprite Mode de Simple a Multiple.
- Pulsamos en Sprite Editor.
- Arriba a a la izquierda tenemos la opción Slice y y lo hacemos Automatic.
- Por último aplicamos en Apply, arriba a la derecha y cerramos.
Sin embargo, tenemos un problema con el protagonista (el PJ). Cuando cortamos los pixels de forma automática, no quedan bien
- Slice --> Type: Grid By Cell Size.
- El tamaño no es el adecuado así que ajustamos el Pixel Size a X = 32 y Y = 32.
- Por último, el tamaño es el adecuado pero hay un pequeño espacio entre cada tile (este espacio se llama padding), así que añadimos en Padding X = 6 y Y = 6 (¿Por qué 6? Porque el instructor sabe cuánto Padding existe, normalmente lo sabes cuando compras u obtienes los assets).
¡Tachán!
Por último hacemos lo mismo con los otros assets pero con especial cuidado con el enemigo ya que ha necesitado un poco más de trabajo. Las cuadrículas no cuadraban bien, así que añadí Offset X = 10, Y = 1 para que cuadrasen mejor.
¡Y ya está! Más en el próximo capítulo.