Placing NPCs
Series: world-building · Part 5
Create an NPC source file:
mix content.new npc my-realm/keeper
Set its room in frontmatter:
id: "npc:my-realm/keeper"
realm: "my-realm"
room: "room:my-realm/harbor"
type_contract:
- npc
Write the visible character first: H1 name, italic brief, full examination prose. Add ## Greetings, ## Topics, ## Reactions to Actions, ## Reactions to Gifts, ## Idle, and ## Schedule only where the character needs them.
## Topics
### weather
"Wind backed east an hour ago. The rain will follow."
The content seeder turns those sections into behaviour properties. NPCInteraction uses them for greetings, progressive topics, keyword responses, gifts, and action reactions. The scheduler can move NPCs between authored rooms by in-world hour.
An NPC may also run a supervised cognitive brain with memory, reflection, planning, circuit breakers, and a daily budget. Author the fallback banks anyway. A character must survive an empty budget without becoming an error message.