Not the place for a box

 

«Not the place for a box» es el nombre de mi prototipo para la tercera Práctica de Evaluación Continua (PEC1) de la asignatura Modding y creación de niveles del Máster Universitario en Diseño y Programación de Videojuegos de la UOC.

El objetivo de la práctica era crear un clon del clásico Sokoban utilizando los conocimientos adquiridos en las prácticas anteriores y realizando investigación por cuenta propia. Además del juego, también había que desarrollar un editor de niveles que permitiera crear y editar niveles para el juego.

Vídeos

Vídeo explicativo del editor de niveles

Vídeo demostrativo de los niveles

Versión jugable

«Not the place for a box» by Ragart on itch.io

Repositorio en Gitlab y GitHub

El proyecto puede encontrarse tanto en GitLab como en GitHub.

Versión de Unity

La versión de Unity utilizada para el desarrollo de la práctica es la 2021.3.24f1 LTS.

El orden de las escenas está definido en los builds settings del proyecto, siendo Assets/Scenes/Opening.scene la primera escena que debe cargarse.

Cómo jugar

El objetivo del juego es mover todas las cajas a las zonas de destino. Para ello, el jugador puede moverse por el nivel y empujar las cajas. El jugador no puede empujar más de una caja a la vez, ni empujar una caja contra otra caja o contra una pared.

El jugador puede moverse con las teclas de dirección o con las teclas WASD.

Si el jugador se queda sin movimientos, puede reiniciar con la opción Restart level del menú derecho.

Cómo crear niveles

Para crear niveles, hay que abrir el editor de niveles desde el menú principal del juego. Una vez abierto el editor, se puede crear un nuevo nivel o editar un nivel existente.

En el editor, el jugador dispone de un grid de 10×10 casillas en el que puede colocar los elementos del nivel. Los elementos disponibles son:

  • Pared: impide el paso del jugador y de las cajas.
  • Caja: puede ser empujada por el jugador.
  • Zona de destino: indica la posición en la que deben colocarse las cajas para completar el nivel.
  • Jugador: el punto de partida del jugador.

Para colocar un elemento, hay que hacer clic múltiples veces sobre la casilla en la que se quiere colocar. Cada clic cambia el elemento de la casilla en el siguiente orden: vacío, pared, caja, zona de destino, jugador.

Una vez colocados todos los elementos, hay que guardar el nivel. Para ello, hay que hacer clic en el botón Save del menú lateral. Una vez guardado, el nivel puede ser jugado desde la opción Load level del menú principal y puede ser reeditado mediante la opción Load del editor.

A efectos de reutilización, el nivel queda guardado en formato JSON en la ubicación en la que la plataforma guarda los datos persistentes. En Windows, la ruta por defecto es %userprofile%\AppData\LocalLow\Salvador Banderas Rovira\uoc-b2.509-pec3\levels.

Créditos

Paquetes completos

Fuentes

Música

Referencias

Sokoban

2D – General

JSON / Serialization

New Input System

Scene Management

Tilemaps

Deja un comentario