Flora
Trees and plants are the living landscape of your settlement. They grow through stages, develop beauty that inspires elves, and the oldest among them can become notable landmarks -- named trees with histories and the power to form deep bonds with individual elves. The flora system generates 19 procedural species across 8 families at world creation, each with unique aesthetic properties that interact with your elves' cultural values.
Overview
Flora operates on three layers that connect the natural world to elf culture:
- Notable flora -- trees that earn names and histories through age, hardship, or community significance. Notable trees become landmarks that elves bond with (see Tree Bonds).
- Species preference -- elves develop affinities for specific tree species through exposure, which amplifies their nature inspiration when near preferred species.
- Flora beauty -- each tree contributes beauty to its surroundings based on species, season, time of day, and how well the tree's aesthetic aligns with a nearby elf's cultural values.
Notable Flora
How Promotion Works
A tree becomes notable when it meets any one of these criteria:
| Criterion | Details |
|---|---|
| Ancient growth stage | The tree has reached the Ancient stage through natural growth |
| Drought survival | The tree's moisture reached 0 while at Mature stage or older |
| Beloved gathering place | 3 or more elves have a Favorite Place on the tree's tile |
When a tree is promoted, it receives a unique name and begins tracking its history. A TreeBecameNotable event appears in the event log with the tree's name and the reason for promotion.
Source: crates/er-sim/src/sim/flora_systems.rs, flora_notable_system.
Names and History
Notable trees are named in the format "The [Adjective] [Species] of [Zone]" -- for example, "The Whispering Silverbell of the Eastern Glade." The adjective is drawn from a pool of 10:
Great, Elder, Whispering, Ancient, Silver, Twilight, Starlit, Hollow, Sentinel, Mossy
Each notable tree maintains a TreeHistory that records significant events in its life:
| Event | Trigger |
|---|---|
| BecameNotable | The moment the tree was promoted |
| BondFormed | An elf formed a tree bond with this tree |
| SurvivedDrought | The tree survived a period of zero moisture |
| ElfEventNearby | A significant elf event occurred near the tree |
Source: crates/er-sim/src/sim/flora.rs, TreeHistory, TreeEvent.
Species Preference
Exposure and Affinity
Elves develop affinities for tree species through proximity. The species preference system runs every 50 ticks and checks a 3-tile Manhattan radius around each elf:
- Base exposure: 50 ticks accumulated per cycle for each nearby species.
- Aesthetic alignment bonus: If a species' aesthetic emphasis matches the elf's dominant aesthetic axis, exposure is doubled (100 ticks per cycle).
- Preference threshold: A species becomes preferred after 200 ticks of accumulated exposure.
- Maximum preferences: Each elf can prefer at most 2 species simultaneously.
Nature Inspiration
When an elf is near a preferred species, they receive +1 nature inspiration (soft-capped at 100). This stacks with other inspiration sources and creates a feedback loop: elves who spend time near trees develop preferences, which then make those trees more inspiring, which draws the elf back.
Source: crates/er-sim/src/sim/flora_systems.rs, species_preference_system.
Flora Beauty
Calculation
Each tree's beauty contribution is computed from four components:
| Component | Range | Details |
|---|---|---|
| Base beauty | 0--4 | Inherent to the species, varies by composition role |
| Seasonal modifier | -1 to +2 | Depends on the tree's current seasonal phase |
| Time-of-day bonus | 0 or +1 | +1 if current time matches the species' peak beauty phase |
| Aesthetic alignment | -2 to +5 | How well the elf's aesthetic values align with the species |
Total range: -2 to +12.
Base beauty by composition role:
| Composition Role | Beauty Range | Families |
|---|---|---|
| Dominant | 2--4 | Heartwood, Ironbark, Windcatcher |
| Companion | 1--3 | Silverleaf, Needlespire, Weepwater, Thornweave |
| Ground | 0--2 | Mosswhisper |
Seasonal modifiers:
| Phase | Modifier | Notes |
|---|---|---|
| Full | 0 | Standard foliage |
| Budding | -1 | Spring emergence |
| Fruiting | +1 | Fruit/seed display |
| Shedding | +2 | Autumn color bonus |
| Bare | -1 | Leafless |
| Dormant | -1 | Winter state |
Aesthetic alignment scales with the species' base beauty. When an elf's dominant aesthetic axis aligns with the species' emphasis, the bonus is beauty + 1 (ranging from +1 to +5). A neutral elf receives no modifier. When the elf's aesthetics actively oppose the species' emphasis, the penalty is -(beauty / 2) clamped to at least -1 (ranging from -1 to -2).
This means a Heartwood tree (structure + tradition emphasis) looks significantly more beautiful to a structured, traditional elf than to an elf who values emotion and social freedom -- and vice versa for Windcatcher trees.
Source: crates/er-sim/src/sim/flora_systems.rs, flora_beauty_contribution; crates/er-sim/src/sim/flora_gen.rs, generate_aesthetic_lookup.
Flora Species
At world generation, 19 species are created across 8 families. Each family has a distinct growth form, leaf type, and aesthetic emphasis that determines how its species interact with elf culture.
| Family | Count | Growth | Leaf Type | Aesthetic Emphasis | Notes |
|---|---|---|---|---|---|
| Heartwood | 3 | Tree | Broadleaf Deciduous | Structure + Tradition | Canopy shade, forageable |
| Ironbark | 3 | Tree | Broadleaf Evergreen | Structure (highest) | Canopy shade |
| Windcatcher | 3 | Tree | Broadleaf Deciduous | Emotion + Social | Forageable |
| Silverleaf | 2 | Tree | Broadleaf Deciduous | Emotion (personal) | — |
| Needlespire | 2 | Tree | Needle | Structure + Tradition | Canopy shade |
| Weepwater | 2 | Tree | Broadleaf Deciduous | Emotion (highest) | Forageable |
| Thornweave | 2 | Shrub | Broadleaf Deciduous | Social (communal) | Forageable |
| Mosswhisper | 2 | Shrub | Broadleaf Evergreen | Tradition + Emotion | — |
Within each family, individual species vary in soil preference, growth rate, beauty, and seasonal behavior. Species names are procedurally generated from family-specific adjective and core word pools (e.g., a Heartwood species might be "Silver Oak" or "Amber Maple").
Source: crates/er-sim/src/sim/flora_gen.rs, FAMILIES, generate_species_database.
Interactions
- Tree Bonds -- notable trees form bonds with nearby elves, creating deep social connections to the landscape.
- Seasons & Weather -- seasonal phase affects flora beauty modifiers. Shedding (autumn) is the most beautiful season; bare and dormant trees lose appeal.
- Inspiration -- flora beauty and species preference both contribute to nature inspiration, which feeds into compositions.
- Favorite Places -- when 3+ elves designate the same tile as a favorite place, any tree there becomes a notable flora promotion candidate.
- Hydrology -- drought conditions (zero moisture) can trigger notable promotion for mature trees that survive.
Tips
-
Autumn is art season. The Shedding phase gives +2 beauty to all deciduous trees. Combined with aesthetic alignment, a traditional elf near a Heartwood tree in autumn can receive +11 beauty contribution. Schedule revels accordingly.
-
Match elves to trees. An elf's dominant aesthetic axis determines which species look beautiful to them. Structured elves thrive near Heartwood and Ironbark; emotional elves near Weepwater and Silverleaf. Check the Aesthetic Position panel to find good matches.
-
Species preference rewards loyalty. An elf near a preferred species gets +1 nature inspiration per check. Two preferred species cover more ground. Since aesthetic alignment doubles exposure gain, elves naturally prefer species that match their values -- but diverse exposure can build unexpected affinities.
-
Notable trees are landmarks. Once a tree becomes notable, it can form bonds with elves. Trees promoted through community significance (3+ favorite places) tend to be near the settlement center, making them natural gathering points. Trees promoted through drought survival may be in harsh locations but carry stories of resilience.