Sign in to follow this  
radii

Pre-Generated Caves in Maps

Recommended Posts

Is there interest in (or does there exist) a cave generating tool that would basically hollow out different areas underground, under certain constraints like maybe:

 

  • floor and ceiling heights, and slope limits
  • maximum/minimum cave area size
  • how close each cave room is to one another, and how often they should be connected to each other
  • would or would not retain ore veins inside the generated cave area
  • whether or not caves close to the surface should have tunnel entrances

 

I would really like to hear about any practical considerations that might go along with a tool like this. Could this be a feature adapted into one of the map generating tools out there?

 

Thank you

Share this post


Link to post
Share on other sites

I'm no programmer but it would seem this is possible. Someone would just have to find a way to inject the cave data into the associated part of the map files.

 

I like this idea. It could facilitate the beginnings of a generated "Adventure" mode by creating a labyrinth and possibly spawning critters inside, maybe with a reward hidden in the cave.

 

EDIT: Good idea to associate with the upcoming Rifts maybe.

 

Edited by Audrel

Share this post


Link to post
Share on other sites

ABSOLUTELY!  While it's too late for my main map, it's something I desperately wanted to create ready made dungeons in the game.  It will definitely be of use later on for me.

 

One thing I would request it the ability to "paint" caves and tunnels.  I don't know how practical that is.

Share this post


Link to post
Share on other sites

Would like to contribute a programmer's concerns with this -

 

This idea obviously would be a very nice one in practice - Minecraft has a similar thing where dungeons just exist and have mean creatures protecting some kind of loot somewhere, all you have to do is uncover them. That being said, the way maps (and the surface/cave layers) are designed might make this a real drag in a lot of ways. The mining layer is basically implemented as if it were a 2nd map with constraints based on the surface one. Elevation doesn't truly exist at the map layer, it's just a rendered 2D pixelmap... The problem I would expect to encounter would be the "connection" - Wurm would be very different from Minecraft in this regard because in MC you just break a block and boom there's a giant dungeon in front of you. In Wurm, you have elevations and entrances to worry about... It'd be impossible to anticipate at what elevation a player would tunnel into the cave layer, and if they are too far off you could end up with a downward slope connecting their tile to the pre-existing cave that would most certainly cause instant death if fallen into.

 

I suppose it could be something like a RNG generator initiated when the player breaks a wall or creates a tunnel opening? Like each time a rock tile is broken through, run the checks, determine if conditions are met for the presence of a dungeon in the cave layer at that spot, and a 1 in 9,001 chance gets you a dungeon generated right then and there. That might be the only way to do it but would probably have a high, spiky CPU impact on the server when it happens... Lots of map criteria to be met there... But doing it this way would mean the elevation could be assured.

 

EDIT: also, some player concerns haha

This would be a neat idea for an "adventure" mode - perhaps it would be best for maps to pre-make them instead of being on a per-server basis - but Wurm's more geared toward player impact on the game, nothing happens without a player effecting it, you shape the world, etc. ... this would kinda fly in the face of that as well

Edited by Ignacius

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this