====== City Planner ====== Here is an overview of a trainable traffic system, which will be the focus for my research this semester. ===== Elements ===== * **Element_City_Street** * Seed element. * Has a **Direction**. * Reproduces in this direction if no street. * Builds sidewalks perpendicular to this direction. * Chance to build a City Intersection. * **Element_City_Intersection** * Has a bitfield, representing roads in the 8 directions, assigned randomly upon creation. * Creates roads in these given directions. * Waits for a vehicle, then moves it the correct direction. * **Element_City_Sidewalk** * Used as a border for buildings. * Once enough are created, creates an City Building in the enclosed empty space. * Three states: * **NO_NEIGHBORING_SIDWALKS** * **MOORE_NEIGHBORING_SIDEWALKS** * **EW_NEIGHBORING_SIDEWALKS** (Can randomly create buildings) * Remembers small number (Queue) of City Vehicles which have passed by. This aides heavily in routing. * If the same car runs by this sidewalk twice, some penalty is incurred to aide in routing. This avoids loops. * **Element_City_Building** * Three states: * **RESIDENTIAL** * **COMMERCIAL** * **INDUSTRIAL** * Finite size, determined (randomly or fixed) * ID number, determined randomly under (randomly or fixed) celing value. * If buildings collide and are of different type: * INDUSTRIAL + RESIDENTIAL = RESIDENTIAL * INDUSTRIAL + COMMERCIAL = COMMERCIAL * COMMERCIAL + RESIDENTIAL = COMMERCIAL * After established for many AEPS and borders a sidewalk, creates a City Vehicle on the Street with different ID than building. * **Element_City_Vehicle** * Can be either: * CAR (low value / high occurrence, any building to any other building) * TRUCK (medium value / medium occurrence, INDUSTRIAL to COMMERCIAL) * AMBULANCE (high value / low occurrence, COMMERCIAL to RESIDENTIAL) * Target building type. * ID number. Tries to find corresponding ID in target building, then is consumed. * Unique (16 bits?) ID number for routing help. * Events alive (16 bits?) If alive longer without finding building, runs out of gas. Else, is scored. * If vehicles collide, one jumps over another. This is complicated enough without wrecks. I believe traffic jams will be rare. * Upon reaching an intersection, will stop and have the intersection move it to the correct direction.