PDA

View Full Version : Fully procedurally generated world?



Shinizak
2018-10-02, 10:02 AM
Forgive me, as I'm rambling and just trying to get this down.

I juse woke up literally 3 minutes ago (from time of writing this) from a really cool but complicated game idea, and I wanted to know if it's feasible. Imagine a game where there was a really specific world generation system where you could hypothetically start a game from any location on the map and it would generate an adventure for you depending on what values )like longitude and latitude or city values or whatever) you plugged in. But here's the kicker, the generation is really specific, so 2 different groups can come across the same dungeon so long as they follow the auto generation system to the letter, and it would be possible to compare experiences. Like an analog mmo video game. Is such a thing possible? Specifically is such a thing possible without having life become a never ending math problem?

Yora
2018-10-02, 02:41 PM
Sounds a bit like West Marches. It was a campaign that was quite well documented and got a lot of attention and conversation going. Should be easy enough to search online.

Pleh
2018-10-02, 02:53 PM
I guess technically the rules for random dungeon generators should work fine

Nifft
2018-10-02, 04:38 PM
There have been random dungeon generator tables in various books since the early days of D&D.

I'm absolutely certain you could make a procedurally generated dungeon manually, and that it's already been done at many different tables starting from the 1970s.

Deophaun
2018-10-02, 04:52 PM
OP, the problem that you have is you wind up with No Man's Sky. Procedural generation is overrated. Even when we get to have the full computational power of advanced processors at our disposal, we still wind up with infinite sameness. Now you need to simplify things so they can be hand-calculated. That doesn't bode well.

I guess technically the rules for random dungeon generators should work fine
It wouldn't work because of the word "random."

Lunali
2018-10-02, 05:30 PM
It wouldn't work because of the word "random."

The rules will work just fine as long as you use something non-random in place of the die roll.

Devils_Advocate
2018-10-02, 05:47 PM
With a wide range of input variables, two groups aren't going to randomly wind up going through the same dungeon anyway under such a system. In order for them to be able to compare experiences, they'd need to agree to use the same inputs in order to get the same adventure. But if they're coordinating in order to use the same adventure anyway... then they could just share the information for that adventure, without needing to generate it using a fancy system.

So this seems like a solution in search of a problem. (Maybe it could make sense in some sort of scenario with limited communication bandwidth, because then sharing a few variables would be preferable to having to transfer a whole dungeon layout?)

Beneath
2018-10-02, 06:02 PM
So what you're looking for is procedural generation based on the coordinate values you give rather than any randomization, so that the entire procedural world is simply described by the generation algorithm, and you want the generation algorithm to be hand-executable, and you want interesting adventures to fall out of it in a way that they have enough consistency that they're recognizable from player to player.

