Hmm. So would you guys be interested in a worldgen rewrite?
Oh god yes. A worldgen rewrite (assuming it meets at least some of the requirements) would be
amazing! Worldgen is some of the worst code still standing, but since it affects so much, it's incredibly annoying to try to understand, and it interfaces directly with the map code (which is also really bad) people haven't looking into it much. That said I'd highly suggest getting in touch with Kevingranade (azmodean on Bay12, but you'll have better luck in the IRC or on github) and nailing down exactly what some of your goals and methods to accomplish them are. He's our resident fearful leader, and certainly will have ideas about the costs vs. benefits side of various methods, as well as some ideas about how we should accomplish some of our goals.
Basically the things we eventually need worldgen code (not really going into the map side of things, which have their own goals) to be able to do ideally would be:
1) Work at least as sensibly as it does now for tile type placements (rivers, shops, etc.)
2) Handle multiple map-tile structures
3) Be easy to expand on or modify
3b) Be commented for future reference
4) Have at least average performance time. Faster is better obviously, but we'd probably be willing to sacrifice some in exchange for goals 1-3.
If you can get all those then it would almost certainly go in, though there are a few additional end "goals" that would be great to have as well, like:
5) Be able to be sensibly generalized to 3D world gen (ideally this would be built right in, so it could take a building plan in 3D and make it)
6) Be able to do a "rework pass", where we could do things like fungalize terrain, replace buildings with triffidized versions, add massive number of zombie corpses, etc.
7) Be able to take in parameters to change the type world generated, this would include things like terrain type commonality, default base terrain tile, possible modifications to the "Basic" terrain types (like what type of trees grow, etc.).
7b) Be able to take said parameters in from a JSON file, possibly linked to a "region type" that the player would select when generating the world
Be able to link overmaps sensibly, so that rivers join with rivers, roads with roads, etc. across overmap boundaries.
9) Be able to specify overmap types, so that we could have a "over-overmap" that would designate these overmaps as ocean, those overmaps as heavily populated, those as mainly forest, and so on.
10) Be able to take overmap type as a passed in parameter, so that we could eventually do things like generate fungalized overmaps when you (eventually) should be able to travel through portals back to some of the fungal homeworlds and so on.
That said if you can even manage to get the first 4 things done (or even 1-2 of them under the current system really) we would almost certainly merge it.
(Note for complexity: Assuming you comment everything that you do well we are totally fine with complex code, assuming that it also plans for eventual expansions by making things independent. It doesn't matter too much how complex something is as long as I'm able to fix little parts of it when they break without needing to do another total rewrite).