v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "40d:World generation"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(→‎Batch processing: - added back in wait command - needed for some OS's.)
(→‎Batch processing: %%i changed to %i re: win xp pro help file)
Line 92: Line 92:
  
 
<pre>
 
<pre>
for /L %%i in (1,1,7) do start /wait /high dwarfort -gen %%i RANDOM STANDARD
+
for /L %i in (1,1,7) do start /wait /high dwarfort -gen %i RANDOM STANDARD
 
</pre>
 
</pre>
  

Revision as of 01:42, 22 March 2008


To begin playing Dwarf Fortress, you must first create a world to play in. When you enter the world creation screen, you are presented with a screen full of options:

World creation options

Opening world generation screen.

Once you choose "Create World" you will be brought to the parameters screen. Pushing Enter will start creating a world using the default (or selected) parameters. At the upper left hand corner, you will notice several settings. Here is a quick overview:

  • Title - Where the title of your parameter type will be displayed
  • Seed - A random or predetermined number to be used in the process of world creation.
  • Name - The name of your world, either random or predetermined.
  • Parameter selection - If you have saved different world generation parameters, they will be listed here.
  • Options - This is where you can choose to alter the various parameters for world generation.

Title

This is just a name for your world generation template. Once you have multiple templates, you can select the template you wish to use using the arrow keys or the numeric keypad.

  • To edit the name of your parameter template, press the t key.

Seed

Generating a true random number is an impossible task for a computer. Typically, a pseudo-random number generator uses a specially selected mathematical sequence to create what appears to be a random number. By feeding the same seed as another player directly into the generator, a player starts world generation at the same point in the sequence, which theoretically should result in an identical world for both players. (Click the following link for more information on random seeds.)

  • To use a random seed, press the S key. To use a specific seed, press the s key.

Name

This is where the name for your world will be displayed. You can enter a name or choose to have one randomly generated. Note that the choice to use a random name will also affect the world that is generated, so if a known seed fails to generate the correct world, try toggling this option.[Verify]

  • To change the name of your world press the n key, and type in a name.
  • To have the game select a name for your world press the N key.

Parameter selection

On the right hand side of the screen will be a list for all of your saved parameter templates. By default, there is only one parameter set labeled STANDARD. You can select which parameter set you would like to use for world creation using the arrow keys ( and ) or the numeric keypad ( 8 4 9 3 ).

  • To save your current settings as a parameter set, press F6.
  • To reset the parameters to the default settings, press F1.
  • To create a new set of parameters, press a. To delete the current set of parameters, press d.

Options

Key Function Description
a
New parameter set Create a new parameter set
d
Delete parameter set Delete the currently selected parameter set
8 2 9 3) Navigate the parameters 8 and 2 → move up and down

9 and 3 → page up and down

t
Enter title Edits the name of your parameter set
N
Use random name Sets your world to generate a random name upon creation
n
Enter custom name Prompts the user to input a name for their world
S
Use random seed Uses a random seed to generate a world.
s
Enter custom seed Prompts the user to input a custom seed for world creation
F1
Reset world parameters Resets the world parameters to their default values
F6
Save world parameters Saves the world parameters under the current title

World generation

When you are ready to create your world, push Enter. The generator then begins to generate a world based on fractal algorithms. The process of creating a world can be very time-consuming, as any invalid maps are thrown out upon detection. Do not be surprised if it generates over a hundred separate worlds before creating one that is acceptable.

World creation screenshot.
World creation screenshot.

When the world is created, you will be given the option to export the map to a graphic file by pressing p. This will create a large BMP format ASCII graphic of the created world. You can run the compress_bitmaps.bat batch file that comes included with the game (as of 33g) in the main dwarf fortress folder to convert the bitmap files to about 90% smaller .png files.

Example exported map image.

When you are finished, press Enter to return to the title screen.


Batch processing

You can use this example to use the command line to create many worlds at once, without all the hassle. Copy the following code and save it as a batch (.BAT) file. This file will create 7 regions using random names and random seeds. It will also automatically output the parameters and an ASCII and detailed map for each of your worlds.

Note: Make sure you don't already have region 1-7 in your save directory.

for /L %i in (1,1,7) do start /wait /high dwarfort -gen %i RANDOM STANDARD

How World Generation Works

You may be curious about what's happening behind the scenes while your world is being generated, these are the steps the program goes through:

[Note: Information on this list is almost taken from the http://www.gamasutra.com/view/feature/3549/interview_the_making_of_dwarf_.php?page=7 10 page interview of Toady at Gamasutra]

  1. Preparing Elevation/Setting Temerature: Fractal maps are generated, laying out basic information about the world:
    • Four main maps, used to generate biomes:
      • Elevation: A process called Midpoint Displacement is used to plot out the lay of the land.
      • Temperature: The temperature map is biased according to latitude and elevation.
      • Rainfall: Later in the simulation, this map is biased according to factors such as rain shadow.
      • Drainage: This tells how quickly water drains from an area.
    • Four others:
      • Vegetation: How dense the vegetation is in an area. This is later edited during history generation as civilizations log away at forests.
      • Salinity: Differentiates saltwater/freshwater marshes and other such things. Areas below a certain elevation (oceans) automatically get a salinity of 100.
      • Savagery: How dangerous wildlife is in an area.
      • Good/Evil: This also affects the type of wildlife in an area.
  2. Creating Biomes: Biomes are created based on elevation, temperature, rainfall, and drainage (for instance, if rainfall is >=66/100 and drainage is less than 50, then an area is a swamp).
  3. Running Rivers: Now erosion and the creation of rivers are simulated.
    • To quote Toady: "It picks out the bases of the mountains (mountains are all squares above a given elevation), then it runs temporary river paths out from there, preferring the lowest elevation and digging away at a square if it can't find a lower one, until it get to the ocean or gets stuck. This is the phase where you see the mountain being worn away during world creation. I have it intentionally center on a mountain at that point so you can watch. ... This will generally leave some good channels to the ocean, so it runs the real rivers after this."
  4. Forming Lakes: Lakes are created and rivers are finalized.
    • River loops created by the previous step are fixed.
    • Flow amounts are calculated to determine which rivers are tributaries.
    • Rivers are also named during this step.
  5. Forming Regions: Now the generator looks at the major biome that occupies each square, and forms regions, or connected areas on the map that contain the same major biome type. Each region gets its own name via the Random Name Generator.
  6. Growing Vegetation: Vegetation populations are calculated for each area.
  7. Verifying Terrain: At this time, the world is probably checked for consistency.
  8. Recounting Legends: The history of the world is simulated up to year 1050.
    • Age of Myth: years 1-499
    • Age of Legends: years 500-1049
    • Golden Age: year 1050 and onward
  9. Finalization: World generation variables are reviewed and finalized.
  10. Upon Exit: All world information is exported to a "region" folder in 'data/save/'

Rejects

Rejects can occur at any step up to terrain verification. They are the result of certain world variables going outside of ideal conditions, and result in the currently generating world being "tossed out" and another rolled up.

The number of potential rejects is arbitrary, so if you are using a slow computer, or simply don't want to wait through world generation, you can download one of the Pregenerated Worlds. However, some find watching their world unfold to be a worthwhile experience. Also note that as Dwarf Fortress rises in versions, world generation will most likely become more interesting, particularly once overland armies are implemented.

Worlds