13 KiB
13 KiB
RPG City Maker Reborn
Pre-release Notice: This project is currently in a pre-release state and is not yet ready for general use. Functionality is very incomplete and subject to change.
Overview
A remake in go of a program that generates maps of rpg like towns. Inspied by Roleplaying City Map Generator, this project aims to modernize the application by adding native support for modern operating systems (windows and linux, for now, mac os support and testing added later) and allow exporting with modern image formats like jpg, png and webp while also supporting large images sizing without the requirment of making multiple smaller images.
Acknowledgments
- Inspired by the original Roleplaying 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 as a percentage of the average image dimension ((width + height) / 2). |
0.2% to 15% in 0.2% steps |
| Max Tree Size | The maximum size of a generated tree as a percentage of the average image dimension ((width + height) / 2). |
0.2% to 15% in 0.2% steps |
| 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) |
| Min Road Width | The minimum width of a generated road as a percentage of the average image dimension ((width + height) / 2). |
0.1% to 5% in 0.1% steps |
| Max Road Width | The maximum width of a generated road as a percentage of the average image dimension ((width + height) / 2). |
0.1% to 5% in 0.1% steps |
| Road Exits | The number of roads that start at the edge of the map and extend inwards. | 0 to 100 |
| Minimum Road Angle | The minimum angle allowed between two roads at a junction. Higher values reduce tightly packed, nearly parallel branches. | 0° to 180° |
| 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 as a percentage of the average image dimension ((width + height) / 2). |
0.5% to 25% in 0.5% steps |
| Max Building Size | The maximum size of a generated building as a percentage of the average image dimension ((width + height) / 2). |
0.5% to 25% in 0.5% steps |
| 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 |