Page 1 of 3

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

PostPosted: Fri Feb 01, 2019 3:33 pm
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

Re: Randomized Rougelike map - v0.5

PostPosted: Fri Feb 01, 2019 6:52 pm
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 :)

Re: Randomized Rougelike map - v0.5

PostPosted: Fri Feb 01, 2019 7:50 pm
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!

Re: Randomized Rougelike map - v0.5

PostPosted: Fri Feb 01, 2019 8:00 pm
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!

Re: Randomized Rougelike map - v0.5

PostPosted: Sat Feb 02, 2019 10:50 am
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:)

Re: Randomized Rougelike map - v0.5

PostPosted: Sat Feb 02, 2019 1:03 pm
by Hetdegon
That's the simplest generation algorithm ever. It's positively adorable and ballsy, I love it.

Re: Randomized Rougelike map - v0.5

PostPosted: Sat Feb 02, 2019 1:30 pm
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.

Re: Randomized Rougelike map - v0.5

PostPosted: Sat Feb 02, 2019 4:21 pm
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.

Re: Randomized Rougelike map - v0.5

PostPosted: Sat Feb 02, 2019 10:19 pm
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.

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

PostPosted: Sun Feb 17, 2019 9:26 pm
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!

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

PostPosted: Mon Feb 18, 2019 12:24 pm
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.

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

PostPosted: Mon Feb 18, 2019 2:46 pm
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.

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

PostPosted: Mon Feb 18, 2019 2:54 pm
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.

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

PostPosted: Mon Feb 18, 2019 9:32 pm
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).

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

PostPosted: Tue Feb 19, 2019 11:37 am
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.