Recently I came across this article on map generation: http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/ I think we will move more in this direction, as its far easier to determine exact percentages of resources and where those resources are spawned than the purely random method we have now. Because we definitely want to do everything you describe in terms of resource location.