On this page
  1. Related
  2. Games
  3. References
  4. Sources

Land value rates each part of the city map. In SimCity it’s kept per 2×2-tile block, beside pollution and crime, while police and fire coverage use 8×8 blocks1. A block’s value falls with its distance from the city center and its pollution, and rises with nearby water and trees2.

  • SimCity (1989). 2×2 blocks valued by nearness to the center, terrain, pollution, and crime; police and fire coverage in 8×8 blocks.1,2,3,4,5,6

Games

GameYearHowNote
SimCity19892×2 blocks valued by nearness to the center, terrain, pollution, and crime; police and fire coverage in 8×8 blocks
Every claim about this mechanic, by game (6)
SimCity 1989A zone's new building takes one of four value classes from its block's land value minus pollution: below 30, below 80, below 150, and 150 or more.Code
Over the 120×100-tile city, the simulation keeps population density, traffic, pollution, land value, and crime in 2×2-tile blocks (60×50), terrain in 4×4 blocks (30×25), and fire coverage, police coverage, commercial location, and growth rate in 8×8 blocks (15×13).Code
A 2×2 block holding any developed tile (a road or anything numbered above it) gets land value 4 × (34 − its distance from the city center, capped at 32), plus its 4×4 block's terrain value, minus its pollution, minus 20 more where its crime is above 190, held to 1–250. A block with nothing developed gets 0.Code
A 2×2 block's pollution sums its tiles, held to 255, then is smoothed: heavy-traffic road 75, light-traffic road 50, fire 90, radiation 255, built industrial tiles 50, and seaport, airport, and coal plant tiles 100. Houses, commercial buildings, and the nuclear plant add nothing.Code
Crime in a 2×2 block with land value is 128 − land value + population density, held to 300, minus its 8×8 block's police coverage, held to 0–250; a block without land value has none.Code
Each police station adds the police funding effect, 1000 × spending / requested funds (1000 when nothing is requested), to its 8×8 block, halved if unpowered and, by a change after the original release, halved again if no road touches it. Fire stations fill the fire coverage map the same way. Each map is then smoothed three times, every pass setting a block to half its value plus an eighth of its four neighbours' sum.Code

References

  1. ^ abOver the 120×100-tile city, the simulation keeps population density, traffic, pollution, land value, and crime in 2×2-tile blocks (60×50), terrain in 4×4 blocks (30×25), and fire coverage, police coverage, commercial location, and growth rate in 8×8 blocks (15×13).CodeMicropolis (SimHacker/micropolis)
    How we know
    167#define SmY		((SimHeight + 7) >>3)
    
    micropolis-activity/src/sim/headers/sim.h lines 156–167 at c98f6b0 · upstream ↗
    484extern short FireStMap[SmX][SmY];	/* 8X8 Maps  15 x 13 */
    
    micropolis-activity/src/sim/headers/sim.h lines 474–488 at c98f6b0 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  2. ^ abA 2×2 block holding any developed tile (a road or anything numbered above it) gets land value 4 × (34 − its distance from the city center, capped at 32), plus its 4×4 block's terrain value, minus its pollution, minus 20 more where its crime is above 190, held to 1–250. A block with nothing developed gets 0.CodeMicropolis (SimHacker/micropolis)
    How we know
    204	dis = 34 - GetDisCC(x, y);
    
    micropolis-activity/src/sim/s_scan.c lines 184–215 at c98f6b0 · upstream ↗
    291  z = (xdis + ydis);
    
    micropolis-activity/src/sim/s_scan.c lines 277–296 at c98f6b0 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  3. ^A zone's new building takes one of four value classes from its block's land value minus pollution: below 30, below 80, below 150, and 150 or more.CodeMicropolis (SimHacker/micropolis)
    How we know
    295  if (LVal < 150) return (2);
    
    micropolis-activity/src/sim/s_zone.c lines 287–297 at c98f6b0 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  4. ^A 2×2 block's pollution sums its tiles, held to 255, then is smoothed: heavy-traffic road 75, light-traffic road 50, fire 90, radiation 255, built industrial tiles 50, and seaport, airport, and coal plant tiles 100. Houses, commercial buildings, and the nuclear plant add nothing.CodeMicropolis (SimHacker/micropolis)
    How we know
    260    if (loc >= HTRFBASE) return (/* 25 */ 75);	/* heavy traf  */
    
    micropolis-activity/src/sim/s_scan.c lines 257–273 at c98f6b0 · upstream ↗
    191	    Plevel += GetPValue(loc);
    
    micropolis-activity/src/sim/s_scan.c lines 191–202 at c98f6b0 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  5. ^Crime in a 2×2 block with land value is 128 − land value + population density, held to 300, minus its 8×8 block's police coverage, held to 0–250; a block without land value has none.CodeMicropolis (SimHacker/micropolis)
    How we know
    320	z -= PoliceMap[x >>2][y >>2];
    
    micropolis-activity/src/sim/s_scan.c lines 313–323 at c98f6b0 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  6. ^Each police station adds the police funding effect, 1000 × spending / requested funds (1000 when nothing is requested), to its 8×8 block, halved if unpowered and, by a change after the original release, halved again if no road touches it. Fire stations fill the fire coverage map the same way. Each map is then smoothed three times, every pass setting a block to half its value plus an eighth of its four neighbours' sum.CodeMicropolis (SimHacker/micropolis)revised
    How we know
    1067      z = z >>1; /* post PD's need roads */
    
    micropolis-activity/src/sim/s_sim.c lines 1040–1069 at c98f6b0 · upstream ↗
    680			    (float)PoliceFund) * 1000.0);
    
    micropolis-activity/src/sim/s_sim.c lines 678–688 at c98f6b0 · upstream ↗
    307  SmoothPSMap();
    308  SmoothPSMap();
    309  SmoothPSMap();
    
    micropolis-activity/src/sim/s_scan.c lines 307–309 at c98f6b0 · upstream ↗
    81  SmoothFSMap();
    82  SmoothFSMap();
    83  SmoothFSMap();
    
    micropolis-activity/src/sim/s_scan.c lines 81–83 at c98f6b0 · upstream ↗
    519      edge = (edge >>2) + PoliceMap[x][y];
    
    micropolis-activity/src/sim/s_scan.c lines 515–520 at c98f6b0 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Revised after a check by a second AI model, 2026-10-21.

    In the claim ledger

Sources

Code