For greater variety, one could glue a map from a set of pre-designed pieces. Map could be composed of 2x2, 4x4 pieces, whatever. Pieces could either go anywhere, or each piece could have several variants. This way, designing (pieces)*(variants) pieces yields (variants**pieces) maps, and that's a lot. Of course, probably not all variants would fit together, so some kind of matchesWith flag would be needed, but I say it's still worth the benefit.
Bookmarks