
L
ouis
evel
D
uprat
esign
PROCEDURAL
MAZE

OVERVIEW
Originally intended for a horror roguelike, our team wanted to use a procedural maze but the project was not completed.
Being interested in procedural generation, I took up map generation on my own as a personal project.
WHAT DO I WANT TO PRACTICE
-
Design rules for procedural generation
-
See the different methods for procedural generation
-
Advance in programming (blueprint)
GENERATION
At the beginning, I want use this method :
-
Rooms are placed randomly
-
Edges between rooms are determined depending on their distances (minimal spanning tree)
-
Proper corridors are created for each link
-
The elements are spawned
But with this method, it was too procedural and I couldn't customize the room or the corridor so I looked for search another method.
Finally, I made :
-
First, I generate a grid where I can chose the number of the raw and the column
-
Next, I spawn the room from a list
-
From the Room 0 (the first room) I connect the others rooms with corridors
-
Next come the clean :
-
If a corridor and a room have the same position, I delete corridors
-
Each corridor has a vector (X and Y for the coordinate, Z for the type)
-
For each position, I add up all the Z from all corridors to determine what I spawn (1, a plus or 2, a T)
-
Whether it's for the rooms or the corridors, I have a list where I can chose the probability to the spawn to increase the variability.

WHAT NEXT ?
-
Continue to redesign the rules to avoid long corridors that lead to dead end (see the diagram)
-
Add a floor and connect the two floor with ladders or stairs.
-
Add a FPS controller and made others rooms / corridors.
