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.

AxisLow End (0.0)High End (1.0)
StructureFreedom (improvisation)Structure (formal composition)
TraditionInnovation (hunger for the new)Tradition (love of the familiar)
EmotionIntellect (provoke thought)Emotion (move the audience)
SocialPersonal (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:

WeightFormula
w_masterystructure 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_emotionalemotion 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 ValueGenre 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:

ChannelEquilibrium
Nature(1.0 - structure) x 20
Socialsocial 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 TypeRate/axis/dayRangeTriggerFrequency
Friend0.013 tilesFriendship (str >= 50)Once per day
Audience0.005Revel attendanceEach composition heardPer performance
School0.0085 tiles3+ Love reactionsOnce 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:

AxisShift
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.