In this case, the city layout almost certainly has to be made before any of the objects in it can be constructed. Also, in this situation, the exact placement of the objects is very important. For example, buildings are generally separated by a street or alley, and as such, the distance between them can not be less than the width of the street or alley. Cities also tend to be sectioned into districts. Office buildings aren t placed in the middle of residential sections and any algorithm that regularly put them there would not be acceptable.
Some methods exist that do model the growth of cities and preserve the idea of districts.
Two dimensional cellular automata can be used to essentially grow cities and model the changes that tend to occur as districts age and intermingle. Of course, these are largely modeled after the behavior observed in modern cities. If a simulation is intended to represent a different time period then it is possible that completely different methods will have to be developed. If again the assumption is made that all of these things are possible and an algorithm can generate accurate placements for accurate objects there is again the limitation of what can be loaded and displayed at any given time. In the last chapter the problem of dynamically handling large landscapes was addressed.