Behaviors & Rules
Define how agents act and react in your world.
Rule Syntax
rule <name> {
name: "Display Name"
priority: <number>
select: { type: "<agent_type>", tags: [<tags>] }
when <condition>
do <action>(<params>)
}Priority
Higher priority rules execute first. Use priority to ensure important behaviors override others.
rule flee {
priority: 10 // High priority - runs first
when danger_nearby
do flee(speed: 5)
}
rule wander {
priority: 1 // Low priority - fallback behavior
when true
do wander(speed: 1)
}Built-in Actions
wander(speed, randomness)— Random movementmove_toward(target, speed)— Move to targetflee(target, speed)— Move away from targetrest(recovery)— Recover energywait()— Do nothingemit(event, data)— Emit an event
Selectors
Target specific agents with selectors:
// By type
select: { type: "visitor" }
// By tags
select: { tags: ["hungry"] }
// Both
select: { type: "visitor", tags: ["tourist"] }