diff --git a/README.md b/README.md index e210bde..3e8ac20 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,35 @@ A remake in go of a program that generates maps of rpg like towns. Inspied by Ro * Inspired by the original [Roleplaying City Map Generator](https://www.rpglibrary.org/software/rpg_city_map_generator/). * Thanks to the developers of Go, Fyne, and all the other open-source libraries that make this project possible. + +## Settings + +| Setting | Description | Range | +| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Detail** | Controls the level of detail in the generated map, implemented using Perlin noise. A higher value increases the frequency of the noise, resulting in more intricate and frequent variations in the terrain. At 100%, the terrain will be extremely varied and complex. At 1%, the terrain will be very smooth with gentle variations. | `1` (less detail) to `100` (more detail) | +| **Roughness** | Adjusts the overall roughness of the terrain by controlling the octaves of the Perlin noise. A higher value adds more octaves, creating a more rugged and mountainous landscape. At 100%, expect sharp cliffs and deep valleys. At 0%, the terrain will be mostly flat. | `0` (smoother) to `100` (rougher) | +| **Width** | The width of the generated map in pixels. This directly corresponds to the output image width. | `10` to `8192` | +| **Height** | The height of the generated map in pixels. This directly corresponds to the output image height. | `10` to `8192` | +| **Lakes** | The number of lakes to generate on the map. | `0` to `100` | +| **Lake Size Lower** | The minimum size of a generated lake, as a percentage of the smaller of the map's width or height. | `1%` to `100%` | +| **Lake Size Upper** | The maximum size of a generated lake, as a percentage of the smaller of the map's width or height. | `1%` to `100%` | +| **Min Tree Size** | The minimum size of a generated tree in pixels. | `1` to `100` | +| **Max Tree Size** | The maximum size of a generated tree in pixels. | `1` to `100` | +| **Tree Coverage** | The density of trees on the map, as a percentage of the total land area. At 100%, the land will be completely covered in trees, forming a dense forest. At 0%, there will be no trees. | `0%` (no trees) to `100%` (dense forest) | +| **Tree Clumpiness** | Controls how much trees are clumped together. At 100%, trees will be tightly clustered in a few areas. At 0%, they will be distributed evenly across the map. | `0%` (evenly distributed) to `100%` (highly clumped) | +| **Seed** | The random seed used for generation. Using the same seed will produce the exact same map every time. This is useful for sharing and reproducing maps. | Any integer | +| **Rivers** | The number of rivers to generate on the map. | `0` to `100` | +| **Min River Width** | The minimum width of a generated river, as a percentage of the smaller of the map's width or height. | `1%` to `100%` | +| **Max River Width** | The maximum width of a generated river, as a percentage of the smaller of the map's width or height. | `1%` to `100%` | +| **River Curvyness** | How curvy the rivers are. At 100%, rivers will meander significantly. At 0%, they will be perfectly straight lines. | `0%` (straight) to `100%` (very curvy) | +| **Num Roads** | The number of roads to generate. | `0` to `1000` | +| **Min Road Width** | The minimum width of a generated road in pixels. | `1` to `100` | +| **Max Road Width** | The maximum width of a generated road in pixels. | `1` to `100` | +| **Road Exits** | The number of roads that start at the edge of the map and extend inwards. | `0` to `100` | +| **Road Curvyness** | How curvy the roads are. At 100%, roads will have many twists and turns. At 0%, they will be perfectly straight. | `0%` (straight) to `100%` (very curvy) | +| **Road Distribution** | Controls the distribution of roads. At 100%, roads will be spread out across the entire map. At 0%, they will be clustered in the center. | `0%` (centered) to `100%` (spread out) | +| **Num Buildings** | The number of buildings to generate. | `0` to `1000` | +| **Min Building Size** | The minimum size of a generated building in pixels. | `1` to `100` | +| **Max Building Size** | The maximum size of a generated building in pixels. | `1` to `100` | +| **Building Distro** | Controls the distribution of buildings. At 100%, buildings will be spread out across the entire map. At 0%, they will be always near a road. | `0%` (centered) to `100%` (spread out) | +| **Building Shape** | The shape of the buildings. | `squares` or `circles` |