First step is to get a world generator going. As maps won't be extremely large, I decided to take a tilemap approach. The tilemap will have different layers (terrain layer, resource layer, construction layer, character layer). So far, the world map generation for the first (terrain) layer is complete (see screenshot). It can create maps up to roughly 250x250 tiles without a noticable lag on my machine, which is more than enough, as maps in game will be significantly smaller.
The world map generator uses a mix of two algorithms: It generates land masses using an anchor- or droppoint approach. That means an adjustable amount of anchor points for land and water are distributed randomly across the map, then for each tile, the distance to the next anchor point is measured to determine if the current tile is either a land or an ocean tile. Afterwards, I use a perlin noise heightmap to determine terrain types of all land tiles. Last but not least, a smoothing algorithm will get rid of artifacts like mountains bordering ocean shores.
A theoretically unlimited amount of terrain types can be defined. Each terrain type needs an assigned perlin height value and a material. In the screenshot, I use 6 terrain types (water, steppe, fertile, sand, mud, rock) with simple colored materials created in unity. These materials act as placeholders until I get some better art.
Currently, I'm working on the second layer of the map generator which will distribute resources across the map. I currently use 16 different resources. Each of them has a list of terrain types assigned which determines in which terrain tiles they can be spawned. Additionally, a probability can be assigned to each resource which determines how often they are placed (e.g. trees would be placed in roughly 50% of steppe and fertile tiles, while for example oil or fish would be placed much less often).
Next steps include object placement (like constructing buildings like housing, wood cutters, miners etc.) and a fog of war system. The idea of the game is to start out with a couple of characters who just founded their first settlement at a random position on the map. Each turn, characters can be assigned to jobs, like construction worker, farmer, miner, wood cutter etc. In order to grow the settlement, certain needs will have to be fulfilled and in order to do so, the player will have to produce more and more complex goods which the settlement will need to grow. When a settlement reaches a certain size, new settlements can be created, like a settlement or city will be able to spawn a settler unit which can then be moved to a new location where a new settlement / city can be founded. That way, the empire will grow and trade between citys will become important to fulfill all the needs of the cities in your empire.
At the same time, there will be AI empires on the map as well, which opens up diplomatic options like war or cooperation. Goods can be exported to a world market using trade nodes like ports for example. There will be diplomatic options which allow embargoes to exclude empires from access to the world market just to name an example.