Video games do the procedural generation from coordinate values thing by feeding the coordinates into a pseudorandom number generator, but PRNGs are hard to implement by hand (and you'd be referring back to it a lot).

Procedurally generating adventures with little enough left to the interpretation of the person running the generator that they'll be consistent between eachother while still keeping it interesting is a hard problem on its own (see: any game that has procedurally-generated quests)

If you want a procedural generator that isn't just an engine to give a person ideas to go off of, I don't really see the point in doing it by hand. Let the computer do it, at least to push out a reference for a GM.

Man_Over_Game
2018-10-02, 06:13 PM
See, what y'all need to do is go hit up the Dwarf Fortress forums and ask them some questions on how they do their magic.

If you want procedurally generated fantasy worlds with quests and items and monsters and everything else, they're the ones to approach about it.

And in case you aren't aware, they are a cult, worshipping the same game that's been developed consistently for the last 20 years. So...uh...no sudden movements; they aren't used to dealing with normal people and can be a bit twitchy.

martixy
2018-10-05, 03:56 AM
Forgive me, as I'm rambling and just trying to get this down.

I juse woke up literally 3 minutes ago (from time of writing this) from a really cool but complicated game idea, and I wanted to know if it's feasible. Imagine a game where there was a really specific world generation system where you could hypothetically start a game from any location on the map and it would generate an adventure for you depending on what values )like longitude and latitude or city values or whatever) you plugged in. But here's the kicker, the generation is really specific, so 2 different groups can come across the same dungeon so long as they follow the auto generation system to the letter, and it would be possible to compare experiences. Like an analog mmo video game. Is such a thing possible? Specifically is such a thing possible without having life become a never ending math problem?

That's basically how random generation in computers works.

Cuz it's not really random. It's pseudo-random.

Pseudo RNG has 2 components - the algorithm, and the seed.
Algorithms, by definition produce the same output when given the same input. The seed is your initial value.
A good pseudo RNG produces seemingly random values from sequential seed values.

So the result you desire comes out of the box by virtue of how computers work. So... use a computer to do your world generation.

Pelle
2018-10-05, 04:14 AM
If you don't want it to be random, i.e. two different groups want to find the same dungeon at the same location, what you want is just a map with adventures keyed to specific locations :)

I guess you could hide map and make an algorithm to regenerate it, if you want it to feel like procedural and hidden to the players. If it is just deterministic, then it's not really a point in doing it for one specific instance. Although, it could be fun to have an algorithm where if you change the input paramaters, you deterministically generate a different world.

Frozen_Feet
2018-10-06, 12:29 PM
What you want is essentially Dwarf Fortress with a way to get the program to spit out maps and other gameable data in printable form.

For a full, algorithmic, non-random, seed-based world-creation, you really want the process to be computerized, because it gets work intensive fast as the scope of creation increases. There are ways to procedurally generate playable worlds by hand, but they aren't rigorous enough (too much randomness) to replicate past work from a seed. Smaller setting pieces, such as towns or dungeons, might be doable even by hand, though.

Bacon Elemental
2018-10-07, 03:58 AM
There are a couple of tools like legends browser that let you easily parse the details and history of a dwarf fortress world if you're really interested in cribbing a random number generator's setting.

Johel
2018-10-07, 05:02 AM
You could work through several random generators.

One to generate a map first, such as this one :
https://azgaar.github.io/Fantasy-Map-Generator/

And then other generators to create random towns, dungeons and encounters.
Depending of how much preparation you want, you could pre-generate a few dozens to a few hundreds of such "modules" and then use them in your games as you see fit.

http://www.d20srd.org/d20/demographics/
http://www.d20srd.org/d20/encounter/
http://www.d20srd.org/d20/dungeon/

As for names, you got this :
https://www.fantasynamegenerators.com/

137beth
2018-10-07, 08:22 AM
The closest thing I can think of that is feasible to do by hand is Word Mill's Mythic Roleplaying (http://www.wordmillgames.com/mythic.html).

If you really want it to be completely procedural, though, you're going to need a computer. Dwarf Fortress is probably your best bet in that case.

jayem
2018-10-07, 09:54 AM
it could be done [to a limited extent]. Modular (clock) math multiplication has clear patterns underneath (especially if there are common factors) but shuffles things a bit. [Combined with a general hierarchical structure you could get something]

E.g. starting from 1 and adding the seed mod 11 gives
1,2,3,4,5,6,7,8,9,A
2,4,6,8,A,1,3,5,7,9
3,6,1,2,4,8,5,A,9,7
...

Which from a set of 10 cards gives you 10 similar but different 'towns'/'dungeons' that you can identify as 1,2,3...
1000 if you also combine with adding a different seeds before and after.


Based on the co-ordinates you generate a number of seeds.

Based on the district you pick one of 10 background tiles (woody, coastal, desert, river) etc... You put this down
Based on the district stats you pick on of 10 city tiles you put this on the centre (this consists of a basic road network and 10 numbered squares)

Based on something you chose the cities specialist buildings. These become buildings 1-3. The generic buildings are numbered 4-10.

You shuffle based on the three seeds, to get a unique order.

You place the 1st tile on the space numbered 1, etc...

The background also has 10 subtly numbered squares. You pick the set of 5 tiles matching the theme and add 5 null tiles. Shuffle based on a different three seeds. Again put the 1st tile on the space numbered 1, etc... then remove the null tiles.

(you could probably give much of thee above to the players)

When they go into a building. The 7th seed combined with the tile type gives a rough idea at the important character.

The 9th seed combined with the space number gives an idea at the 'quest' (Maybe 1-3 is the main quest, 4,5 are fetch quests, 6,7 are character secrets, 8.9,A). A further process depending either on the character, tile type, active quest, district etc... gives further details.