Cities and Regions

<link the GDD here>

Features
When the player chooses to start a new game, he will be brought to a selection screen where he is given the option of choosing from various cities, all with different population. Then, the player chooses where in the city to place his restaurant. The "City View" in the game will show the entire city from an isometric perspective. The various qualities of particular regions dictate how many and what type of buildings are located there. Using the City Editor, the developer would divide a city into regions using some sort of tool editor, and then set various properties of those regions. These properties would be used to figure out how many customers live where, how wealthy each customer is, the age of the customer, what kind of buildings would most likely be in a region like that, etc. The dev would choose the size and location of a region

I envision the developer working with basically a grid of lines at first. He then lays down where the roads will go - nothing fancy. Then he uses a square selection-like tool to select the area that one "region" will cover, sets the properties for it, and he does this until the entire city is covered by regions. Then, he clicks "Build City." Customer numbers and locations in the city are generated. Another algorithm generates building placement and building types from the settings for each region. The tool generates building placement randomly and statistically, but once the city has been generated, the developer can go in and customize building types and locations if he wishes. Building models/images are kept in a separate directory: the city file refers to the building model/image by its id. At run time, the renderer would look at what building should be at a point in the city by the id, and then look for it elsewhere. Because cities are static, i.e. nothing is randomly generated at run time, the only city information that will have to be put in save game files is where the player and AI's restaurants are located, as well as the various customer statistics in the city.