Citizen information (collected from source code)¶
All citizens have the following information that represents them:
-
Gender
-
Subculture
-
Education
-
Flags
-
Home Behaviour
-
Student Behaviour
-
Visit Behaviour
-
Home Building
-
Work Building
-
Visit Building
-
vehicle
-
Parked Vehicle
-
age
-
health
-
wellbeing
-
family
-
jobTitle Index
These are the possible values for each of the previous variables
Flags (multiple values)
-
Tourist
-
Sick
-
Dead
-
Student
-
MovingIn
-
DummyTraffic
-
Criminal
-
Arrested
-
Evacuating
-
Collapsed
-
Education1
-
Education2
-
Education3
-
NeedGoods
-
Original
-
CustomName
-
Wealth
-
Location
-
NoElectricity
-
NoWater
-
NoSewage
-
BadHealth
-
Unemployed
Gender
-
Male
-
Female
SubCulture
-
Generic
-
Hippie
-
Hipster
-
Redneck
-
Gangsta
Education
-
Uneducated
-
OneSchool
-
TwoSchools
-
ThreeSchools
Health
-
VerySick
-
Sick
-
PoorHealth
-
Healthy
-
VeryHealthy
-
ExcellentHealth
Wellbeing
-
VeryUnhappy
-
Unhappy
-
Satisfied
-
Happy
-
VeryHappy
Happiness
-
Bad
-
Poor
-
Good
-
Excellent
-
Suburb
Location
-
Home
-
Work
-
Visit
-
Moving
Wealth
-
Low
-
Medium
-
High
AgeGroup
-
Child
-
Teen
-
Young
-
Adult
-
Senior
AgePhase
-
Child
-
Teen0
-
Teen1
-
Young0
-
Young1
-
Young2
-
Adult0
-
Adult1
-
Adult2
-
Adult3
-
Senior0
-
Senior1
-
Senior2
-
Senior3
BehaviourData
-
electricityConsumption
-
waterConsumption
-
sewageAccumulation
-
garbageAccumulation
-
mailAccumulation
-
incomeAccumulation
-
crimeAccumulation
-
healthAccumulation
-
childHealthAccumulation
-
seniorHealthAccumulation
-
wellbeingAccumulation
-
efficiencyAccumulation
-
sickCount
-
sickChildCount
-
sickSeniorCount
-
totalSickCount
-
deadCount
-
childCount
-
teenCount
-
youngCount
-
adultCount
-
seniorCount
-
touristCount
-
educated0Count
-
Educated0 Unemployed
-
educated0EligibleWorkers
-
Educated1 Count
-
Educated1 Unemployed
-
Educated1 EligibleWorkers
-
Educated2 Count
-
Educated2 Unemployed
-
educated2EligibleWorkers
-
Educated3 Count
-
Educated3 Unemployed
-
educated3EligibleWorkers
-
education1Count
-
education2Count
-
Education3 Count
-
elementaryEligibleCount
-
highschoolEligibleCount
-
universityEligibleCount
-
Wealth1 Count
-
wealth2Count
-
wealth3Count;
Citizen needs and providers¶
Need Provider
-
Healthcare/Deathcare ----- Hospital, crematory, cemetery
-
Education ----- Elementary school, high school
-
Leisure ----- Park, stadium
-
Security ----- Police station, fire station
-
Mobility ----- Public transport
-
Shopping ----- Business area
-
Living ----- Residential area
-
Employment ----- Business area, industrial area
Path finding¶
When a citizen decides they want to travel, they use all of the available information about the cities transport infrastructure: including the roads, sidewalks, crossings, public transportation routes and available vehicles and will find the fastest possible route to their destination. Hence the node system within the roads and sidewalks is searched through to find a valid path. This actually factors in numerous elements based on the citizen involved and the local geography. If a citizen owns a car, they will attempt to drive it. If they don't have a car, they'll not only check for a valid path on sidewalks but also factor in whether there is any public transportation that can speed up that process. In some cases, there are strict rules on how this can operate: specific buildings such as hospitals and fire departments will enforce the use of ambulances and fire trucks respectively rather than a firefighter taking a bus with a bucket of water as your home turns to ash. Meanwhile, pedestrians cannot walk on highways and hence if they don't have public transportation options and sufficient sidewalks to get them to their destinations, they'll resign themselves to defeat. Colossal Order has never outright stated what they're searching algorithm is. However, given the rich data laced throughout the road network, it would not be surprising to find a modified version of A* or Dijkstra's that achieves the desired effect.
The resulting system is actually quite remarkable that a character can make this level of nuanced decision making, especially at this scale. Given a pedestrian can easily walk and take multiple forms of public transportation in order to get to their destination. The destination they want to visit can vary and while they will prioritise going to the primary destination for their life stage - such as school, college or work - they will also go to commercial units such as shops and restaurants, as well as clinics and hospitals.
Mods that modify Cities simulation model¶
- Realistic Population Revisited 1.4.3
https://steamcommunity.com/sharedfiles/filedetails/?id=2025147082
This mod changes the numbers of households and jobs in buildings to more accurately reflect real-world values. The number of households is calculated based on the size of each building.
What is the limitation of the density handling for Cities?¶
Maximum number of citizens is 1 million (2^20) in vanilla. The maximum number of buildings is 49,000 buildings in vanilla. We have checked the source code and we can edit the size of the array and recompile the assembly.
References¶
Utilizing gaming technology for simulation of urban production Max Jurascheka,*, Christoph Herrmanna , Sebastian Thiedea, link
How Traffic works in cities skylines, link