Project and Code Description (Postmortem)


English:

This project is a procedural dungeon generator, implemented in the Unity game engine. It's a MonoBehaviour script, which generates a dungeon each time the game starts, and then at regular intervals.

The project's code defines a  DungeonGenerator class, which has several properties that correspond to the objects that will be instantiated for the dungeon's walls, rooms, corridors, doors, and obstacles. GameObject containers are also provided to organize these instantiated objects in the scene hierarchy.

The dungeon is generated on a 2D array, where each cell corresponds to a type of object on the map. Rooms are randomly generated with random sizes and positions, and checked for overlap with already existing rooms before being added to the map.

Once all rooms have been generated, they are connected with corridors. A random number of obstacles is generated inside each room, and a door is placed in a randomly selected room.

The dungeon map is then drawn into the Unity scene, instantiating the appropriate object for each cell in the array and placing it in the correct position.

Spanish:

Este proyecto consiste en un generador de mazmorras procedural, implementado en el motor de juego Unity. Se trata de un script de MonoBehaviour, el cual genera una mazmorra cada vez que se inicia el juego, y luego a intervalos regulares.

El código del proyecto define una clase DungeonGenerator, que tiene varias propiedades que corresponden a los objetos que se instanciarán para las paredes, habitaciones, corredores, puertas y obstáculos de la mazmorra. También se proporcionan contenedores GameObject para organizar estos objetos instanciados en la jerarquía de la escena.

La mazmorra se genera en una matriz 2D, donde cada celda corresponde a un tipo de objeto en el mapa. Las habitaciones se generan de forma aleatoria con tamaños y posiciones aleatorias, y se verifica si se superponen con habitaciones ya existentes antes de añadirlas al mapa.

Una vez que se han generado todas las habitaciones, se conectan con corredores. Se genera un número aleatorio de obstáculos dentro de cada habitación, y se coloca una puerta en una habitación seleccionada al azar.

El mapa de la mazmorra se dibuja luego en la escena de Unity, instanciando el objeto apropiado para cada celda de la matriz y colocándolo en la posición correcta.

Leave a comment

Log in with itch.io to leave a comment.