the book · contents
09-vacant-lots 4,281 words about 19 min
Chapter 9. Vacant lots
You lay a road along the river in Cities: Skylines and paint residential zones beside it. Houses go up, families move in, and within a few in-game years the district is full. You add a school, a clinic, and a bus line. Each citizen picks the fastest route to work, and the jams appear exactly where your road plan was weakest.
Decades later something odd happens. Hearses start backing up across the district, and houses with a body inside show a warning icon. The people who moved in together have grown old together, and the cohort is dying at once; the record calls it "an initial cohort moving in together" that "can age into a wave of deaths that overloads hearses." The game presents this as a service problem: build more deathcare. Nothing in it registers as a story about the people involved. None of the game's 17 mechanics fires an event because of what you built or where you built it, and there is no mechanism for one.
That absence is common. Building placement appears in 77 catalog games, and triggered event chains, the mechanism that lets Crusader Kings III follow a rival's illness with a succession dispute and then a war, appear in 17. If the two were spread across games independently, several games would have both. One does: Surviving Mars, whose Mysteries lay authored storylines such as plagues, rival corporations, AI revolts, and alien contact over a colony the player lays out. Even there, the Mysteries are layered on top of the colony, and the record does not tie any of them to where a building stands.
Call these vacant lots: pairs of mechanics that are each common, belong to different parts of the design, and almost never share a game.
Packages
Start with the opposite case, pairs that turn up together far more often than chance predicts. The dataset measures this as lift: how often two mechanics share a game, divided by how often they would if each were spread across the catalog independently. Pairs that share fewer than three games are left out, so that a single unusual game cannot make a pair look strong.
Mechanic pairs ranked by lift (observed / expected co-occurrence across games), support >= 3 games.
The strongest pairs are packages inherited from one lineage. Sports management carries a trio: an engine that resolves matches from player attributes, a board whose confidence in the manager rises and falls with results, and contract negotiation. Grand strategy carries war score, territorial control, and religious and cultural conversion. The SimCity core of land value, demand, and traffic travels as a unit through the city builders. The Sims pairs aspirations with smart objects, the objects that advertise what they offer to the characters nearby, and virtual pets pair care with learning.
Further down the table the same pattern holds in smaller lineages. Flight sims pair aerodynamics with procedural checklists, the cockpit routines a pilot runs before each phase of flight. Persistent online worlds pair shared state with player organizations, the corporations and guilds of EVE Online and Ultima Online. Colony sims pair designation orders with rooms the game recognizes from their walls and furniture. Hospital games pair diagnosis with queues of waiting patients. The AI-native titles pair generated content with gossip that spreads from character to character.
The mechanics in a package solve one problem together. In SimCity, land value is computed per block from distance to the centre, nearby trees and water, pollution, and crime, and traffic writes pollution into the same map; a road plan therefore changes what the land is worth, and the player reads both from overlays. Take the land value away and traffic becomes a nuisance with no economic consequence. Take traffic away and land value loses one of its sources of change. Designers in the lineage keep both because each makes the other matter.
In the sports-management package, one part produces what the other judges. In Football Manager, Motorsport Manager, and Out of the Park Baseball, the match engine is core: fixtures are simulated event by event, races in real time, and ball games pitch by pitch, from player ratings, car parts, and the manager's settings. The board is a supporting part that reads the engine's output. It sets expectations each season, judges results and finances against them, and dismisses the manager when confidence runs out.
X-Plane pairs its element-by-element flight model (chapter 1) with cockpit procedures. DCS World models engines, fuel, electrics, hydraulics, and radios behind clickable cockpits, so start-up and weapon employment follow the real procedures, and Microsoft Flight Simulator 2024 added a walk-around preflight and revised the systems that gate start-up.
In Theme Hospital a GP diagnoses patients or sends them to specialist rooms, treatment begins once certainty passes a threshold the player sets, and the record describes that threshold as a trade between throughput and deaths from wrong cures. Patients queue outside each room, here and in Two Point Hospital, with the departures and deaths chapter 2 described. Project Hospital draws its symptoms from real medicine and tunes their frequencies so that one examination rarely settles a case.
Packages also show how slowly the vocabulary recombines. A designer who starts a city builder inherits zoning, demand, land value, and traffic; one who starts a grand strategy game inherits war score and conversion. Packages are part of why later games reuse old parts (chapter 3) and why games cluster into families (chapter 4): a family is held together by mechanics that rarely travel alone.
Lots no one has built
Most possible pairs of mechanics have never shared a game, and most of those empty pairs are uninteresting, because at least one of the two mechanics is rare. The white-space analysis keeps only the pairs where the emptiness means something. Both mechanics must appear in at least 14 catalog games. They must come from different families, since two mechanics from the same family are often alternatives. Neither may be a time-and-pacing control, because a game's time model already decides them. The pair must not be recorded as being in design tension: the dataset holds 11 such edges, such as building assistance that favours organic shapes against strict structural rules that punish them. And the two must share at most one game. 269 pairs pass.
The tension edges record what designers already know about pairs that fight. Each carries a note. Threat that scales with wealth pulls against milestone unlocks: "One rewards growth, the other punishes it; tuning both sets the game's attitude to expansion." Agents with strong free will resist direct commands, so a game with both has to decide who is in charge. Full-information overlays undercut fog of war. A shared persistent world cannot be paused or sped up by one player. A storyteller's directed randomness makes scores incomparable across players, which sits badly with the global histograms of programming puzzles. Generated content resists the authored preconditions that event chains rely on. A pair in tension can still be built, but the white-space table leaves these out because their emptiness has an explanation on record.
The figure lays out every pair of common mechanics as a plan of lots. The mechanics' names run down a staircase on the diagonal, and each lot sits where one mechanic's row meets another's column. Built lots are pairs that share games, darker where they share more than chance predicts. Dashed lots are white space, slashed lots are pairs recorded as being in tension, and numbers mark the ten largest gaps.
Figure: Built and vacant lots. Every pair of the 43 mechanics used by at least 14 games, laid out like a plan: each lot is a pair, darker lots are built more often than chance would predict, dashed lots are white space (different families, no recorded tension, co-occurring at most 1 time), and slashed lots are pairs recorded as being in design tension. Numbers mark the ten largest gaps in the white-space table. Names sit on the diagonal: read a lot by following its row and its column back to the staircase. Interactive version: https://sim.yohei.me/#fig-vacant-lots
The ranking uses the gap between how often a pair would share games by chance and how often it does.
| mechanic a | mechanic b | family a | family b | observed | expected | gap |
|---|---|---|---|---|---|---|
| Building placement | Triggered event chains | space-construction | narrative-generation | 1 | 7.4 | 6.4 |
| Embodied skill control | Building placement | control-automation | space-construction | 0 | 6.09 | 6.09 |
| Lifecycle and aging | Production chains | population-lineage | resources-production | 0 | 4.94 | 4.94 |
| Modding API | Terraforming | multiplayer-persistence | space-construction | 1 | 5.9 | 4.9 |
| Permadeath | Scenario objectives | risk-failure | progression-goals | 0 | 4.75 | 4.75 |
| Content sharing | Production chains | multiplayer-persistence | resources-production | 1 | 5.15 | 4.15 |
| Treasury and budget | Crop cultivation | economy-finance | resources-production | 0 | 4.1 | 4.1 |
| Relationship values | Tech tree | social-relations | progression-goals | 1 | 5.1 | 4.1 |
| Treasury and budget | Direct avatar control | economy-finance | control-automation | 1 | 5.08 | 4.08 |
| Hand crafting | Scenario objectives | resources-production | progression-goals | 0 | 4.07 | 4.07 |
| Content sharing | Resource extraction | multiplayer-persistence | resources-production | 0 | 3.93 | 3.93 |
| Procedural terrain | Scenario objectives | world-generation | progression-goals | 1 | 4.52 | 3.52 |
| Permadeath | Production chains | risk-failure | resources-production | 1 | 4.51 | 3.51 |
| Content sharing | Crop cultivation | multiplayer-persistence | resources-production | 0 | 3.39 | 3.39 |
| Faction diplomacy | Scenario objectives | social-relations | progression-goals | 0 | 3.39 | 3.39 |
| Modular assembly | Relationship values | space-construction | social-relations | 0 | 3.2 | 3.2 |
| Treasury and budget | Storage and buffers | economy-finance | resources-production | 0 | 3.11 | 3.11 |
| Embodied skill control | Production chains | control-automation | resources-production | 0 | 3.01 | 3.01 |
| Direct avatar control | Trade routes | control-automation | economy-finance | 0 | 2.98 | 2.98 |
| Agent skills | Policy toggles | agents-behavior | governance-policy | 0 | 2.97 | 2.97 |
| Treasury and budget | Hand crafting | economy-finance | resources-production | 0 | 2.95 | 2.95 |
| Treasury and budget | Content sharing | economy-finance | multiplayer-persistence | 1 | 3.93 | 2.93 |
| Goods consumption | Needs decay | resources-production | agents-behavior | 0 | 2.88 | 2.88 |
| Scenario objectives | Triggered event chains | progression-goals | narrative-generation | 1 | 3.84 | 2.84 |
| Modular assembly | Personality traits | space-construction | agents-behavior | 1 | 3.81 | 2.81 |
| Resource extraction | Staff hiring and rosters | resources-production | economy-finance | 0 | 2.79 | 2.79 |
| Agent skills | Embodied skill control | agents-behavior | control-automation | 0 | 2.77 | 2.77 |
| Lifecycle and aging | Resource extraction | population-lineage | resources-production | 1 | 3.77 | 2.77 |
| Agent skills | Random disasters | agents-behavior | risk-failure | 1 | 3.76 | 2.76 |
| Agent skills | Terraforming | agents-behavior | space-construction | 1 | 3.76 | 2.76 |
Pairs of common mechanics (each in >= 14 games, different families, not marked as tension, excluding Time & pacing) that co-occur at most 1 time(s). Gap = expected - observed co-occurrence under independence.
Expected co-occurrence treats each mechanic as spread across games independently of how many mechanics each game has. Games with many mechanics make every pair more likely, so a pair whose mechanics sit mostly in small games can look emptier than it is. A null model that preserved each game's size would shorten the list, and the dataset has not built one yet. The threshold is a choice too: 14 games was 8 percent of the catalog when it was fixed, and the analysis file records that it should be revisited as the catalog grows. A lot can also look empty because of where the vocabulary draws its lines; the Factorio blueprints in the next section are an example. Read the table as a list of candidates, ranked by a simple measure.
Five lots
Placement and events. The top lot is the one this chapter opened with. City builders give the player detailed control over where things go and almost never tell a story about it; event-driven games tell stories and rarely give the player a map to build on. A tavern next to the temple, or a mill whose pond floods a farmer's field, could fire an event about the specific people it affects, with choices whose effects are typed and bounded: a change in happiness, in a faction's standing, in a resource. A chronicle would record each one, so a district would build up a history the player could read back. The dataset records that idea as an opportunity, with Frostpunk, Manor Lords, Islanders, and Crusader Kings III as partial precedents, and chapter 10 ranks it.
Skill and placement. The second lot pairs embodied skill control, the hand-flying and driving of flight and racing sims, with building placement. This lot may well be empty for a reason. The games with embodied skill are flight sims, driving sims, and a handful of physics sandboxes, and most of them have no use for placing buildings. The neighbouring lot is built: Kerbal Space Program and Besiege both have the player assemble a machine from parts and then fly or drive it by hand, which the dataset records as modular assembly next to embodied skill. What nobody in the catalog has built is the version where the hands-on part happens inside a place the player laid out, a racetrack or an airfield or a town, rather than inside a vehicle.
Workers who age, in factories. Lifecycle and aging, in which agents are born, grow through life stages, and die, appears in 23 games, and production chains in 38. No catalog game has both. Factory games are run by machines or faceless workers. Games with aging populations run economies without modelled production chains. Banished comes closest from that side: every worker is born, needs a house to start a family, ages, and dies, so the town's age structure produces labour booms and shortages years after the decision that caused them. Its families gather, farm, and stockpile food, firewood, clothing, and tools, but nothing in it is recorded as a multi-step production chain. The closest cases are industrial colony builders. In Captain of Industry, residents need housing, food, power, healthcare, and household goods, and their satisfaction produces the currency that buys edicts and expansion. In Workers & Resources: Soviet Republic, more than thirty commodities move by truck, rail, conveyor, and pipe through staffed plants. Neither record lists workers who age and retire. The nearest case on the factory side is a programming game. In Screeps every creep dies after 1,500 ticks, so the player's code must schedule replacements before roles go unfilled while creeps with WORK parts harvest energy; the record lists aging and extraction but no production chain. A factory whose throughput depends on a workforce with skills, households, and turnover would make a bottleneck as likely to be a missing mentor as a missing machine.
The neighbouring pair is empty too: resource extraction, in 29 games, and staff hired one by one, in 17, share none. Factory games dig with drills and excavators, while the games that hire named staff with skills and wages are mostly tycoons, business sims, and sports managers.
Shared designs, in production games. Content sharing, where player creations are uploaded, browsed, rated, and imported into other players' games, appears in 24 games, mostly sandboxes, life sims, contraption builders, and management games. The one production game with it is SpaceChem, whose solutions are plotted on global histograms of other players' results and whose ResearchNet let players share puzzles. Factorio players do exchange layouts: selected areas save to blueprints, books, and a personal library, and exchange strings are shared online. The dataset records that as blueprints. What no production game in the catalog has is the browsable, rated catalog that Spore built for creatures or that Steam Workshop provides for Cities: Skylines, a place where a factory layout is published, remixed, and ranked.
Research by people. Tech trees appear in 43 games and relationship values in 21; they share one, Crusader Kings III. In most games research is a currency spent on a graph. In colony and life sims, relationships between named characters drive much of what happens. Two catalog games get partway there. In Stellaris, each research field offers three semi-random project cards weighted in part by the traits of the scientist leading it. In Game Dev Tycoon, the designers and programmers the player hires carry design, technology, and speed stats and are assigned to development work, while research points come from a separate pool. A research system run by a few named scientists with skills, collaborations, and grudges would turn progression into a social system, and its breakthroughs into events with names attached.
Goals and open runs
Scenario objectives, the authored goals a map is won or lost by, appear in 40 games, and they make up one side of five pairs in the white-space table. They never share a game with permanent death, hand crafting, or faction diplomacy, and they share one each with procedurally generated terrain and with triggered event chains. The scenario games are spread across city builders, tycoons, construction games, god games, and vehicle sims, each scenario a prepared map with a target to reach. The games with permadeath are mostly colony sims, survival games, life sims, and virtual pets, and the games with hand crafting are mostly survival, factory, sandbox, and online-world games. 73 percent of the games with either are open sandboxes or survival runs, with no target to reach. Grand strategy, where faction diplomacy is most common, runs open campaigns too.
Scenario objectives have 6 techniques pointed at them. Agent playtesting, which has shipped, predicts a pass rate for each scenario so goals can be ordered against a target difficulty curve. Automated rule generation writes end conditions together with rules and keeps those that self-play reaches without trivial draws or one-sided wins. Quality-diversity search would generate maps and starting conditions across a grid of difficulty and style and keep the ones agent playthroughs pass, and open-ended environment generation has a model write each task and its success check as code, admitted only if it is neither solved already nor out of reach, so that a sandbox can keep issuing new challenges.
Two kinds of city builder
A treasury and growing crops never share a game, and neither do a treasury and stores of goods. Of the catalog's 30 city builders, 8 keep a treasury, 10 keep stores, 7 grow crops, and none of the treasury cities does either of the others. The treasury cities are SimCity and its three sequels, Pocket City, Tropico 6, Utopia, and Terra Nil. The store-keeping cities include Caesar III, Pharaoh, Banished, Anno 1800, Manor Lords, and Timberborn, whose beavers keep water in tanks against drought.
Part of the line is tagging. Caesar III funds itself from taxes and trade, and Anno 1800's luxury needs raise taxes; both records tag storage and neither tags a treasury, so the count understates how often the two meet. Part of it is design. Banished has no money at all, and any building is available once its materials exist. The SimCity (1989) record lists no goods: its revenue is taxes collected from population and land value. No catalog record tags both ledgers, a city where a shortage in the warehouse shows up in the budget and the budget sets what the stores can hold. SimCity (2013) comes closest: its buildings hold resource bins and its cities trade surpluses with their neighbours, and its record tags neither storage nor consumption.
The genre splits a second time over how it feeds people. Goods consumption, where a population draws goods at per-capita rates, appears in 17 games, 10 of them city builders. Needs that decay person by person appear in 30, most of them tycoons, life sims, and colony sims. No game has both. Banished's households draw from their stockpiles; Timberborn's beavers each need food, water, and rest. Some of this line is the vocabulary's too: a RimWorld colonist eating a stored meal is filed under needs, and a Banished household eating from its stockpile under consumption. Chapter 6 described the cost behind the choice, aggregates against individual agents.
Two more lineages
Skills and laws are another pair of this kind. Agent skills, which rise with practice or training, appear in 35 games, and policy toggles, laws that change the rules with a stated trade, in 15; no game has both. Frostpunk's laws about work (chapter 4) govern workers whose record lists no skills. RimWorld's colonists carry skills, and its record lists no laws.
Machines and friendships are a second. Modular assembly, building a ship, coaster, contraption, or creature from parts, appears in 27 games and relationship values in 21, and no game has both. The assembly games run from The Incredible Machine to Kerbal Space Program, Besiege, and Spore's creature editor; the relationship games are mostly life sims, social sims, colony sims, and farming sims. No catalog game has a crew that flies what the player built and remembers who designed the rocket that failed.
Lots already built
Some of the catalog's games already stand on lots that no other catalog game has built. Prison Architect is the only one that both hires staff one by one and wires a power grid, and the only one that pairs a treasury with a shared catalog of player creations: players share their prisons online, and Escape Mode lets other players try to break out of them. Kenshi, an open-world RPG with no hero character, in which any recruit can starve, lose limbs, or be enslaved, is the only one where production chains meet permanent death. Against the Storm is the only one that sets scenario objectives on procedurally generated terrain: each settlement is won by filling a reputation gauge before the Queen's patience runs out, on a map generated for that settlement. Contraband Police is the only one with both a treasury and a body the player walks around in: at a 1981 border post, cash from inspections and foiled smuggling pays for upgrades while maintenance costs rise, and the player searches vehicles in first person. Captain of Industry is the only one with both mod support and terraforming; its mining designations lower the terrain, its dumping designations raise it, and loose material settles at an angle of repose set by the material. Rebel Inc., a counterinsurgency game played as a coalition governor, is the only one that sets scenario objectives and also interrupts plans with events that offer choices.
Each of those pairs qualifies as white space, because the definition allows a single shared game. The table therefore holds two kinds of lot: the ones nobody has built and the ones exactly one game has.
What makes a lot worth building
The catalog is a sample. It favours games that are well documented in English, and a game outside it may already combine any of these pairs. That is the cheapest way to close a lot: find the game, add it to the catalog with its sources, and the build recomputes the table. If the pair stops qualifying, every sentence in this chapter that depends on it fails its assertion and has to be rewritten.
A lot is worth building when the two mechanics feed each other. In the SimCity package, traffic lowers land value, and land value decides where the city grows and so where the traffic goes. Placement and events would feed each other if the events changed what the player builds next. Aging and production would if the workforce's age structure set the factory's throughput years later, the same demographic echo that fills Cities: Skylines' hearses, with a production consequence.
Several of the largest gaps involve production chains, treasuries, and crops, the economic mechanics that chapter 8 found AI techniques have touched least. The two observations come from different data, the co-occurrence of mechanics in games and the edges from techniques to mechanics, and they point at the same part of the vocabulary.
Exercise: survey a lot
- Pick two mechanics, each used by at least 14 catalog games, from different families.
- Look up how many games use both. If it is zero or one, list the games on each side and note what kind of games they are.
- Decide whether the lot is empty because the mechanics conflict, because the lineages never met, or because the catalog is missing a game. If it is the third, find the game.
- If it is the second, sketch the smallest design in which each mechanic changes the other's state, and say what a player would do differently because of it.
Chapter 10 takes the white space, the techniques of chapters 7 and 8, and the ceilings of chapter 6, and turns them into 42 bets, each with an experiment a small team could run and a prediction with a date on it.
Dataset dfde7895aa6d.