if you want to get a city style layout, you could try a fault formation algorithm. With this method you draw a bunch of random lines across a square (or any polygon) from one side to the other, the start and end points are randomly generated from a seed value. These lines become your "streets" , after that you then need to process the street map to fill in which areas are buildings (and what type) or grass etc. again using the same pseudo random generator.

Here is an example.



you could also vary the length of each line so it does not cross the entire polygon.