Aesthetic Position
Overview
Every elf has a 4-axis aesthetic position that defines their artistic taste and creative identity. This is the most influential hidden stat in the game: it determines which genre an elf composes in, how they react to others' art at Revels, their natural Inspiration equilibrium, and whether they feel alienated from the settlement's cultural center.
Aesthetic positions drift over time through social proximity, school influence, and revel attendance -- creating emergent cultural movements without any scripting.
How It Works
The Four Axes
Each axis is a continuous float from 0.0 to 1.0. The "opposite" of any value
is simply 1.0 - value -- there are no separate fields for opposing poles.
| Axis | Low End (0.0) | High End (1.0) |
|---|---|---|
| Structure | Freedom (improvisation) | Structure (formal composition) |
| Tradition | Innovation (hunger for the new) | Tradition (love of the familiar) |
| Emotion | Intellect (provoke thought) | Emotion (move the audience) |
| Social | Personal (art for oneself) | Social (art for the community) |
New elves are assigned a uniformly random position on all four axes.
Source: src/sim/components.rs, AestheticPosition
Distance Metric
Aesthetic distance between two elves (or between an elf and a composition) uses Euclidean distance in 4D space:
distance = sqrt((s1-s2)^2 + (t1-t2)^2 + (e1-e2)^2 + (sc1-sc2)^2)
Since each axis ranges 0.0-1.0, the maximum possible distance is:
max distance = sqrt(1^2 + 1^2 + 1^2 + 1^2) = 2.0
Two elves at diametrically opposite corners of the aesthetic space are exactly 2.0 apart. Elves within about 0.5 distance are aesthetically compatible; beyond 1.0 they are quite different.
Source: src/sim/components.rs, AestheticPosition::distance_to
Values & Formulas
Audience Evaluation Weights
When an elf evaluates a composition at a revel, their aesthetic position determines how much they weight each quality dimension. The raw weights before normalization:
| Weight | Formula |
|---|---|
| w_mastery | structure x 0.4 + tradition x 0.2 + (1-emotion) x 0.2 + (1-social) x 0.2 |
| w_originality | (1-tradition) x 0.3 + (1-structure) x 0.2 + social x 0.2 + (1-emotion) x 0.3 |
| w_emotional | emotion x 0.4 + social x 0.3 + (1-structure) x 0.15 + (1-tradition) x 0.15 |
These three weights are then normalized to sum to 1.0. The raw sum ranges from about 1.15 to 1.85 depending on position.
The final audience score is:
score = mastery x w_mastery + originality x w_originality + emotional x w_emotional
A social modifier then adjusts the score:
- Social axis > 0.7: +5 points (crowd energy)
- Social axis < 0.3: -3 points (crowd discomfort for introverts)
Source: src/sim/art.rs, evaluate_audience
Genre Affinity
The tradition axis is the primary driver of genre selection:
| Tradition Value | Genre Tendency |
|---|---|
| High (near 1.0) | Strongly Traditional |
| Mid (around 0.5) | Mixed, with ~15% Radical |
| Low (near 0.0) | High Radical probability |
The exact formula:
p_radical = max((1.0 - tradition - 0.5) x 1.5, 0.0)
At tradition=1.0, p_radical=0. At tradition=0.0, p_radical=0.75.
Source: src/sim/art.rs, select_genre
Inspiration Equilibrium
Aesthetic position determines the natural resting state of each inspiration channel:
| Channel | Equilibrium |
|---|---|
| Nature | (1.0 - structure) x 20 |
| Social | social x 25 |
| Rivalry | (1.0 - tradition) x 15 |
| Beauty | (structure + tradition) x 10 |
| Solitude | (1.0 - social) x 25 |
See Inspiration for full details.
Source: src/sim/components.rs, InspirationEquilibrium::from_aesthetic
Drift Mechanics
Aesthetic positions are not static. Three independent drift mechanisms slowly reshape the cultural landscape of the settlement.
Friend Drift
When two friends (relationship strength >= 50) are within 3 Manhattan tiles of each other, their aesthetics converge. This runs once per game day.
Rate: 0.01 per axis per day
The drift direction is the sign of the difference: if a friend's structure is higher, the elf's structure increases by 0.01 (and vice versa). All four axes drift independently.
Only friends within 3 tiles are affected. Distant friends do not drift.
Source: src/sim/systems.rs, FRIEND_DRIFT_RATE = 0.01,
aesthetic_friend_drift_system
Audience Drift (Revel)
When an elf hears a composition performed at a Revel, their aesthetic position drifts toward the composition's aesthetic snapshot (captured at creation time).
Rate: 0.005 per axis per composition heard
This is applied once per composition performed, for every audience member. A revel with 5 performances means up to 5 drift applications per attendee.
Source: src/sim/systems.rs, AUDIENCE_DRIFT_RATE = 0.005,
apply_audience_aesthetic_drift
School Drift
Composers who have received 3 or more Love reactions at revels become aesthetic "schools" -- cultural attractors. Non-friend elves within 5 Manhattan tiles of a school composer drift toward that school's aesthetic.
Rate: 0.008 per axis per day
Unlike friend drift which pulls toward the friend's exact position, school drift pulls toward the direction of the school's aesthetic relative to the center (0.5). If a school composer has structure=0.9, nearby non-friends drift in the positive structure direction.
Friends are excluded from school drift because friend drift already handles them.
| Drift Type | Rate/axis/day | Range | Trigger | Frequency |
|---|---|---|---|---|
| Friend | 0.01 | 3 tiles | Friendship (str >= 50) | Once per day |
| Audience | 0.005 | Revel attendance | Each composition heard | Per performance |
| School | 0.008 | 5 tiles | 3+ Love reactions | Once per day |
Source: src/sim/systems.rs, SCHOOL_DRIFT_RATE = 0.008, SCHOOL_THRESHOLD = 3,
aesthetic_school_drift_system
Composition Aesthetic Shift
When a composition is created, its aesthetic snapshot is not identical to the composer's position. Small shifts are applied based on inspiration balance:
| Axis | Shift |
|---|---|
| Structure | +(solitude - social) x 0.001 |
| Tradition | -(originality / 100) x 0.3 |
| Emotion | +(emotional / 100) x 0.2 |
| Social | +(social - solitude) x 0.001 |
This means highly original works drift the composition's tradition axis downward, and highly emotional works drift the emotion axis upward. These shifted values are what audiences drift toward during revels.
Source: src/sim/systems.rs, composition aesthetic drift logic
Interactions
- Compositions -- Genre family, quality weights, and composition aesthetic all derive from position
- Inspiration -- Equilibrium values are computed from aesthetic position
- Revels -- Audience reactions depend on aesthetic distance; attendance causes drift
- Relationships -- Friends within 3 tiles cause mutual aesthetic convergence
- Satisfaction & Departure -- Elves far from the settlement's aesthetic center feel alienated
Tips
- Friend drift is the strongest per-axis rate (0.01/day), but only activates at close range. Housing friends near each other accelerates cultural convergence.
- School drift creates emergent "movements." A legendary composer surrounded by followers will gradually pull nearby elves toward their taste, creating a coherent artistic identity in that area.
- Audience drift at revels is the main mechanism for settlement-wide cultural coherence. Regular revels with compositions from varied composers spread aesthetic influence broadly.
- An elf's genre tendency is almost entirely determined by their tradition axis. If you want more Radical compositions, cultivate low-tradition elves by exposing them to innovative works at revels.
- The composition aesthetic shift means that a purely traditional elf who writes a highly original piece will produce a composition that actually nudges audiences away from tradition. Art has a life of its own.
- The maximum aesthetic distance of 2.0 is useful context: two elves at 1.5+ distance are aesthetically alien to each other and will react very differently to the same composition.