News Force Head Editor from 09/14/2018 - 03/02/2020
Publicist from 11/23/2017 - 06/07/2019
Global Moderator since 09/24/2017
Minion+ from 04/16/2017 - 09/24/2017
Market Place Minion from 04/16/2017 - 09/24/2017
Minecraft Minion from 02/23/2017 - 09/24/2017
Realm of the Mad God Minion from 11/06/2016 - 09/24/2017
Middleman from 09/14/2016 - 09/24/2017
News Force Editor from 08/23/2016 - 09/14/2018
News Force (Section of the Week) from 03/21/2016 - 07/17/2017
News Force (User News) from 10/18/2015 - 09/14/2018
Donator since 03/16/2015
Realm of the Mad God Editor from 05/20/2014 - 07/08/2014
Member since 12/23/2012
Rep Power: 82
What kind of randomization are you talking about? Curious because abyss on production has a random layout every time. Are you talking about having multiple premade maps that are chosen at random? If so, I wouldn't really call that randomized. If not, looks like I need to look into this and save me some time tackling that problem.![]()
Be careful, stray too far from the pack and you'll get lost.
Most of Prod's dungeons use PRDG or PDG - (Procedural Random Dungeon Generation) or (Procedural Dungeon Generation).
How they do it?
Well it's a 3 pass system that happens almost instantaniously...
Pass 1: They generate floorings for the entire dungeon. Spawn and Boss rooms are unique shapes so they go first, All other middle rooms are generated right after.
Pass 2: This is where all the walls are constructed as well as blocksight is initiated (most likely just built into the wall system)
Pass 3: In the third pass they place out all the regions and Cowardice Portal as well as the Enemy spawners are placed with a system to make sure you don't have mixed enemies... Like -- 1 Brown Slime - 1 Blue Golem and a few skeletons... They make sure that a group of enemies spawn at the same time by placing down one Enemy region per room and then sending an array of information to each of them using a randomized system to do so.
I is pansexual furry and proud
Server Information:
Status: Confused
I didn't really research the whole prdg but my idea was to make a puzzle piece matcher if you would. So one would create many separate "maps" that contain just one room for a particular dungeon. Then just write code to match up the entrances and exits of the rooms.
Maps like abyss might be a little hard to do with a simplistic approach such as this one, I'll know for sure later when I examine multiple abyss layouts and see if I can spot patterns. The floor of abyss is pretty interesting and the only way I can think to achieve that is to make randomly generated flooring / walls as you suggest. But if you take mad lab for instance, many of the rooms look "standardized" as if they came from a predefined layout. On such maps a simple puzzle piece matcher should work.
Supposedly we already have this feature in available sources. They use 3 pass prdg?
Last edited by nilly; 10-14-2014 at 09:00 AM.
Be careful, stray too far from the pack and you'll get lost.
3 Pass PRDG is the most common type of random generation systems because it's the most simplistic and it works perfectly
As you said about Abyss - Yes, it's not as easy to do because what the abyss has is a Mask that generates Lava ontop of it with a thickness of 3-5
Explanation about 3 Pass with Masking:
As you know the First Pass creates the floors across the dungeon. With Masking you draw a seperate layer ontop of the map that is on a curve, (Starts on the top and curves to the sides (Left or Right - Never both) and then everything that mask touches because a Lava Tile - Then in the 2nd pass when it adds in all the walls it also adds the Masking Tiles (Pathways across lava to make sure all paths are still possible to take). Then the 3rd tile just does the exact same as the normal system without masking. That's the simplest way to mimic Abysses, The Treasure Room is a different story because it's usually placed during Pass 1 right before the masking is done if there is one placed on the map. Or it is integrated into the Masking generation to make sure it doesn't take too big of a hit with Lava Tiles considering it's creating it's own tiles.
Normally all extra presets would be added during Pass 1 or 2 but I think in this case with the Treasure Room it's either added on Pass 1 before Masking (Pass 1b) or during Pass 3 (generation of enemies and regions) in order to keep the layout. As the Treasure Room is a SetPiece that gets set down on the map where a room has a dead end towards the top usually. Meaning it will always be on the northern side of the map.
My opinion on handling Treasure Room:
I'd say - In order to keep the Treasure Room secure from the Masking system it'd be done in Pass 2 or Pass 3 so that it doesn't have any Lava Tiles inside of it when it's created.
I is pansexual furry and proud
Server Information:
Status: Confused