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 four independent mechanisms -- friendship proximity, revel audience exposure, school influence, and apprenticeship bonds -- creating emergent cultural movements without any scripting. See Drift Mechanics below for how they combine.
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. Four independent drift mechanisms slowly reshape the cultural landscape of the settlement: friend proximity, revel audience exposure, school influence from successful composers, and apprenticeship. Together they are the engine of emergent cultural movements -- no scripting, no designer-placed factions, just small daily nudges that accumulate into settlement-wide artistic identity.
How Drift Direction Works
All four drift systems use signum-based drift: the direction is determined by the sign of the difference, but the magnitude is a fixed step. This means a friend whose tradition is 0.51 (when yours is 0.49) pulls you the same 0.01 as a friend whose tradition is 0.99.
This is a ratchet, not a spring. Distance doesn't amplify drift -- only existence of a difference does. Two consequences players should note:
- Alignment converges slowly, then stops. Once your axis matches a friend's sign-side of theirs, drift continues but by only one step; when you cross to the same side, oscillation can happen at the boundary.
- Extreme taste doesn't pull harder. A radical elf with tradition=0.0 does not exert more force on their friends than a moderately-innovative elf with tradition=0.3 -- the pull is identical, just slower to saturate.
Audience drift (per performance) and apprenticeship drift (toward master) follow the same rule. School drift is the one exception: it pulls toward the sign of the school composer's deviation from 0.5, not toward the composer's exact position.
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: crates/er-sim/src/sim/systems/aesthetics.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, see Composition Aesthetic Shift below).
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. Because audience drift fires per performance (not per day), a single well-attended revel can out-weigh a full day of friend drift: 5 performances × 0.005 = 0.025, versus the daily friend cap of 0.01.
Source: crates/er-sim/src/sim/systems/aesthetics.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 by 0.008 per day. If the composer has structure=0.2, nearby non-friends drift in the negative structure direction.
Friends are excluded from school drift because friend drift already handles them.
⚠ Terminology note: The code refers to these composers as "legendary" composers, and
SchoolFormedevents use that language. This is not the same as the Legendary prestige tier (score 81+). A "school composer" needs only 3 Love reactions ever -- a very low bar that most active composers cross in their first few revels. The Legendary prestige tier is a far higher achievement. Both systems exist; they are not linked.
Source: crates/er-sim/src/sim/systems/aesthetics.rs, SCHOOL_DRIFT_RATE = 0.008, SCHOOL_THRESHOLD = 3,
aesthetic_school_drift_system
Apprenticeship Drift
When an elf is in an active apprenticeship bond, they drift toward their master's aesthetic position daily -- provided they remain within 5 Manhattan tiles of the master.
Rate: 0.02 per axis per day (2x the friend rate)
This is the strongest drift in the system. A full season of apprenticeship can
shift a student's aesthetic by up to 0.02 × days, enough to move a radical
apprentice meaningfully toward their traditional master's values or vice versa.
The drift persists after the bond resolves -- imprint, not transient influence.
Apprenticeship drift stacks with friend drift: if the apprentice is also a friend of their master (strength >= 50) and within 3 tiles, both systems apply, producing daily drift of up to 0.03 per axis.
See Apprenticeship for the full apprenticeship system. The drift logic lives alongside other drift systems for co-location.
Source: crates/er-sim/src/sim/systems/aesthetics.rs, APPRENTICE_DRIFT_RATE = 0.02,
apprenticeship_aesthetic_drift_system.
Drift Rate Summary
| Drift Type | Rate/axis | Range | Trigger | Frequency |
|---|---|---|---|---|
| Friend | 0.01 | 3 tiles | Friendship (strength >= 50) | Once per day |
| Audience | 0.005 | Revel attendance | Each composition heard | Per performance |
| School | 0.008 | 5 tiles | Composer with 3+ Love reactions (non-friends only) | Once per day |
| Apprenticeship | 0.02 | 5 tiles | Active apprentice-master bond | Once per day |
Drift Interactions
Multiple drifts can apply to the same elf on the same day. The rules:
- Friend and school drift are mutually exclusive toward a given composer. School drift only affects non-friends; friends of a school composer get friend drift toward that composer's exact position, not school drift toward their axis direction.
- Apprenticeship and friend drift stack if the apprentice is both a friend and within range of their master.
- Audience drift always stacks with any daily drift -- it runs during revels regardless of what else the elf has going on.
- Multiple friends or schools stack. An elf with three nearby friends gets three friend-drift applications per axis per day (one per friend, using each friend's direction). An elf within range of two schools gets two school-drift applications.
This means a well-integrated elf -- friends nearby, revels frequent, perhaps an apprentice -- can accumulate substantially more drift per day than a reclusive one. Social integration literally shapes taste faster.
Worked Example
Consider Tamsin, an apprentice with two close friends, near one school composer (but not a friend of that composer), who attends a revel with 4 performances one evening. Her daily drift budget for the tradition axis, if every system moves her the same direction:
| Source | Applications | Contribution |
|---|---|---|
| Master (apprenticeship) | 1 | 0.02 |
| Friend A (tradition higher) | 1 | 0.01 |
| Friend B (tradition higher) | 1 | 0.01 |
| School composer (not a friend) | 1 | 0.008 (direction only) |
| Revel with 4 performances | 4 | 4 × 0.005 = 0.02 |
| Daily total (one axis) | ~0.068 |
Tamsin's tradition axis can shift by nearly 7% in one busy day. Over a 20-day season without contradiction, that's a full point on the [0.0, 1.0] scale -- from fully innovative to fully traditional.
A reclusive elf with no friends, no master, not near a school, who doesn't attend the revel: zero drift that day. Aesthetic identity is a social phenomenon in this system; hermits keep whatever aesthetic they started with.
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: crates/er-sim/src/sim/systems/compose.rs, composition aesthetic drift logic in compose_system
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
- Apprenticeship -- Apprentices drift toward their master at 2x friend rate
- Prestige -- The "Legendary" prestige tier is distinct from the "school composer" threshold of 3 Love reactions
- Satisfaction & Departure -- Elves far from the settlement's aesthetic center feel alienated
Tips
- Apprenticeship drift is the strongest single source at 0.02/axis/day -- if you want to shift a specific elf's aesthetic deliberately, pair them with a master whose taste you want them to inherit.
- Friend drift (0.01/day) only activates at close range. Housing friends near each other accelerates cultural convergence. Distant friendships have zero aesthetic pull.
- School drift creates emergent "movements." A composer with 3+ Love reactions (the school threshold -- note this is much lower than the Legendary prestige tier) surrounded by non-friend neighbours will gradually pull those neighbours toward their taste direction, 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. A single 5-performance revel can move an attendee more than a full day of friend drift.
- Drift is a ratchet, not a spring. Taste difference magnitude doesn't amplify the pull -- only presence of difference does. Cultivating radical elves requires many exposures, not fewer-but-more-extreme ones.
- 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.
- Hermits keep their starting aesthetic. An elf with no nearby friends, no master, not near a school, who avoids revels, will never drift. Most settlements don't produce hermits accidentally -- isolation has to be engineered or suffered through lifecycle events.
- 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.