100,000 residents: how Northstar makes growth checkable
Listen to this post6 min
Created by AI from the text of this post and read by a synthetic voice; not a word-for-word version, and it may contain errors.
Loading…
Created by AI from the text of this post and read by a synthetic voice; not a word-for-word version, and it may contain errors.Position and speed stay in this browser and are sent nowhere.
The recording could not be played. Open the audio file
A case study in game management in the city-building simulation CS2. Observation period: 10 to 13 September 2026. Data as of 13 September, 18:26, Europe/Berlin. All times in the text are real local time, not game time.
At 17:07, Northstar passes the mark of 100,000 residents for the first time in the available records: the structured reading reports 100,158. A good minute and a half later, a second measurement confirms 100,108. The milestone is thus documented. A permanently stable city of this size is not yet demonstrated by it.
That is an important distinction for a project in which a building agent manages a running simulation. Its work covers more than new residential areas. It has to recognise which bottleneck is in effect at the moment, keep interventions limited, and then check whether they brought the intended benefit. The experience up to the first six-figure population shows why a successful construction action and a successful management decision need two different kinds of evidence.
The milestone and its limits
241 selected structured population readings for Northstar. Upper view: the complete recorded series from 10 September, 00:13, at 8,609 residents to 13 September, 18:26, at 95,679 residents; the axis runs from zero to 105,000 and a dashed line marks 100,000 residents. Lower view: detail from 13 September, 16:00 to 18:30, on a deliberately shortened population axis from 95,400 to 100,600. In it the series rises past the mark: 100,158 at 17:07 and, as confirmation, 100,108 at 17:08; both points sit separately and visibly above the 100,000 line. It then falls back, and the last reading of 95,679 residents at 18:26 stands as a point with no connecting line, after a gap of 43 minutes and a change of the recorded simulation section. Points are measurements; the connecting line breaks at gaps of more than 30 minutes or a change of section. All times Europe/Berlin, UTC+2.
The series shown begins on 10 September at 00:13 with 8,609 residents. Its course has several phases: sustained growth, flatter stretches, and a particularly marked rise on 13 September. From this curve alone it cannot be determined which individual building caused any given rise. Population, buildings, services and traffic flows all change together in the meantime.
The last evaluated reading, at 18:26, stands at 95,679 residents. That is 4,479 fewer than at the first crossing. This difference is not a reliable rate of departure: in the period between the two, there were both changes in the game and a technical interface test followed by a return to a secured save game. Such a jump back breaks the comparability of a city that has been carried forward continuously.
The precise finding is therefore this: Northstar has demonstrably passed the mark. Holding the mark permanently remains open. Just as little does the chosen speed setting permit a statement about how much simulated time was actually computed per real minute. That would need separate, comparable measurement windows of the simulation's progress.
Growth cannot be steered with a single metric
A snapshot taken immediately after the first crossing makes the difference between size and working order visible.
| Measured quantity | 13 Sep, 17:08 | 13 Sep, 18:26 |
|---|---|---|
| Actual reported residents | 100,108 | 95,679 |
| Reported jobs in total | 32,136 | 32,361 |
| Reported employed | 25,886 | 25,779 |
| Reported vacancies | 8 | 1 |
| Unemployment rate | 30.1 % | 30.2 % |
| The game's happiness value | 67 | 66 |
| The game's health value | 64 | 64 |
| Power consumption / reported generation | 73.7 % | 75.7 % |
| Water consumption / reported capacity | 84.7 % | 83.8 % |
| Wastewater consumption / reported capacity | 20.5 % | 20.1 % |
Table 1. Two documented states, not a controlled before-and-after experiment. The later values follow a return to a save game. Utility ratios are computed from raw values read at the same moment and rounded to one decimal place; the remaining values are reproduced unchanged.
What stands out most is a high unemployment rate side by side with very few reported vacancies. What follows from that is an instruction to check, not yet a complete explanation. Jobs, employed and vacancies must not be netted against one another like three parts of a simple balance while their definitions are unsettled. Nor is the total population the same as the set of people able to work. What part education requirements, accessibility or the composition of the population play would have to be examined separately.
For running the game this means: another population record replaces neither the labour market check nor the monitoring of services. Conversely, the agent should not derive a large-scale construction measure from a single warning value on the spot.
Capacity is a necessary but not a sufficient condition
Three equally ranked ratio series from the same 241 readings, in per cent, from 10 to 13 September 2026 and on the same time axis as the population overview. Power, consumption divided by the reported current generation: 49.7 per cent at the start, a maximum of 90.3 per cent on 12 September, 75.7 per cent at the last reading. Water, consumption divided by the reported capacity: 59.9 per cent at the start, a maximum of 87.1 per cent on 12 September, 83.8 per cent at the last reading. Wastewater, also divided by the reported capacity: 18.0 per cent at the start, a maximum of 93.3 per cent on 13 September, 20.1 per cent at the last reading. At the reading on 13 September, 17:08, the three values are 73.7, 84.7 and 20.5 per cent. Where the reported denominator changes noticeably, the line breaks and the reading at the break is drawn as an open point; part of the vertical step there is due to the change of denominator. A thin solid line marks 100 per cent. All times Europe/Berlin, UTC+2.
The curves describe headroom on paper. They do not yet document the supply of every single building. That became particularly clear on 12 September: a new wind turbine already appeared in the aggregated power generation although the utilisation shown for it in the game was zero per cent at first. Only a continuous underground cable connection led to a positive utilisation; immediately after the connection, 100 per cent was observed.
The cause lay in the spatial connection. An overhead line and an underground cable could look connected on the map without sharing the same network node. Alongside the city-wide values, the agent therefore had to check the actual connections and the elevation. From the presence of a facility it does not follow that its output already arrives in the right place.
A second example concerns education. On 12 September an elementary school was expanded from 400 to 700 places. The check that followed already showed 699 places occupied. The expansion was real and verified; even so, there was hardly any reserve worth the name. That argues for a fresh check of demand after the intervention, instead of treating the task as settled by the completed building alone.
The utility charts should therefore be read as a search aid: a rising consumption ratio directs attention to a reserve on paper that is growing tighter. Whether a local bottleneck already arises from it demands further observation. A jump downwards can come from an expansion, but it can have other causes too; the curve itself supplies no unambiguous marking of cause.
Small interventions are easier to judge
The most informative management cases are not necessarily the largest construction projects. Limited interventions often show particularly clearly what was missing before and what changed afterwards.
| Case on 12 September | Observation and intervention | Verified result | Limit of the evidence |
|---|---|---|---|
| Industrial access, 21:27 | A zoned area remained unbuilt; five missing cells directly on the road were added. | Afterwards a producing business with 16 jobs was present. | Documents the local business, not 16 additional employed people across the city as a whole. |
| Funeral service, 22:14 | 15 warnings, ten of ten vehicles in service, but only one to two of 20 storage places occupied; garage expanded by five vehicles. | Afterwards 14 of 15 vehicles were active. | Is consistent with a pickup bottleneck; lasting relief demands later checks. |
| Roundabout, 18:04 | The switch to a larger version reduced the counted zoned cells in the test area from 303 to 287. | A return to the secured state restored the 303 cells. | The restoration is documented; a traffic benefit of the discarded rebuild is not. |
Table 2. Cases reconstructed from the operating records written at the time. The results are stated more narrowly than the intentions the measures may have had.
At the industrial area, the decisive piece of information was the missing street frontage, not the total amount of designated industrial land. At the funeral service, vehicle utilisation fitted the bottleneck hypothesis better than the largely empty storage capacity did. At the roundabout, in turn, the relevant result was an unwanted side effect. Restoring what had been there was part of the successful control of a failed measure.
Such examples establish no generally valid optimal build order. They do show a recurring procedure: the agent looks for a concrete, checkable cause and compares the effect against a known starting state. A larger expansion is convincing only once it fits the observed bottleneck and its side effects are acceptable.
A decision process that can be followed
A loop of four labelled boxes. Step 1, observe: record an observation placed in time. Step 2, test a hypothesis: name the limiting factor and check it. Step 3, act within limits: a small intervention from a known starting state. Step 4, read back: read the new state, including unwanted side effects. Arrows lead from step to step; a further arrow leads from step 4 back to step 1 and is labelled "observe again". Two notes sit below: on unwanted changes to the existing state, undo the measure and verify the return; a command acknowledgement is not proof of effect. The diagram carries no measured values.
At the start there is an observation that can be placed in time: a congested stretch of road, a service at its limit, an undeveloped plot. A hypothesis about the limiting factor follows. Only then is anything done. At the end, what counts is the read-back of the state that actually came about, including unwanted changes.
This separation is particularly important where the game is steered automatically. Confirmation that a command was processed does not yet prove an improved city function. A plot reported as occupied may, for instance, still be a building site. A service building can stand without its vehicles reaching the road. And a congestion warning that vanished briefly does not yet document sufficient throughput under sustained load.
The records contain recurring queues at one main access road and changing warning counts. The label "permanently congestion-free" would therefore not be covered. The next reliable statement about traffic management would have to examine the same stretch repeatedly under comparable conditions, instead of showing only the most favourable moment. A temporarily lower game speed would likewise be no demonstration of structurally improved road capacity.
What should be demonstrated next
With the first six-figure reading, the standard of proof shifts. Alongside further growth, what now becomes interesting is whether Northstar can hold this order of magnitude across one connected run of play. That takes several readings separated in time with no jump back to a save game in between, and a check of the labour market, the utilities and traffic alongside them.
The existing documentation suggests three concrete questions for that. Does the water supply keep sufficient headroom on paper as growth continues? Can the high unemployment rate be explained from suitable labour market and accessibility data? And which measures at the repeatedly loaded access roads work across several observations as well? These are questions for investigation, not construction orders already issued.
The mark of 100,000 is therefore a demonstrated step forward and a new starting point at the same time. The value of the management becomes visible in whether the agent gains checkable knowledge from its interventions, recognises side effects and confirms successful measures again under further load.
Data basis and methodological limits
This case study uses existing structured read-backs together with operating notes written at the time. For the curves, 241 points were selected from 717 suitable population readings: thinned in time to intervals of roughly 10 to 30 minutes as a rule, with both readings above 100,000 and the last available state added. The selection takes the completeness of the key figures recorded at the same moment into account. It is not a random sample and not a gapless record.
No missing measurements were filled in, no residents were derived from households or capacities, and no curves were smoothed. The connecting lines are not additional measurements. The accompanying data set as CSV carries UTC timestamps; text and charts show Europe/Berlin, UTC+2 in the period examined. The event times of the case examples come from the operating notes; that prose was not used to produce the numerical curves.
The structured measurements used here confirm normal game rules: unlimited money, the unlocking of all buildings and the unlocking of all tiles were switched off. This statement refers to the states recorded and does not retroactively prove every unmeasured second. Happiness and health are reported as the game's values, not as medical quantities.
This is the observational study of a single city, without a control group and without isolated experimental conditions. Closeness in time between a measure and a change makes an explanation plausible, but does not on its own prove its causality. Statements about a generally optimal strategy, about real city planning or about technical viability at a population of millions cannot be derived from it. Only existing records were evaluated for this post; the ongoing construction of the city was not influenced for it.