Temple of The Roguelike Forums
Development => Programming => Topic started by: NON on December 19, 2013, 09:27:08 AM
-
I did some videos to show the map generation process of Infra Arcana. Maybe someone here is interested in this :)
http://www.youtube.com/watch?v=b6Kz2qMyKww
http://www.youtube.com/watch?v=_oRKLYqB4GI
It's a pretty simple Rogue-style 3x3 map, with some extra stuff added to it.
-
Adding extra rooms after basic generation is a trick I also learned while developing Kaduria. That way you can simply look for available space and fill it, and those rooms even seem to be logical (storerooms etc.)
That second generation with some kind of cavern looks interesting. How do you avoid the cavern breaking the basic structure (badly)? Or is it supposed to do it?
-
That second generation with some kind of cavern looks interesting.
Yeah that map turned out pretty nice. A central cave with rooms surrounding it :)
How do you avoid the cavern breaking the basic structure (badly)? Or is it supposed to do it?
If I recall correctly the cave simply fills the empty space between rooms and corridors. Haven't looked at that code for a while, but it's a good guess that it marks every floor cell + every cell adjacent to floor cells as blocking (excluding cells inside the area the cave originates from) - then a floodfill converts all walls to floor, and adjacent walls to cave walls.
-
If I recall correctly the cave simply fills the empty space between rooms and corridors.
Yet it looks like the cavern is generated over the existing rooms and merges them in the cavern. I guess it doesn't matter as far as everything is connected.
-
If I recall correctly the cave simply fills the empty space between rooms and corridors.
Yet it looks like the cavern is generated over the existing rooms and merges them in the cavern. I guess it doesn't matter as far as everything is connected.
Ah yeah it does seem to modify the map pretty heavily. Well I'm planning to do a bunch of refactoring and add tests for map generation, so things may change (or at least be more tightly controlled).