Page 1 of 1

Building a map/dungeon editor/generator

Posted: Fri Nov 21, 2014 7:19 am
by radthemad4
I'm thinking of building one of these for a University course (it's called 'Software Quality Assurance' and my objective is 'testing'* the various types of Procedural Generation (grammars, cellular automata, agent based methods, etc).

*I'll try to look for/make up metrics that correspond to stuff people rate higher than either stuff.

Do you guys currently use any software to help you out with making dungeons (including outdoor areas)/maps for your campaigns? If so, which ones and what additional features would you like to see in them? If not, what features would you consider to be worth bothering to learn a new software?

Posted: Fri Nov 21, 2014 7:23 am
by Ed
Semi-related: I have a fork of NetHack's map generator somewhere around here that I use to create map bases for dungeon crawls.

I once GMed a D&D campaign with a bunch of folks who all played NetHack on my server, so I pulled their bones files and made maps out of them. Somebody realized on the third level. The reaction was pretty great.

Posted: Fri Nov 21, 2014 7:30 am
by radthemad4
Nifty. Do you mind if I take a look? This stuff is mostly new ground for me so I might not fully understand how it works, but it'd probably be pretty helpful nonetheless.

Posted: Fri Nov 21, 2014 7:37 am
by Ed
It's not in my Github (when I say "somewhere" I mean "on a backup drive in my closet), but if you know C, the NetHack generator source is pretty easy.

Posted: Fri Nov 21, 2014 8:03 am
by radthemad4
I've got a basic understanding of C which may or may not be sufficient for this sort of thing. What did you change from the original code?

Posted: Fri Nov 21, 2014 8:20 am
by Lokathor
The most important part of any nethack-like system is, obviously, finding a good use for the rnz() function.

Posted: Mon Nov 24, 2014 6:50 pm
by GnomeWorks
While I don't have anything code-specific to point you at, there's a blog I've been reading for years that has lots of interesting things to say about PGC.

This post talks about puzzle trees and how to set them up; this one is about world generation; this one focuses on building rooms within weirdly-shaped regions (useful for dungeons and the like).

There are a bunch more, too, on the site, which cover a variety of related topics. His writing is a bit weird in places and sometimes hard to follow, but the underlying ideas generally seem solid.

Posted: Mon Nov 24, 2014 7:28 pm
by Pixels
I would recommend Crawl's dungeon generator as well, if you are looking at roguelikes.

Posted: Mon Nov 24, 2014 7:47 pm
by RadiantPhoenix
Lokathor wrote:The most important part of any nethack-like system is, obviously, finding a good use for the rnz() function.
That article has an extremely misleading statement:
The most probable outcome turns out not to be the given parameter, but half of that number, as can be seen in the graph to the right.
This is technically true, but the only time you'd care is if you're trying to guess the exact number. (And you will almost always be wrong at that anyway, so it doesn't help much)

If an estimate is good enough, you probably care way more about one of these:
  • the median: x, by the simple fact that the function generates a number, tmp, and has a 50/50 chance of multiplying x by that number or dividing it by that number)
  • the mean and standard deviation: ~1.3 * x and ~1.0 * x, respectively, as shown in the article.
  • What the distribution looks like: tmp is (1d1001+999)/1000 * rne(4), where rne(Y) is one plus the number of times an exploding dY explodes. This is shown in a graph linked in the article: http://vignette1.wikia.nocookie.net/net ... Rnz100.svg

Posted: Wed Nov 26, 2014 8:13 pm
by radthemad4
GnomeWorks wrote:While I don't have anything code-specific to point you at, there's a blog I've been reading for years that has lots of interesting things to say about PGC.

This post talks about puzzle trees and how to set them up; this one is about world generation; this one focuses on building rooms within weirdly-shaped regions (useful for dungeons and the like).

There are a bunch more, too, on the site, which cover a variety of related topics. His writing is a bit weird in places and sometimes hard to follow, but the underlying ideas generally seem solid.
Thanks. I especially like the last link. I think it'd be nifty if users can specify a particular part of a dungeon as being of a particular nature and filling the blanks with software.

Coding/algorithmic advice is great, but it'd also be cool if you guys chimed in about what you'd like to see in a Dungeon editor/generator.