Building a map/dungeon editor/generator

General questions, debates, and rants about RPGs

Moderator: Moderators

Post Reply
radthemad4
Duke
Posts: 2073
Joined: Mon Nov 18, 2013 8:20 pm

Building a map/dungeon editor/generator

Post 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?
Last edited by radthemad4 on Fri Nov 21, 2014 7:21 am, edited 1 time in total.
Ed
Apprentice
Posts: 72
Joined: Fri Aug 09, 2013 8:13 pm

Post 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.
radthemad4
Duke
Posts: 2073
Joined: Mon Nov 18, 2013 8:20 pm

Post 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.
Ed
Apprentice
Posts: 72
Joined: Fri Aug 09, 2013 8:13 pm

Post 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.
radthemad4
Duke
Posts: 2073
Joined: Mon Nov 18, 2013 8:20 pm

Post 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?
User avatar
Lokathor
Duke
Posts: 2185
Joined: Sun Nov 01, 2009 2:10 am
Location: ID
Contact:

Post by Lokathor »

The most important part of any nethack-like system is, obviously, finding a good use for the rnz() function.
[*]The Ends Of The Matrix: Github and Rendered
[*]After Sundown: Github and Rendered
User avatar
GnomeWorks
Master
Posts: 281
Joined: Mon Apr 21, 2014 12:19 am

Post 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.
User avatar
Pixels
Knight
Posts: 430
Joined: Mon Jun 14, 2010 9:06 pm

Post by Pixels »

I would recommend Crawl's dungeon generator as well, if you are looking at roguelikes.
User avatar
RadiantPhoenix
Prince
Posts: 2668
Joined: Sun Apr 11, 2010 10:33 pm
Location: Trudging up the Hill

Post 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
radthemad4
Duke
Posts: 2073
Joined: Mon Nov 18, 2013 8:20 pm

Post 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.
Post Reply