Randomized Roguelike map - v5 (Upd. 12/9/19) (New Map Gen!)

New maps, and other projects whose primary focus is new maps, belong here.

Note: This forum, and all forums below it, are not for questions or troubleshooting! Threads created here are for active projects only! If you have questions please feel free to use the Editing subforums or General forum.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
TDRR
Posts: 823
Joined: Sun Mar 11, 2018 4:15 pm
Location: Venezuela

Randomized Roguelike map - v5 (Upd. 12/9/19) (New Map Gen!)

Post by TDRR »

What's this? Well, it's a randomly generated massive map filled to the brim with monsters, weapons and ammo!

You need to hunt down 3 keys, along with just shooting the heck out of everything you can find along the way.
After finding all 3 keys, go back to your start point, which has a key-locked teleporter in it. Might be pretty hard with the huge map layout!

DOWNLOAD NOW!

But wait, there's more!
Spoiler: Features
Spoiler: Changelog
Spoiler: Screenshots or it didn't happen
Last edited by TDRR on Mon Dec 09, 2019 10:58 am, edited 9 times in total.
gramps
Posts: 300
Joined: Thu Oct 18, 2018 2:16 pm

Re: Randomized Rougelike map - v0.5

Post by gramps »

That's an interesting approach... start with a big open grid of square sectors, then randomly close some sectors off by raising the floor.

It looks like that process is entirely random for now -- so parts of the map can be unreachable -- but this kind of thing should lend itself pretty well to the usual dungeon building algorithms like cellular and digger-types. Would be interested in seeing how it looks with more structured dungeon gen :)
User avatar
TDRR
Posts: 823
Joined: Sun Mar 11, 2018 4:15 pm
Location: Venezuela

Re: Randomized Rougelike map - v0.5

Post by TDRR »

gramps wrote:That's an interesting approach... start with a big open grid of square sectors, then randomly close some sectors off by raising the floor.

It looks like that process is entirely random for now -- so parts of the map can be unreachable -- but this kind of thing should lend itself pretty well to the usual dungeon building algorithms like cellular and digger-types. Would be interested in seeing how it looks with more structured dungeon gen :)
If you can point me to some good algorithm i could spend the time to port it to ACS :)

EDIT: Found one with tutorial and everything: https://medium.freecodecamp.org/how-to- ... 0085c8aa9a

Time to get this to work!
gramps
Posts: 300
Joined: Thu Oct 18, 2018 2:16 pm

Re: Randomized Rougelike map - v0.5

Post by gramps »

Cellular would be an easy one to start with. It generates open, organic, cave-like dungeons.

You know "Conway's Life?" It's in a class of things called "Cellular Automata" or CA. First you'd entirely randomize the dungeon, like you're doing now. Cells should probably have around a 50/50 chance of being closed off. Then you'd run your CA for a few iterations.

You CA should differ from Conway's Life in its birth and death rules, in such a way that it sort of rounds off sharp corners, removes small "islands," etc., while remaining more or less stable (so it doesn't wipe out or fill in whole map). You can probably find a good set of rules on Roguebasin or somewhere. As you get used to it, you'll get a feel for how the rules work and be able to tweak them to your liking.

The overall idea of CA is this. Say each open cell has a value of 0, and each closed cell has a value of 1. You'd look at a cell, count up the eight neighboring cell values to get a value between 0 and 8. Then based on that value, decide whether to open or close the cell, or leave it alone. You should store the new values in a separate array (so you're not changing things as you're scanning the grid), then replace the old values with them all at once.

This is much different from the usual rooms-and-corridors algorithms (which you can also find on roguebasin), but is a decent way to get something cohesive without too much work.

Edit: that algorithm you found looks interesting too... make sure you decouple that from the other code enough that you can easily switch between different dungeon generators!
Beezle
Posts: 139
Joined: Thu Aug 16, 2018 6:48 pm

Re: Randomized Rougelike map - v0.5

Post by Beezle »

Hey this is actually pretty damn cool, you never play the same map twice. Each time though it comes PACKED with monsters lol, would make a good practice map:)
User avatar
Hetdegon
Posts: 320
Joined: Sat Oct 30, 2004 12:55 pm
Graphics Processor: nVidia with Vulkan support
Location: Chireiden

Re: Randomized Rougelike map - v0.5

Post by Hetdegon »

That's the simplest generation algorithm ever. It's positively adorable and ballsy, I love it.
User avatar
TDRR
Posts: 823
Joined: Sun Mar 11, 2018 4:15 pm
Location: Venezuela

Re: Randomized Rougelike map - v0.5

Post by TDRR »

Hetdegon wrote:That's the simplest generation algorithm ever. It's positively adorable and ballsy, I love it.
I honestly really liked how the random noise algorithm does maps, not tunnely, but pretty open with pillars and open paths into other areas. Shame it only uses a small portion of the map.

I'm adding another algorithm but this definitely will be the default because the other just makes long (but coherent and relatively connected) tunnels.

Also, i'm finishing an objective system of sorts, three keycards are spawned in the map, and you got to hunt them and return to a escape teleporter at the start of the map.
gramps
Posts: 300
Joined: Thu Oct 18, 2018 2:16 pm

Re: Randomized Rougelike map - v0.5

Post by gramps »

I started working on a cellular generator just for fun, but realized some sector tags were out of order (something with bottom 3 rows). If that's fixed on next release, I'll finish that up if you're interested, and maybe a digger-type if you want.

About those tunnels being too long, what you can try doing is weighting that walk so it's more likely to choose a direction other than the direction it's already tunneling, so you'll get more twisty passages.

