Skip to content

Popularity ​

Popularity is how content your peasants are, as a single number. When it is above zero and you have spare housing, new peasants arrive. When it drops below zero, peasants leave. It is also one of the two numbers that set how much Renown the village earns: the other is Standing (see Ranks and Renown). You raise it with food, ale and buildings and lower it by taxing.

All rates on this page are per game hour at world speed 1. The server's worldSpeed setting multiplies every rate the client shows per real hour.

The basics ​

  • Popularity is the sum of a list of factors. The village panel shows each one.
  • Feeding more raises it: Normal rations give +4, Double give +12. No food at all gives -8.
  • Each extra kind of food in the granary adds +1.
  • Ale from a staffed inn adds +2 to +8.
  • Tax pays gold per peasant and costs popularity: Low is free, Extortionate is -18.
  • Wells, maypoles, chapels, statues and many other buildings add a little each.
  • Above zero and with empty beds, peasants arrive. Below zero, they leave.
  • More popularity means more Renown, which raises your rank. Renown is popularity times the village's Standing, so the same popularity is worth more in a bigger village with more prestige buildings.

A new village starts at +4: Normal rations (+4) and Low tax (0). With 8 peasants its Standing is 3 + 8 / 20 = 3.4, so it earns 3.4 x 4 x 0.05 = 0.68 Renown an hour.

Factors ​

The total is the sum of these factors, clamped to the range -50 to 100. The individual factors are not clamped; only the total is.

Rations ​

LevelLabelPopularityFood per peasant per hour
0None-80
1Quarter-40.25
2Half00.5
3Normal+41
4Extra+81.5
5Double+122

A food counts as "in stock" when the granary holds more than 0.5 of it. If no food is in stock, the effective ration level is 0 whatever you set, and the factor reads "Rations (granary empty)" at -8.

Food variety ​

If rations are above None and more than one kind of food is in stock, you get kinds - 1. There are six foods (apples, cheese, meat, bread, vegetables, fish), so the most is +5. Wheat, flour, hops and salt are stockpile materials and do not count.

Ale ​

The ale factor only appears if your ale policy is above None.

LevelLabelPopularityAle per peasant per hour
0None00
1Quarter+20.05
2Half+40.1
3Normal+60.2
4Extra+80.3

Ale is served only if there is a finished inn with at least one worker and more than 0.5 ale in it. Otherwise the factor reads "Ale (none to serve)" at 0 and no ale is drunk. Wine is stored in the inn but has no popularity effect and is not drunk.

Tax ​

LevelLabelPopularityGold per peasant per hour
0None+40
1Low00.6
2Normal-41.2
3High-81.9
4Mean-122.7
5Extortionate-183.6

Buildings ​

All finished buildings with a popularity value add it to one "Buildings" factor. Staffing does not matter here: an unstaffed church still gives +2. Some buildings add more if their centre is within a radius of the hall's centre (straight-line distance between footprint centres).

BuildingPopularityNear-hall bonusMax
Inn+11
Well+13
Maypole+1+2 within 10 tiles4
Garden0+1 within 8 tiles6
Village Fountain+2+1 within 12 tiles2
Chapel+12
Wayside Shrine+14
Church+21
Cathedral+51
Herbalist+12
Manor House+12
Banqueting Hall+11
Village Statue+16
Lord's Statue+22
Obelisk+22
Grand Statue+41
Triumphal Arch+31

The hall's centre on a standard map is (24.5, 24). A 1 x 1 maypole at tile (x, y) has its centre at (x + 0.5, y + 0.5), so a maypole at (30, 30) is hypot(6, 6.5) = 8.85 tiles away and gets the bonus.

With every building at its count limit and every near-hall bonus, buildings add +67. The Flower Bed, Dovecote, Formal Garden and Gilded Statue give Standing but no popularity, so they are not in this table (see Ranks and Renown). Fitting all of that inside the hall radii, around the hall, stockpile and granary, is unlikely.

Fear ​

Stocks give 1 fear point and gibbets 2. The factor is -min(6, fear). In return every production building works 5% faster per point, up to +30%. See The Village.

