Game Description and what I want my procedural level generator to achieve.
Laying down the requirements.
In order to research and compare the different techniques in which game levels are created, I first need to establish what features I am seeking in my generator. It seems that to build a procedural generator you need to know the requirements of the game or else you are building something generic. The three first procedural level generators I have read about, base their features on the games needs.So bellow I will describe my idea for a VR survival game and from there i will set my dungeon generator's requirements. All of this of course is subject to change.A description of my future game.
My personal project of procedural level generator I will refer to as Dungeon Generator.As with many procedural level generator they are designed based on the games requirements it will be used in.
The game I intend to use it for can be described as a survival game, the player is placed in a labyrinth and has to find the exit and escape while dealing with traps and enemy encounters.
The starting room is always the same and you need to reach the exit of the dungeon by avoiding or killing the Minotaur that wanders in it.
The game should take about 6-10 hours of gameplay depending of your game style and number of sidequests.
The labyrinth has tall walls and located underground. Above the center of the dungeon there is a massive opening in the sealing where light and water falls through.
This is the first point were the player should move to before exploring the darker more dangerous areas of the dungeon. Ideally the dungeon should fell different depending on the area, mud and brick, primal with lots of vegetation, dark and damp, ruins of a once glorious civilization, warm with steam and hot rock, cobwebs and spiders.
Playing the game should never feel the same. So the direction and location of the exit changes.
It would be nice if the player could walk a level down going more underground.
There are 3 rooms that should always appear (I call these the Must-legendary rooms) in the game:
- the starting room,
- the room of shrines close to the opening in the cave
- and the Minotaur throne room.
The rest of the labirynth will be filled with:
- corridors
- rooms
- legendary rooms
All the rooms will be modified by adding components to it to change its appearance.
Banners, ruble, vegetation, skulls chains will be added at certain locations withing the room.
Banners, ruble, vegetation, skulls chains will be added at certain locations withing the room.
The rooms also will have spawning points for enemies.
Legendary rooms are rooms that are allowed to be placed only once per game.
These can be:
- trap rooms
- unique design room
- puzzle rooms
I would like to avoid the square grid system. And rather allow the room designer to be able to design the room to any shape size and complexity he likes even with stairs leading downwards.
I would like a system where the artist creates the room and then in unity empty game objects are placed with tags to indicate if this is a door opening, a spawning location or a point acceptable for a decorative item.
I would also like as mentioned above to have different areas (randomly selected and not all of them in the same game, maybe like 2 themes) withing the dungeon :
Mud and brick,
primal with lots of vegetation,
dark and damp,
ruins of a once glorious Minoan like civilization,
My procedural level generator requirements:
1.A non grid layout, create a random dungeon size and shape (withing constrains).
There Generator first needs to create the plane on which the rooms and corridors can be placed
the first area (starting Area) is always set as above, somewhere in there we place the cave opening area and within there we add the Shrine room.
Once that is set we need to extend the plane.
3. Some rooms are placed before the generation (Must Legendary rooms)
4. Allow designer freedom in room shape and size. So we have prebuilt existing rooms and we slelct them to be added to the dungeon.
5. Start placing rooms and corridors (with certain restrictions) , room must be inside the layout, room must not be touching rooms.
6. Create Coridors/joints to fit in order to join rooms1.A non grid layout, create a random dungeon size and shape (withing constrains).
There Generator first needs to create the plane on which the rooms and corridors can be placed
the first area (starting Area) is always set as above, somewhere in there we place the cave opening area and within there we add the Shrine room.
Once that is set we need to extend the plane.
![]() |
| We create a random side plane |
![]() |
| Rotate it randomly |
![]() |
| place it so a percentage X of the plane is inside the existing plane and a percentage Y is outside the existing plane. then add the plane to our existing plane |
![]() |
| Repeat |
![]() |
| Repeat |
![]() |
| Repeat until the a plane reaches a part of the possible exit points |
3. Some rooms are placed before the generation (Must Legendary rooms)
4. Allow designer freedom in room shape and size. So we have prebuilt existing rooms and we slelct them to be added to the dungeon.
5. Start placing rooms and corridors (with certain restrictions) , room must be inside the layout, room must not be touching rooms.
7. Randomly place 2 gameobjects with distance rules between them and give the rooms percentage based on the distance from the gameobject.
8. "Dress" the room depending on its gameobject points and its theme.
9. Spawn the enemies per room if a enemy spawning point exists.
10. Allow the game to be played at different heights, dwell down into the dungeon. Multilevel.

























Comments
Post a Comment