Dummy Curator (Rule-Based Fallback)
Overview
The DummyCurator is the settlement's rule-based cultural advisor. It runs on every platform (including WASM/browser), requires no external tools, and handles the essential decisions for a functioning settlement: role assignment, resource priorities, building construction, revel scheduling, and patron-directed composer promotion.
It also serves as the fallback for the LLM Curator -- whenever the LLM is unavailable, over budget, or between consultations, the dummy curator's logic runs instead.
How It Works
Consultation Cadence
The dummy curator runs once per game day, at day boundaries. A game day is 100 ticks (DAY_LENGTH = 100). The check is:
current_day = tick / 100
prev_day = (tick - 1) / 100
consult if current_day != prev_day
At the start of each consultation, the cleared_today flag resets to false, allowing one forest clearing per day.
Internal State
| Field | Type | Purpose |
|---|---|---|
bootstrapped | bool | Whether initial role assignment has run (once per game) |
clearings_since_garden | u32 | Forest tiles cleared since the last garden was built; triggers garden construction at 2 |
cleared_today | bool | Limits forest clearing to one per consultation (reset each day) |
Player Messages
When consult_with_message is called, the dummy curator runs its normal decision tree and appends a Message command acknowledging the input:
Understood, I'll consider your input: "..."
It does not actually modify its behavior based on the message -- that is an LLM Curator capability.
Decision Tree
Each consultation runs three phases in order: bootstrap roles, resource priority, and building queue (which also handles revel scheduling and composer promotion).
Phase 1: Bootstrap Roles
Runs once on the first consultation (bootstrapped == false). Assigns every elf a starting role based on gathering skill.
Algorithm:
- Query all elves with their
gatheringskill value. - Sort by gathering skill, descending (best gatherer first).
- Assign roles by index:
| Index | Role | Rationale |
|---|---|---|
| 0 (best gatherer) | Gatherer | Most efficient food/resource collector |
| 1-2 | Builder | Construction workforce |
| 3+ | Gatherer | Remaining elves gather resources |
With the default 8 starting elves, you get: 1 top Gatherer, 2 Builders, 5 additional Gatherers.
Phase 2: Resource Priority
Runs every consultation. Sets the settlement's gathering priority order based on food levels.
| Condition | Priority Order |
|---|---|
| Food < 20 | Food > Wood > Stone |
| Food >= 20 | Wood > Stone > Food |
The priority is always emitted, but only generates a PriorityShifted event if the new order differs from the current one.
Phase 3: Building Queue + Revel + Composer
The most complex phase. Skips entirely if the build queue already has a pending building. Otherwise, evaluates in order:
Spirit Management (Garden After Clearings)
Condition: clearings_since_garden >= 2 AND wood >= 5
Queues a Garden and resets clearings_since_garden to 0. This takes absolute priority over all other building decisions -- clearing forest angers the forest spirit, and gardens appease it.
Building Priority Order
If spirit management did not trigger, buildings are evaluated in this fixed order:
| Priority | Building | Condition | Purpose |
|---|---|---|---|
| 1 | Dwelling | dwelling_count < 3 AND wood >= 10 | Elf rest and shelter |
| 2 | Garden | garden_count == 0 AND wood >= 5 | Spirit appeasement |
| 3 | Workshop | workshop_count == 0 AND wood >= 10 AND stone >= 10 | Enables composing |
| 4 | FeastHall | feast_hall_count == 0 AND wood >= 15 AND stone >= 5 | Enables revels |
Only one building is queued per consultation. The first matching condition wins.
Revel Scheduling
Evaluated after building decisions. All five conditions must be true:
| Condition | Check |
|---|---|
| No revel active | revel_state == RevelState::None |
| Feast hall exists | At least one FeastHall building |
| Compositions exist | world.compositions is non-empty |
| Enough elves available | At least 5 elves without CreativeBlock |
| Sufficient food | Food >= 5 normally; food >= 15 in Winter |
| Cooldown elapsed | Either first revel ever (last_revel_tick == 0) or at least 400 ticks since last revel |
The winter food threshold (15 vs 5) is the dummy curator's only climate-aware rule. The 400-tick cooldown is equivalent to 4 game days.
Patron-Directed Composer Promotion
Evaluated last, only after bootstrap. When the patron's ArtisticDirection is anything other than Balanced (FavorMastery, FavorOriginality, or FavorEmotion):
- Find the elf with the highest
musicskill. - If no elf currently holds the
Composerrole, assign the best musician asComposer. - If someone is already
Composer, skip (does not re-evaluate).
This ensures non-Balanced artistic directions produce compositions aligned with the patron's taste.
Values & Formulas
Resource Thresholds
| Resource | Threshold | Effect |
|---|---|---|
| Food | < 20 | Priority shifts to Food-first |
| Wood | >= 5 | Can build Garden |
| Wood | >= 10 | Can build Dwelling or Workshop |
| Wood | >= 15 | Can build FeastHall |
| Stone | >= 5 | Can build FeastHall |
| Stone | >= 10 | Can build Workshop |
Building Material Costs (Required to Queue)
| Building | Wood | Stone |
|---|---|---|
| Dwelling | 10 | -- |
| Garden | 5 | -- |
| Workshop | 10 | 10 |
| FeastHall | 15 | 5 |
Revel Preconditions
| Parameter | Value |
|---|---|
Minimum elves (no CreativeBlock) | 5 |
| Food (non-winter) | >= 5 |
| Food (winter) | >= 15 |
| Cooldown between revels | 400 ticks (4 days) |
| Required building | FeastHall |
| Required content | At least 1 composition |
Spirit Management
| Parameter | Value |
|---|---|
| Clearings before forced garden | 2 |
| Max clearings per consultation | 1 (cleared_today flag) |
Interactions
- How the Curator Works -- the overall curator architecture and command dispatch system.
- LLM Curator -- the Claude-backed advisor that uses the dummy curator as its fallback.
- Needs & Mood -- morale and satisfaction values that the dummy curator does not directly read (it uses resource thresholds instead).
Tips
- The dummy curator builds at most 3 Dwellings, 1 Garden (via priority order), 1 Workshop, and 1 FeastHall. Additional gardens come from the spirit management rule (every 2 forest clearings).
- It never reassigns roles after bootstrap. If you want role changes with the dummy curator, you need to switch to the LLM curator or restart.
- Winter is the most dangerous season for revels. The food threshold triples from 5 to 15. Make sure your gatherers have been stocking up through autumn.
- The dummy curator ignores player messages beyond acknowledging them. For actual message-responsive behavior, use the LLM Curator.
- The
clearings_since_gardencounter persists across days and is tracked via theon_forest_clearedcallback. Both directClearForestcommands and build-site clearings increment it. - With 8 starting elves and the bootstrap allocation (6 Gatherers, 2 Builders), the settlement usually accumulates enough wood for its first Dwelling within the first 2-3 days.