Outside modifiers ​

These come from other systems through the shared modifier path. Each shows as its own line:

  • "Research": the sum of popularity from completed research (Village Green +1, Tavern Keeping +1, Almsgiving +2, Holy Relics +2, Chartered Fairs +2, Pilgrimages +2, Civic Pride +2, Merchant Guilds +1). See Research.
  • "Card: name": popularity cards in play. See Cards and Crowns.
  • The feast's name, while a feast runs. See Feasts.
  • Weather, through the same path. See Weather for its values.

Overcrowding ​

If peasants exceed housing, the factor is -ceil((peasants - housing) / 2). In practice this rarely shows for long; see Overcrowding under population.

Policy ceiling ​

From policy alone the best you can do is Double rations (+12), six foods (+5), Extra ale (+8) and no tax (+4), for +29.

Population ​

Peasants arrive and leave continuously. The village tracks a fractional count; the whole number (rounded down) is what eats, pays tax and works.

if peasants > housing:  rate = -max(1, (peasants - housing) * 0.5) * departure
elif total > 0:         rate = peasants < housing ? (1 + 0.4 * total) * arrival * arrivalMult : 0
elif total < 0:         rate = 0.4 * total * departure          (negative)
else:                   rate = 0

arrival and departure are server tuning values (peasantArrival, peasantDeparture), both 1 by default. total is the clamped popularity.

The exact count is kept between 0 and housing + 0.99, so the whole-number population never grows past housing.

Arrival multiplier ​

arrivalMult = researchArrival * (1 + 0.25 * staffedHerbalists)
  • Each herbalist with at least one worker adds +25%, up to two herbalists (+50%). A building with any staff counts in full.
  • Research multiplies: Census Rolls x1.2, Infirmary x1.15, Chartered Towns x1.2.

Examples ​

A new village with one hovel (housing 16), Normal rations and Low tax: 1 + 0.4 * 4 = 2.6 peasants per hour. Raising rations to Extra (popularity 8) gives 1 + 3.2 = 4.2.

At popularity 50 with two staffed herbalists, Census Rolls and Infirmary:

(1 + 0.4 * 50) * 1.2 * 1.15 * 1.5 = 21 * 2.07 = 43.47 peasants per hour

At popularity -10: 0.4 * -10 = -4 peasants per hour leave.

Overcrowding ​

The overcrowding rule exists in the code, but the housing cap on the exact count acts first. If you demolish a full hovel, the next simulation step (within about 5 seconds) trims the count to housing + 0.99, so the extra peasants are gone at once rather than leaving at the overcrowding rate. The same trim removes peasants returned above housing, for example when cancelling a troop training order in a full village.

Consumption and income ​

Per game hour, using the whole-number population:

food  = peasants * rations[level].perPeasantHour, split evenly across every food in stock
ale   = peasants * ale[level].perPeasantHour      (only if ale is being served)
gold  = peasants * tax[level].perPeasantHour

Because food is split evenly, a kind you have little of runs out first and you lose its variety point. Food that is down to 0.5 or less is neither counted nor eaten.

Gold goes to the lord's treasury, which every village shares and which has no cap. A lord with three villages earns the sum of their three tax incomes into one balance.

Worked example ​

A village of 40 peasants with housing 48, Normal rations, apples, cheese and meat in stock, Normal ale at a staffed inn, Normal tax, two wells, two maypoles within 10 tiles of the hall and the Village Green research:

FactorValue
Rations: Normal+4
Food variety (3 kinds)+2
Ale: Normal+6
Tax: Normal-4
Buildings: inn 1, wells 2, maypoles 2 x 3+9
Research+1
Total+18
food     = 40 * 1   = 40 per hour, 13.3 each of apples, cheese and meat
ale      = 40 * 0.2 = 8 per hour
gold     = 40 * 1.2 = 48 per hour
arrivals = 1 + 0.4 * 18 = 8.2 per hour, until 48
renown   = (3 + 40 / 20) * 18 * 0.05 = 5 * 18 * 0.05 = 4.5 per hour

Renown from popularity ​

