This seems more complicated than necessary to me... As an alternate proposal:giniu wrote:1) we divide the world into squares, each square can be either made/modified by artist or generated
2) cities and small area around them (say 2-5 squares each side) would be made/modified by artist
3) rest of space would be given as map, with roads, rivers, bridges, geographical data marked in some simple manner (one bit for water, one for road/bridge, and 6 for height map? Height can determine type of fauna and flora, and which parts are accessible and which not - for example more than one in difference in height makes it inaccessible. - don't know and actually I shouldn't decide about this, as I don't know too much about this. This is just technical detail, from point of view of gameplay design I don't care )
4) the space would be populated along the set rules from map and modifications from artist, it should be made always with same seed I think, otherwise we couldn't integrate artist-made parts with generated parts unless we use something advanced to constrain generated maps to fit well with artist made blocks - but that's as you said harder.
5) from gameplay perspective we give ability to fast-travel by roads from end of artist generated maps, with random fights if ambushed, but travel by foot should also be possible, and desired as not all locations would be connected by fast-travel-system
6) we should give chance for the city to grow, people should be able to do mods that occupy some unoccupied squares.
1) There are two "layers": The procedural layer and the handmade layer.
2) The procedural layer always gets the same seed. Using this, it generates a large natural landscape (that is, it's all forests, plains, deserts, coasts, and other non-man-made stuff).
3) The handmade layer is for man-made stuff (buildings, cities, roads). It can also have handmade natural elements (gardens, meadows, or what have you). It would contain large areas of empty space.
4) Everything on the handmade layer always replaces the content of the procedural layer. Empty space on the handmade layer lets the procedural layer show through. This overlaying creates the final game world.
Or, alternately, the procedural layer could also generate empty cities and roads between them, and the handmade layer just customizes them.