Compositions

Overview

Compositions are the primary creative output of an elven settlement. When an elf with the Composer role (or any elf choosing to compose) finishes a composing task, the simulation generates a unique musical work with a procedurally generated name, title, description, quality scores, and special properties. Compositions are permanent artifacts stored in the settlement's portfolio and performed at Revels.

Every composition encodes the emotional and aesthetic state of its creator at the moment of creation. Two compositions by the same elf in different moods will sound completely different.


How It Works

Composing Duration

The time to compose is determined by music skill. Higher skill means faster work, but there is a floor of 30 ticks:

Duration = max(50 - skill x 2, 30) ticks

Music SkillCompose Time (ticks)
148
540
834
1030

Source: src/sim/art.rs, compose_duration

Genre Families

Every composition belongs to one of three genre families, selected based on the composer's Aesthetic Position and Inspiration.

GenreDescriptionSelection Bias
TraditionalClassical forms, familiar structuresHigh tradition axis
RadicalAvant-garde, experimentalLow tradition axis
PastoralNature-inspired, ambientHigh Nature inspiration (>40)

Base selection formula:

  • p_radical = max((1.0 - tradition - 0.5) x 1.5, 0.0) -- Radical probability rises as tradition falls
  • p_nature = 0.6 if Nature is the dominant inspiration source AND nature > 40, otherwise 0.1
  • p_traditional = max(1.0 - p_radical - p_nature, 0.0)
  • All three are normalized, then a weighted random roll selects the genre

There is an 8% "cross-genre surprise" chance that ignores all the above and picks a random genre (roughly once per 20-day session).

Seasonal bias further adjusts probabilities:

SeasonBias
WinterPastoral +20%
SummerRadical +20%
SpringTraditional +10%
AutumnNo bias (most varied season)

Source: src/sim/art.rs, select_genre_seasonal

Base Types (Skill Tiers)

Within each genre, the composer's music skill determines which tier of base type is available. There are 4 tiers per genre (12 total):

SkillTierTraditionalRadicalPastoral
0-3ApprenticeLullaby, Hymn, Folk Song, Ditty, Canticle, AirChant Riff, Drum Circle, Voice Loop, Spoken WordBirdsong, Creek Melody, Windchime, Leaf Rustle
4-6JourneymanBallad, Rondo, Serenade, Nocturne, Madrigal, MinuetBlues Lament, Groove, Free Verse, SyncopationStorm Song, Forest Waltz, River Suite, Dawn Chorus
7-9MasterSonata, Concerto, Rhapsody, Aubade, Fantasia, ElegyJazz Standard, Rock Anthem, Beat Poem, FusionThunder Concerto, Tide Rhapsody, Season Cycle
10+GrandmasterRequiem, Symphony, Magnum Opus, OratorioNoise Symphony, Rap Epic, Punk Requiem, Ambient OpusWorld Song, Elements Symphony, Celestial Harmony, Earthsong, Aurora Opus

Source: src/sim/art.rs, select_base_type


Values & Formulas

Quality Scores

Each composition has three quality dimensions scored 0-100:

DimensionDriverFormula
MasteryMusic skillskill x 10 + random(-5..+5), clamped 0-100
OriginalityInspiration totalinspiration_total x 0.6 + random(0..20), clamped 0-100
EmotionalNet moodmood x 0.5 + 30 + random(0..10), clamped 0-100

Average quality = (mastery + originality + emotional) / 3

Average QualityTier Label
90-100Transcendent
70-89Masterful
50-69Skilled
25-49Modest
0-24Crude

Elegy bonus: Compositions created while an elf is mourning a departed friend receive +15 to the emotional score.

Source: src/sim/art.rs, compute_quality; src/sim/components.rs, quality_avg, quality_tier

Composition Properties

Properties are special tags earned from extreme creation conditions. Each composition can have at most 2 properties.

Condition properties (checked in order):

PropertyCondition
CatharticComposer has an active creative block
TranscendentTotal inspiration > 90
DebutFirst composition ever (empty portfolio)
Magnum OpusSkill 10 AND inspiration > 90 AND mood > 50 (once per lifetime)
MasterworkSkill >= 10 (if Magnum Opus not triggered)
ElegyComposed while mourning a departed friend

Compound inspiration properties (require two channels both > 30):

PropertyChannels Required
ManifestoRivalry > 30 AND Social > 30
ObsessiveRivalry > 30 AND Solitude > 30
CommunalNature > 30 AND Social > 30
TimelessNature > 30 AND Solitude > 30
VirtuosicBeauty > 30 AND Rivalry > 30
SublimeBeauty > 30 AND Solitude > 30
BittersweetSocial > 30 AND Solitude > 30
EnchantedNature > 30 AND Beauty > 30
AnthemSocial > 30 AND Beauty > 30

Source: src/sim/systems.rs, lines 918-964; src/sim/components.rs, CompositionProperty

Creative Block

Three or more consecutive compositions with average quality below 50 give a 30% chance of triggering a creative block. Duration is 100 to 200 ticks (random). During a block, the elf refuses to compose and seeks a Garden instead.

Source: src/sim/systems.rs, ConsecutiveMediocre, creative block trigger logic


Name Generation

Composition names follow the structure "{Prefix} {Base Type} {Suffix}".

Prefix is selected from mood tier pools, with two override conditions checked first:

ConditionPoolExamples
Night AND mood < -10HauntedHaunted, Spectral, Moonlit, Shadow-woven
Inspiration > 70 AND mood < 0FierceFierce, Defiant, Tempestuous, Raw
Mood <= -41DevastatedShattered, Grieving, Tormented
Mood -40 to -21SadMelancholic, Mournful, Desolate
Mood -20 to +10ReflectiveContemplative, Wistful, Pensive
Mood +11 to +40ContentSerene, Gentle, Tender
Mood +41 to +70HappyJoyful, Radiant, Exuberant
Mood > +70EuphoricEcstatic, Triumphant, Blazing

Suffix comes from the dominant inspiration source:

SourceExample Suffixes
Nature"of the Silver Wood", "of Falling Rain"
Social"of Fellowship", "of the Long Table"
Rivalry"of the Challenge", "of Defiance"
Beauty"of the Master's Touch", "of Perfect Form"
Solitude"of Midnight", "of the Lonely Peak"

Title Generation

In addition to the composition name, each work gets a short and long title pair. The short title is drawn from a pool matching the dominant inspiration source (e.g., "Still Water", "The Argument"). The long title appends a mood modifier (e.g., "Still Water, in the Rain").

Source: src/sim/art.rs, generate_name, generate_title


Interactions

  • Inspiration -- Originality score and compound properties depend on inspiration channels
  • Aesthetic Position -- Determines genre family selection and composition aesthetic snapshot
  • Revels -- Compositions are performed at revels where audience reactions are computed
  • Needs & Mood -- Mood drives the emotional score and name prefix selection
  • Skills -- Music skill determines mastery score, base type tier, and compose duration
  • Artistic Direction -- Patron direction influences which elves the curator assigns as Composers

Tips

  • A skill-10 elf with high inspiration and good mood can produce a Magnum Opus -- the rarest property in the game. Protect your best musicians from mood crashes.
  • Creative blocks are not purely bad: composing during a block earns the Cathartic property, which is otherwise unobtainable.
  • Seasonal genre bias means Winter is the best time for Pastoral works and Summer for Radical. Plan revel timing accordingly.
  • The 8% cross-genre surprise means even a deeply traditional elf occasionally writes something radical. This is intentional and can spark interesting audience reactions.
  • Compositions with the Elegy property are only possible when an elf is mourning -- these tend to have very high emotional scores due to the +15 bonus.