Closed mminer closed 2 years ago
It occurs to me that pulling in libtcod as a native plugin will prevent us from making WebGL builds, so let's scrap that option.
@mminer would it make sense to:
To make it more interesting, you could potentially create multiple mazes (ie. 4
would generate Tetris shapes) that connect to each other and self-manage their random elements. Connecting them might difficult but the generator I linked to above allows specifying the start, so it's likely doable and we would know exactly where these connections are, which may allow an opportunity for a mechanic (a special doorway, reward, enemy, difficulty bump, etc).
Hmm yeah, that approach might make sense.
On the pre-made library front, I tried RogueSharp and the maps it generates look good to my eyes. They're effectively a series of rectangles connected by hallways, but the results have a somewhat organic feel to them.
################################
################################
################################
##########.....#################
##########.#...#################
##########.############......###
##########.############......###
######.......................###
######.......##.......#......###
#########..####.......#......###
#########..####.......#......###
#########..####.......#......###
#########..#######.####......###
#########..#######.######.######
#########..#######.######.######
#########..#######.######.######
#########........#.######.######
#########..........####......###
#########........######......###
#########....................###
#########..############......###
#########..############......###
#########..############......###
#######........#################
#######........#################
#######........#################
#######........#################
#######........#################
#######........#################
#######........#################
################################
################################
To enforce hallways with doors, generating four smaller maps like you mention (or two side-by-side?) and carving a path through them seems like a good idea.
For monsters that you have to slay by first finding a chest with a weapon, we could do something similar:
I connected RogueSharp to our tilemap. I think this might work nicely as our foundation.
I'm going to call this done. We have to do more work to fill the dungeons with obstacles and items, but we can consider the map generation itself finished (sans tweaking).
This seems like it could be a gnarly task if we attempt to do it from scratch. My vote is to integrate an existing library. I found a few: