Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: World gen Parameters?  (Read 651 times)

Frankmanic

  • Bay Watcher
    • View Profile
World gen Parameters?
« on: January 28, 2010, 03:34:21 pm »

How do they work? What do they do? I'm trying to make a small, high volcanism tropical continent with lots of high mountains and low rainforest valleys in between. Suggestions?
Logged

SkyRender

  • Bay Watcher
    • View Profile
    • Sky Render's Domain
Re: World gen Parameters?
« Reply #1 on: January 28, 2010, 03:52:31 pm »

http://dwarffortresswiki.net/index.php/World_generation
http://dwarffortresswiki.net/index.php/Advanced_World_Generation

Those should explain it just as well as any of the rest of us can.  ProTip: if you set the variables far too high or far too low, you'll get nothing but a string of rejected worlds.
Logged
Sanity is for the weak.

Gelmax

  • Bay Watcher
    • View Profile
Re: World gen Parameters?
« Reply #2 on: January 29, 2010, 02:38:21 pm »

Before you get started, if you want a really specific result, you'll likely have to cancel worldgen a few times, so press a or c first of all to create a new parameter set, give it a title with t, and then you can save your parameters to it with F6 (so if your first try isn't what you wanted, you can tweak it and then try again without having to redo everything). Then go into advanced parameters by pressing e.

First it'll ask for seeds and year limits and population cap; if you leave things to their defaults, it'll almost certainly stop at the year in which it starts checking for megabeast deaths, since their numbers tend to drop pretty fast. The population cap can make Legends easier to sort through, make world gen go a lot faster, or restrict the various civs' growth considerably, probably good for making a world in decline.

Then it'll have ranges for each tile's attributes (for example, you'd want to set the volcanism min/max to something like 60-100 or 80-100), and then X-variance and Y-variance for each attribute (controls how much the stat can change from square to square; setting it high generally allows more drastic changes from tile to tile). Pretty much all the mesh stuff is PERCENTAGES, not straight values, so 0-20 means the lower fifth of the range, don't know whether this takes the max/min settings into account.

After that, it has the meshes, which allow more advanced control, basically influencing how the world assigns the attributes to each tile. If the size is set to "ignore", the meshes are ignored. Otherwise, the mesh size determines how smooth the regions are and how drastic changes are, with smaller mesh sizes tending to be more chaotic. After the mesh size for a given attribute, the next five options give you fine control over what kinds of tiles are assigned - the higher a number for any given range, the higher the chance that worldgen will create tiles with attributes in that range. Well, it's a bit difficult, but if you set the five elevation settings to (3, 2, 1, 2, 3), then extremely low tiles (with an elevation between 0-20) and extremely high tiles (elevation between 80-100) will be three times as common as the middle ground (elevation between 40-60). It doesn't matter what the numbers total up to, the game likely adds 'em together and takes percentages, or something like that.

Next you get minimum numbers and desired square counts. These don't actually modify worldgen itself, but rather reject any worlds that don't meet those requirements and force it to try again. These can be very easy and effective tools to control worldgen while retaining randomness, but they have to be adapted to fit the other parameters you set or else it'll just reject everything. In general, you want to nullify the attributes you don't care about or don't want a lot of, and modify the ones you do want a lot of, to guarantee that you get a lot of them. This is also, as far as I know, the only way to directly influence the amount of evil and good squares in the world.

Erosion cycle count controls how long erosion runs, which tends to wear away at mountains but make river valleys deeper, and can be set according to taste. River start locations controls how many rivers you want, but can probably also influence erosion - erosion is centered around rivers, and if the game doesn't meet your river count after erosion, it adds the rivers without doing erosion. So if you put a very low pre-erosion river count and a very high post-erosion river count, you get a lot of rivers with hardly any erosion.

Periodically Erode Extreme Cliffs is something unrelated to regular erosion; it mainly just wears away at steep elevation changes to destroy cliffs. Orthographic Projection and Rain Shadows modifies rainfall near mountains to simulate real-life behavior...basically, one side of a mountain range will have an extremely high amount of rainfall, while the other will have almost none. Good way to make sure you've got more of the interesting terrain like forests and deserts near mountains, in my experience. Max Number of Subregions is basically a "maximum variation" restriction, and should be set high if you're trying to generate very varied terrain. Cave size and number of caves are obvious, and while they don't affect fortress mode much if at all, setting these high is thought to increase the number and lifespan of megabeasts. The Allow Init Embark Options stuff controls what you can find out about before embarking, and mostly controls how surprised you want to be about your embark site.

The number of civs is another minimum, rejecting worlds that don't meet its criteria; if you're doing a world with particularly harsh terrain, you might want to turn this down a bit. It should also have a huge effect on the speed of worldgen, since running the history takes the bulk of worldgen's time. After that comes another set of minimum restrictions, this time affecting the tile attributes directly rather than just the biomes and regions. Same guidelines apply as before, mostly.



Now that we've got parameters covered, let's look at what you specifically want. You'll probably need to use an elevation mesh for what you want, highly favoring 0-20 (for oceans), 20-40 (for low valleys), and 80-100 (for your mountains). To get mountains and valleys, cranking up elevation's X-variance but not Y-variance (or vice versa) would probably be a good idea; that way, elevation will have a high variance in one direction (so you can have a high tile next to a low one) while having a low variance in the other (to tend to create long stretches of the same height, resulting in full mountain ranges and long valleys).

You want a continent surrounded by water, and low-elevation terrain (0-20) is automatically filled with oceans regardless of other attributes, so make sure you've got plenty of that and make sure the minimum edge oceans is at least 1-2, then tweak it more depending on your worldgen results. As for rainforests, the requirements for forest is that you have pretty high rainfall and at least decent drainage, and the elevation must not be low enough for ocean or high enough for mountain, so set your numbers accordingly and anything that isn't mountain or ocean will be forest.

If you have trouble with the continent thing and the mountains/valleys thing, and the suggestions I gave didn't work, then you may have to try out the World Painter to get it, but it's an advanced tool and takes most of the worldgen randomness out of it, so should be used cautiously.
Logged