Tenebrae DevLog - Entry #14
Vania - Tenebrae's procedural dungeon generator
After showing the game at various indie events, people were complaining about the lack of 'pure' Metroidvania features in the current build, so we focused on what makes Tenebrae a modern Metroidvania game.
Transcending the Daedalus
Built upon Daedalus (our Unity plugin for dungeon generation), Vania is the new iteration of our in-house procedural level generation technology.
It was written 'ad hoc' for Tenebrae, so it works in Unreal Engine 4, and it features some amazing new tools and options to help creating Metroidvania and Rogue Like/Lite games.
Don't lock me out
Vania automatically creates lock/key systems and scatters them all over the generated map. It also automatically handles the generation of 'special' rooms required to complete the level. For example, if it is decided by the designer that the player must acquire the Double Jump skill to go on in the level, Vania will place a room where the player can find such skill, and then will generate a guaranteed, subsequent room where this skill will be put to the test before you can go on and complete the level successfully.
Another example: if the designer decides that the player must face a specific Boss or Mini-Boss before he/she can leave a map (maybe because it will drop a key or a special item once it's dead), Vania will spawn the relative stuff (e.g., the Boss room) before the Exit room.
Variations matter
Other features such as Filters and Variation Sets/Groups also change the visuals of a game level. Let's say we want to create a castle: Vania will automatically place tower-like rooms in the higher zone of the map, while spreading dungeons, cellars and sewers in the lower part. Pretty amazing!
In the following pictures you can see a height-based Filter in action: purple rooms represent tower-like rooms, while light-blue rooms are dungeons.
More than meets the eye
And it doesn't end here! In Tenebrae, every node of the map (i.e., a rectangular room) has actually an inner complex layout, like the ones in the following pictures.
Inside a room, other key aspects are randomly generated (doors, portals, treasure chests, loot, enemies, etc.) according to player's status and RPG values!