Each village earns Renown for its owner. Popularity multiplies the village's Standing:

renownPerHour = Standing * min(max(0, total), popularityCap) * 0.05 * accountMultiplier * renownGain
  • Popularity at or below zero earns nothing. It does not subtract.
  • popularityCap is 100 by default, the same as the clamp on the total, so by default every point counts.
  • Standing comes from the village hall (3), the peasants (1 per 20) and prestige buildings such as shrines, chapels, churches and statues, which count in full within 12 tiles of the hall and half beyond. Standing alone earns nothing. The full rules and the building table are on Ranks and Renown.
  • accountMultiplier is 1 plus the sum of the Renown bonuses from research and Renown rate cards. The bonuses add: Village School (+5%) and Scriptorium (+10%) make 1.15.
  • renownGain is the admin tuning (1 by default).

Some buildings give both popularity and Standing (shrine, chapel, church, cathedral, the statues, obelisk, Banqueting Hall, Triumphal Arch). Maypoles, wells, the Garden, the Village Fountain and the inn give popularity only.

Example: the village in the worked example above (40 peasants, popularity 18) adds two staffed chapels within 12 tiles of the hall. Each chapel also gives +1 popularity, so the total is 20:

Standing = 3 + 40 / 20 + 2 * 2 = 9
renown   = 9 * 20 * 0.05 = 9 Renown per hour

With Village School and Scriptorium researched that becomes 9 * 1.15 = 10.35.

Renown from all your villages adds up on your lord. See Ranks and Renown for what it buys.

Interactions ​

  • Realm events: a plague (-6, and arrivals at 70%), the plague donors' +3 for a week and the relic's +4 for 3 days show as lines in the breakdown.
  • Faith: a monk's blessing (+4) and sermon (-3) and a heal that lifts half a plague's toll are lines in the breakdown. Blessings and a sanctified capital also add Standing.
  • The Village: food and ale come from production; peasants staff the buildings; fear trades popularity for output.
  • Research: popularity, arrival speed and Renown bonuses, and the buildings that give popularity.
  • Cards and Crowns: popularity and Renown-rate cards, and cards that settle peasants straight into free housing.
  • Feasts: a temporary popularity factor and a lump of Renown, paid for in food, ale, wine and gold.
  • Weather: a popularity factor.
  • Quests: early quests ask for Extra rations, a set popularity, a tax level and food variety.
  • Military: soldiers and scouts are taken from your peasants, which lowers food and tax figures and frees housing for newcomers.
  • Biomes: decide which foods are cheap to make, and so how much variety is practical.
  • Markets: a way to get foods your biome makes badly, for variety.

For maintainers ​

Source files:

  • server/src/village/sim.ts: popularity factors and clamp, consumption, tax, Standing and renownPerHour, populationRate, arrivalMultiplier, the housing cap in advance.
  • server/src/content/index.ts: rations, ale, tax tables; building popularity, hallBonus, standing, arrivalBonus, fear, maxCount.
  • server/src/features/research/tree.ts and logic.ts: research popularity, arrival and Renown effects.
  • server/src/features/cards/index.ts (cardModifiers), server/src/features/feasts/index.ts, server/src/features/admin/index.ts: other modifier sources.
  • server/src/tuning.ts: peasantArrival, peasantDeparture, renownGain, renown (rate, popularityCap, Standing settings), worldSpeed.
  • Tests: server/src/village/sim.test.ts, server/src/village/chains.test.ts.

Constants this page depends on:

ConstantWhereValue
popularity clampsim.ts derive-50 to 100
food in stock thresholdsim.ts derivemore than 0.5
Renown per popularity pointtuning.ts renown.rate0.05 x Standing
popularity counted for Renowntuning.ts renown.popularityCap100
arrival slope, basesim.ts populationRate0.4, 1
departure slopesim.ts populationRate0.4
overcrowdingsim.tsfactor ceil(excess / 2), rate max(1, excess * 0.5)
housing capsim.ts advancehousing + 0.99
fearsim.ts FEAR1 popularity per point, max 6
ration, ale, tax tablescontent/index.tssee tables above