The totally random generation really does work pretty well, though. Just needs some kind of check for unreachable areas, maybe.
User avatar
TDRR
Posts: 823
Joined: Sun Mar 11, 2018 4:15 pm
Location: Venezuela

Re: Randomized Rougelike map - v0.5

Post by TDRR »

gramps wrote:I started working on a cellular generator just for fun, but realized some sector tags were out of order (something with bottom 3 rows). If that's fixed on next release, I'll finish that up if you're interested, and maybe a digger-type if you want.

About those tunnels being too long, what you can try doing is weighting that walk so it's more likely to choose a direction other than the direction it's already tunneling, so you'll get more twisty passages.

The totally random generation really does work pretty well, though. Just needs some kind of check for unreachable areas, maybe.
It's very unlikely that i will fix the out of order sector tags, because literally EVERY SECTOR TAG is out of order, and because tagging 3712 sectors by hand one by one to have them ordered properly is pretty troublesome. I'm going to see if GZDB has a proper way to select the sector tag order, if not then sadly we are out of luck.

In the end i will work around this by making a DECORATE actor step around the map digging the tunnels as needed, to make a digger-algorithm.
User avatar
TDRR
Posts: 823
Joined: Sun Mar 11, 2018 4:15 pm
Location: Venezuela

Re: Randomized Rougelike map - v1 (Upd. 17/2/19)

Post by TDRR »

Updated! Changelog and download in the first post.

This one is a pretty good update, including an actual objective and infinitely generating maps. But i really recommend using a music randomizer to avoid boredom with no music!
User avatar
Solid-Head
Posts: 57
Joined: Thu Sep 11, 2014 1:07 pm

Re: Randomized Rougelike map - v1 (Upd. 17/2/19)

Post by Solid-Head »

Currently running this with Colorful Hell, Doom RLA + LightRPG and I had way more fun than I expected ! The ultimate Doom roguelike experience is very close.
Its also very easy to add theme. Gotta go with fireblu all the way.
One thing I did though is remove a square near the start to avoid getting insta kill on spawn. Work pretty well.

I found 2 bugs. Sometime the digger just doesnt work and you can't finish the map. The other thing is that key sometime clip into walls making them harder to see.
For now 2 things I'd like to see is less items on the ground and a random decoration spawner that would fit the theme. Making the map prettier I guess. I would love height variations, but not too sure how you would implement that.

Nice work man keep it up.
User avatar
TDRR
Posts: 823
Joined: Sun Mar 11, 2018 4:15 pm
Location: Venezuela

Re: Randomized Rougelike map - v1 (Upd. 17/2/19)

Post by TDRR »

Solid-Head wrote:Currently running this with Colorful Hell, Doom RLA + LightRPG and I had way more fun than I expected ! The ultimate Doom roguelike experience is very close.
Its also very easy to add theme. Gotta go with fireblu all the way.
One thing I did though is remove a square near the start to avoid getting insta kill on spawn. Work pretty well.

I found 2 bugs. Sometime the digger just doesnt work and you can't finish the map. The other thing is that key sometime clip into walls making them harder to see.
For now 2 things I'd like to see is less items on the ground and a random decoration spawner that would fit the theme. Making the map prettier I guess. I would love height variations, but not too sure how you would implement that.

Nice work man keep it up.
Glad to hear you like it! About your suggestions:
Less items are possible, and i already took a step in that direction. Maybe adding an extra monster will make it more weighed towards enemies.
A random decoration spawner can be done, but i don't want it as the map would become too cramped to play in.
Height variations aren't really possible in any playable way, so i'm going to leave it as it is. Would be cool though.

I never get killed at spawn, mostly because i always straferun so projectiles have a harder time hitting me, but i may try removing a tile at map start.

Currently there's no real algorithm to build the map, i'm just using a random number generator that really impresses me more than it should. A true digger algorithm is being worked on, and hopefully that can spawn keys more elegantly than what i'm doing right now.
Keys are spawned by a running spawner, which takes 10 tics to place each key. This is why sometimes it's in a corner, but it shouldn't be out of bounds, which hasn't happened to me yet. Next time you find the issue, try sending a saved game so i can see what's the problem.
User avatar
Beed28
Posts: 598
Joined: Sun Feb 24, 2013 4:07 pm
Location: United Kingdom

Re: Randomized Rougelike map - v1 (Upd. 17/2/19)

Post by Beed28 »

I've just had all three keys spawn in the same spot inside a wall, rendering the map unbeatable without noclip:


I sadly can't share a saved game because I had several personal-use mods loaded, RO notwithstanding.
gramps
Posts: 300
Joined: Thu Oct 18, 2018 2:16 pm

Re: Randomized Rougelike map - v1 (Upd. 17/2/19)

Post by gramps »

Just found this thing (originally written by the Cube guy!), thought it might be useful for regenerating that grid with consecutive sector ids: https://jmtd.net/wadc/

By the way, there's a typo in "Roguelike" in the title (just noticed when searching for this thread).
User avatar
TDRR
Posts: 823
Joined: Sun Mar 11, 2018 4:15 pm
Location: Venezuela

Re: Randomized Roguelike map - v1 (Upd. 17/2/19)

Post by TDRR »

gramps wrote:Just found this thing (originally written by the Cube guy!), thought it might be useful for regenerating that grid with consecutive sector ids: https://jmtd.net/wadc/

By the way, there's a typo in "Roguelike" in the title (just noticed when searching for this thread).
I thought about it, but sadly it doesn't support Hexen format maps, and i'm plenty sure this can't be done with Boom format only.

Oops! Fixed.

Return to “Levels”