Appearance
Weather
Every territory in the realm has its own weather, and it changes every few hours. Sun and rain help the fields, heat and drought hurt them, storms slow work and sour the mood, and snow all but stops farming. Storms also slow anything crossing the map through them: armies, scouts, commanders riding to found villages, raiders and trade carts. Now and then a front of severe weather covers a whole land at once.
The basics
- The weather over your village is shown in the chip at the top of the village screen: what it is, how long it lasts, what comes next and what it does to your village. Click it for the full forecast.
- You do not see the weather everywhere. You see it over friendly ground (territory flying a banner of your guild or a body above it, or holding one of your villages) and, for a while, over territories whose capital a scout from your side has visited: yours or any ally's. Everywhere else the sky is unknown.
- On the World map each territory you can see has a weather badge on top of its capital, and territories under rain, snow, heat or storms are washed in colour. A badge with a red ring is part of a front over the whole land. Territory you cannot see gets a grey "?" badge and no colour. Click a badge for that territory's forecast.
- Weather changes every 4 game hours, for every territory at the same moment. About half the time the weather simply carries on.
- The seasons turn every 7 game days: spring, summer, autumn, winter. Winter brings snow, summer brings sun, heat and drought.
- Weather never touches your stock directly. It changes how fast farms and gatherers work, adds or takes a little popularity, and changes travel time.
| Weather | Farms | Gathering | Popularity | Travel time | Severe |
|---|---|---|---|---|---|
| Overcast | normal | normal | 0 | normal | |
| Sunshine | +15% | normal | +2 | normal | |
| Heatwave | -25% | -20% | 0 | normal | yes |
| Drought | -40% | normal | 0 | normal | yes |
| Rain | +20% | normal | 0 | normal | |
| Rainstorm | +10% | -25% | -2 | x1.3 | yes |
| Thunderstorm | -20% | -35% | -3 | x1.45 | yes |
| Snow | -90% | -40% | +2 | normal | |
| Snowstorm | -95% | -65% | -4 | x1.75 | yes |
"Farms" covers apples, cheese, meat, fish, vegetables, wheat, hops and wine: everything grown, grazed, hunted or caught. "Gathering" covers wood, stone, iron, pitch and salt. Workshops that work under a roof are not affected: the mill, bakery, brewery, charcoal burner, fletcher, pole turner and blacksmith carry on at their usual rate as long as their inputs last.
How the weather is decided
Weather is rolled, not stored. The server works it out from the world seed, the territory, and the time, so the same territory at the same moment always has the same weather, past or future. That is what lets the game time a march against the weather it will meet on the road before it sets out.
Slots
Time is cut into slots of 4 game hours (slotHours). At world speed 1 that is 4 real hours. All territories change together at the end of a slot. In each slot a territory:
- keeps the weather it had in the slot before, with chance 55% (
persist), or - rolls fresh weather from the odds for its biome and the current season.
A fresh roll can land on the same weather again, so a spell lasts on average about 2.8 slots, a little over 11 game hours. Long spells happen: about one spell in four runs 4 slots (16 game hours) or more.
The check looks back at most 10 slots. Past that the roll is always fresh, which only matters as a cap on how long one spell can run.
Seasons
A season lasts 7 game days (seasonDays), so a year is 28 game days: 28 real days at world speed 1. Seasons count from the server clock's epoch, so every world shares the same calendar. The forecast panel shows how long is left in the current season.
A spell that started in one season can run on into the next. That is how a late snowstorm can still be blowing on the first day of spring.
Biomes
Each season has base odds for each kind of weather (seasonOdds), and each biome multiplies some of them (biomeBias):
| Biome | Leans towards | Leans away from |
|---|---|---|
| Greenvale Plains | sunshine x1.2, drought x1.2 | |
| Riverlands | rain x1.3, rainstorm x1.3 | drought x0.6 |
| Highlands | snow x1.6, snowstorm x1.6, rainstorm x1.2 | heatwave x0.5, drought x0.6 |
| Mountain Foothills | snow x2, snowstorm x2, thunderstorm x1.3 | heatwave x0.4, drought x0.5 |
| Wildwood | overcast x1.2, rain x1.2 | heatwave x0.7, drought x0.6 |
| Fenland | overcast x1.3, rain x1.4, rainstorm x1.2 | drought x0.4, snowstorm x0.7 |
| Sunlit Vinelands | sunshine x1.6, heatwave x1.6, drought x1.4 | snow x0.4, snowstorm x0.3 |
A territory takes the biome most common on its land cells (the same one its market uses). The forecast panel lists the odds of a fresh roll for that territory this season.
Fronts
On top of each territory's own weather, every land can carry a front. In a slot with no front, a land starts one with chance 3% (frontChance); a front holds into the next slot with chance 60% (frontPersist). A front is always one of the severe kinds (heatwave, drought, rainstorm, thunderstorm or snowstorm), rolled from the season's odds for the land's most common biome. While it blows, every territory in the land has that weather, whatever its own roll was.
Over a long run a land is under a front about 7% of the time, and a front lasts about 2.5 slots (10 game hours) on average.
How often each weather turns up
Share of the time spent in each weather, fronts included, measured over 60 simulated years on six seeds. Rounded to whole percents, so rows may not add to exactly 100.
| Biome | Season | Overcast | Sun | Heat | Drought | Rain | Rainstorm | Thunder | Snow | Snowstorm |
|---|---|---|---|---|---|---|---|---|---|---|
| Plains | spring | 22 | 27 | 1 | 3 | 25 | 11 | 6 | 5 | 1 |
| Plains | summer | 13 | 40 | 11 | 11 | 10 | 4 | 9 | 0 | 0 |
| Plains | autumn | 27 | 17 | 0 | 4 | 25 | 14 | 6 | 4 | 2 |
| Plains | winter | 27 | 9 | 0 | 0 | 7 | 8 | 1 | 29 | 17 |
| Riverlands | spring | 21 | 21 | 1 | 1 | 30 | 14 | 6 | 5 | 1 |
| Riverlands | summer | 15 | 37 | 13 | 5 | 15 | 6 | 10 | 0 | 0 |
| Riverlands | autumn | 26 | 14 | 0 | 2 | 30 | 17 | 6 | 4 | 1 |
| Riverlands | winter | 27 | 8 | 0 | 0 | 10 | 9 | 1 | 29 | 16 |
| Highlands | spring | 23 | 22 | 0 | 1 | 24 | 14 | 7 | 7 | 1 |
| Highlands | summer | 17 | 40 | 7 | 6 | 12 | 6 | 11 | 0 | 0 |
| Highlands | autumn | 27 | 15 | 0 | 2 | 24 | 17 | 5 | 6 | 3 |
| Highlands | winter | 22 | 6 | 0 | 0 | 7 | 6 | 1 | 38 | 20 |
| Mountains | spring | 22 | 22 | 0 | 1 | 24 | 11 | 9 | 9 | 1 |
| Mountains | summer | 16 | 39 | 6 | 5 | 12 | 5 | 15 | 0 | 0 |
| Mountains | autumn | 27 | 15 | 0 | 1 | 24 | 14 | 8 | 8 | 3 |
| Mountains | winter | 19 | 5 | 0 | 0 | 6 | 5 | 1 | 41 | 22 |
| Wildwood | spring | 26 | 21 | 1 | 1 | 28 | 11 | 6 | 5 | 1 |
| Wildwood | summer | 18 | 37 | 9 | 6 | 14 | 5 | 10 | 0 | 0 |
| Wildwood | autumn | 31 | 13 | 0 | 2 | 28 | 14 | 6 | 4 | 2 |
| Wildwood | winter | 31 | 7 | 0 | 0 | 9 | 7 | 1 | 28 | 17 |
| Fenland | spring | 26 | 20 | 1 | 1 | 31 | 12 | 6 | 4 | 0 |
| Fenland | summer | 19 | 35 | 12 | 3 | 15 | 5 | 10 | 0 | 0 |
| Fenland | autumn | 31 | 12 | 0 | 1 | 30 | 15 | 6 | 3 | 1 |
| Fenland | winter | 33 | 7 | 0 | 0 | 11 | 8 | 1 | 27 | 12 |
| Vinelands | spring | 21 | 32 | 1 | 3 | 23 | 11 | 7 | 2 | 0 |
| Vinelands | summer | 11 | 45 | 14 | 11 | 8 | 3 | 8 | 0 | 0 |
| Vinelands | autumn | 27 | 23 | 0 | 4 | 24 | 13 | 6 | 1 | 1 |
| Vinelands | winter | 36 | 17 | 0 | 0 | 12 | 10 | 2 | 15 | 7 |
These are long-run shares. Any one world's weather is a handful of spells per season and can run well away from them.
Who sees what
The server sends each lord only the weather they can see, and works it out again whenever that might change: when a slot turns, when a scout comes back from a capital, when intel runs out, and when banners or guild membership change.
| Sight | When | What you see | How long |
|---|---|---|---|
| Friendly | a banner of a body in your chain flies there, or the banner of a body under one of them, or one of your villages stands there | the weather now and the next slot (the full forecast) | as long as it stays friendly |
| Intel | a scout of yours or of an ally reached the territory's capital | the weather the scout saw, nothing about what comes next | until that spell ends |
| Front | a front blows over a land, and you can see at least one of its territories (friendly or intel) | the front over every territory of that land | friendly: to the end of the slot; intel: until the intel runs out |
| Unknown | none of the above | nothing: a grey "?" on the map | until one of the above applies |
"Your chain" is your guild and every body above it: its order, house and kingdom. A territory held by another guild of your house counts as friendly, because its banner's chain meets yours at the house. A territory held by a stranger, even one inside your kingdom's borders, is not friendly unless one of your own villages stands there.
How long intel lasts
Weather is rolled from the seed, so the server knows the moment a spell will end. When a scout reaches a capital, the report notes the weather and the end of the current spell: the first slot whose weather (or front) differs. Your intel on that territory lasts until then. The server looks at most 12 slots ahead (MAX_SPELL, 48 game hours); a spell longer than that is cut off there.
Worked example, at world speed 1: a scout reaches a capital at 13:00 in a slot that runs 12:00 to 16:00. The sky is rain, and the next two slots (16:00 to 20:00, 20:00 to 24:00) are rain as well; the one after is sunshine. The report says rain until 24:00, and you see rain over that territory until midnight. At midnight the badge turns back to "?". If you scout it again, the new report replaces the old one only if it runs later.
A newer report never shortens what you already know. Intel is kept per lord and saved with the world, so it survives a server restart.
Intel is shared with allies
Your allies are every lord inside the highest body of your chain: your kingdom if you have one, otherwise your house, order or guild. When any of them scouts a capital, all of you see that weather at once, and it runs out for all of you at the same moment, when the spell ends. Where two allies scouted the same territory, the report that runs later counts. A lord with no guild has no allies and sees only their own scouts' intel.
The capital scout report itself stays with the lord who sent the scout; only the weather is shared.
Leaks
Marches are still timed with the true weather, so a route's arrival time can hint at a storm on the way that you cannot see. To keep that hint rough, any time shown for a route that crosses a territory you cannot see reads "about": scouts on the road, armies marching, caravans and market carts.
Weather in the village
The village takes the weather of the territory it stands in. The territory is fixed by where the village was founded, so two villages a few cells apart can have different weather if a border runs between them.
Production
Weather is one more production multiplier, applied through the same modifiers as research and cards (see The Village). It multiplies with the biome, research, cards, fear and the meadow bonus:
output per hour = base rate x biome x research x cards x weather x fear x meadow x staffingWorked example: an orchard on Greenvale Plains (apples x1.25) making 100 apples an hour before biome and weather.
overcast: 100 x 1.25 = 125 an hour
rain: 100 x 1.25 x 1.2 = 150 an hour
sunshine: 100 x 1.25 x 1.15 = 143.75 an hour
drought: 100 x 1.25 x 0.6 = 75 an hour
snow: 100 x 1.25 x 0.1 = 12.5 an hourOnly the good a building makes is scaled. A building that consumes inputs (the mill takes wheat, the bakery may take flour) keeps its own rate, so in snow a bakery with flour in store bakes as usual while the wheat farms feeding the mill nearly stop.
Peasants still eat the same rations whatever the weather. A long winter with a granary fed by farms alone will run down; stock up in autumn, or lean on food that comes from indoor workshops (bread from stored flour).
Popularity
Weather with a popularity effect adds a line to the popularity breakdown, for example Weather: Snowstorm -4. It counts like any other factor, so it feeds peasant arrival and departure and Renown per hour (see Popularity). Snow is +2 because villagers enjoy it; a snowstorm is -4.
When it applies
The server works the weather out each time it advances a village, which is every 5 seconds while it runs. A change of weather therefore takes hold within seconds of the slot turning. After the server has been down, the weather at the moment it comes back is applied to the whole gap, as for every other modifier.
Weather on the road
Storms slow travel. The time to cross each part of a route is multiplied by the travel factor of the weather over it: x1.3 in a rainstorm, x1.45 in a thunderstorm, x1.75 in a snowstorm. Other weather, sea crossings and land outside any territory do not slow anyone.
This applies to:
- armies marching out and home, including planned attacks (Military);
- commanders riding to found a village, and riding back if recalled;
- scouts, out and back (World map);
- raiders and their scouts coming for your villages;
- market carts going to a capital and back (Markets).
How it is worked out: the straight route is cut into steps of about one cell (at most 256 steps). Each step takes its fair-weather share of the trip, multiplied by the travel factor of the weather over that step at the moment the traveller reaches it. A storm that only starts halfway through the march slows only the part of the route walked after it starts.
step time = fair-weather trip time / steps
arrival = departure + sum over steps of (step time x travel factor at that step and time)Worked example: an army with a fair-weather march of 2 hours over 20 cells, where cells 11 to 20 lie in a territory under a snowstorm for the whole trip.
first 10 cells: 60 min x 1 = 60 min
last 10 cells: 60 min x 1.75 = 105 min
march: 165 minBecause weather is known in advance, the arrival time is fixed the moment the traveller sets out. Weather that changes during the trip, or a change of the weather strength setting, does not move it. The march time shown on the line-up screen already counts the storms forecast along the way.
The map shows travellers moving at an even pace from start to finish, so a slowed army looks slow over the whole route rather than stuck in the storm.
On the map
- Badges: each territory's current weather sits in a parchment disc resting on its capital's tower, with the territory name below the capital. Severe weather has a gold ring, a front a red ring. Weather you know only through a scout (or a front seen through one) has a thin outer ring and the time left on the intel printed under it. Zoomed far out, only storms and fronts keep their badges.
- Unknown: territory you cannot see has a grey disc with a "?", shown only when zoomed in, and no wash.
- Wash: territories under heat, drought, rain, storms or snow are tinted. Sunshine and overcast are left clear.
- Forecast panel: click a badge, or the weather chip in your village. For friendly ground it shows the current weather and its effects, when it changes and what comes next (with "a front" if the next slot's weather is a front), how long until the season turns, and the odds of a fresh roll for that territory this season. For intel it shows the weather and how long the spell holds, without the next slot. For an unknown sky it explains how to learn it and has a button to scout the capital.
- The Intel tab of the Realm panel lists every territory you can see through scouts and when each runs out (see Lands and territories).
Strategy notes
- The forecast only reaches one slot ahead. Beyond that, the season odds and the 55% hold chance are the best guide.
- An attack planned against a storm costs time on the road, and the timing is locked at departure. Sending just after a storm clears, or around the edge of a territory under one, can save a lot of time on long marches. Attackers in a snowstorm land are slowed going home as well.
- A defender's village under a storm loses popularity and gathering for its duration. Nothing about the weather changes the battle itself.
- Vinelands get the most summer heat and drought and the least snow. Mountain Foothills and Highlands spend around 60% of winter under snow or snowstorm, which is a strong reason to keep food villages in other biomes and trade with the Markets.
- Rain is the best farming weather at +20%; a rainstorm still helps the fields (+10%) while it costs gathering and popularity.
- Stone, iron, wood and pitch keep going in a drought. Drought hurts only the farms.
- Because a territory's weather is the same for everyone in it, everyone in a territory shares good and bad spells. Holding villages in several territories and biomes smooths the swings.
- Before a long march into unknown ground, scout the capitals on the way. A scout that sees a storm tells you how long it will last, which is exactly what you need to time the departure.
- A front is the cheapest intel there is: one friendly territory or one scouted capital in a land shows a front over all of it.
Server setting
Admins can scale every weather effect with the weatherStrength tuning value (see docs/ADMIN.md). At 0 there is no weather effect at all; at 1 the numbers on this page apply; at 2 each effect is twice as far from normal (snow farming would be 1 + (0.1 - 1) x 2, clamped at zero). Popularity effects are rounded to whole points. The chip and forecast panel show the scaled numbers.
Interactions
- Realm events: a famine (-40%) and a bountiful harvest (+30%) change the same farm goods, multiplying with the weather; the events scheduler weights its kinds by the weather's season.
- The Village: weather is a production modifier on farm and gathering goods only.
- Popularity: a weather line in the breakdown, and through it peasant arrival and Renown.
- Biomes: biome sets both the production multiplier and the weather odds.
- Research and Cards and Crowns: their production multipliers stack with weather by multiplication. No research or card changes weather yet.
- Military: storms lengthen marches; the arrival time is fixed when the army leaves.
- World map: badges, wash and slowed scouts; scouting a capital gives weather intel.
- Lands and territories: weather is per territory, and fronts cover a whole land. Provinces do not exist; lands are the largest area weather covers. Banners decide which territories are friendly ground.
- Guilds and Houses: joining or leaving a guild changes your chain and with it the weather you can see.
- Markets: carts are slowed by storms.
For maintainers
server/src/features/weather/content.ts: every number on this page (effects, resource lists, slot length, hold and front chances, season length, season odds, biome bias).server/src/features/weather/logic.ts: the pure model (slotOf,seasonOf,territoryKind,frontKind,weatherAt,routeMs), and visibility (spellEnd,visibleWeather).MAX_LOOKBACK = 10,MAX_SPELL = 12.server/src/features/weather/index.ts: the feature (village modifiers andVillageState.weather, intel kept per lord under the meta keyweather_inteland merged across allies byalliedIntel, the per-lordweatherreport pushed whenever it differs from the last one sent,weatherApi.routeMsandweatherApi.observe).noteScoutReportis wired to scout reports inserver/src/features/wiring.ts.server/src/features/lands/index.ts:friendlyGrounddecides friendly territories from banners, chains and villages.server/src/features/registry.ts: theweatherApiseam that military, world (scouts) and market call for travel times, and that world calls to read the sky at a capital.server/src/tuning.ts:weatherStrength(0 to 3, default 1).packages/protocol/src/features/weather.ts: wire types.clients/web/src/features/weather/: village overlay, chip, map layers and forecast panel.?weather=<kind>in the URL previews a look over the village without changing the game.sight.tsholds what the lord can see so other features can mark route times "about" (routeIsUncertain,aboutFor).- The frequency table above was measured by simulating the model; rerun a simulation after changing odds,
persistor front chances. The reference pagereference/weather.mdis generated from content bynpm run wiki.