This time I added small stuff that was simple to implement and didn’t require any special programming.
I now name my worlds. To do so I use the code described in this post. Right now, I show my world name in the upper left corner in white letters.
Nothing fancy here, the top ~7% of the map is covered with snow, with the last row having a 50% chance to be covered in snow.
I ignore mountain and water tiles and just replace the other types of tiles with a snow tile. As for forest tiles, I replace them with a snowy forest tile.
To implement caves I select a random number of tiles which fit the following criterion:
- must be a mountain tile
- must be on the edge of a non-mountain region
- must not be next to another cave
- must have at least 2 mountain neighbor tiles in a radius of 2 tiles
- must have at least 2 non-mountain, non-water neighbor tiles in a radius of 2 tiles
For cities I use the same technique as for caves, picking out random tiles that fit some criterion.
The criterion are pretty much the same, but I also add the criteria that a city must be within 2 tiles of a water tile. Real world cities are usually built near fresh or sea water so this adds a touch of realism.
Here are the results from a randomly generated world, the world of Norgele.
As for future improvements, the next step would be to add some roads to connect the different cities together. For this I have been thinking about using A* with each type of terrain having a different weight for how difficult such a terrain would be to cross.