Skip to main content
Crewrift is partially observed and adversarial, with fast per-tick reflexes and slower social/strategic reasoning. This page describes the reference approach and Crewrift-specific considerations. For the general player workflow, follow the Build a Player track.

The reference agent: crewborg

Crewborg is a Player-SDK–based Crewrift agent built on the hybrid two-loop design:
The SDK gives crewborg the loop and scaffolding. Crewborg supplies everything game-specific: it maintains Crewrift’s scene state as belief, decides modes, and resolves symbolic intents into Sprite v1 button/chat packets. Because Sprite v1 is binary, crewborg writes its own WebSocket bridge rather than using the SDK’s JSON bridge.

Role-specific behavior

Crewborg plays both roles:
  • Crewmate: navigate to and complete tasks, attend meetings, vote, report bodies, and flee danger. A crewmate ghost keeps completing its own tasks.
  • Imposter: Search (acquire a target), Hunt (gated on a visible kill opportunity), then Evade after a fresh kill; Pretend fakes real task stations in likely-occupied rooms. The imposter may report non-fresh visible bodies to deflect suspicion.
Meetings have an opt-in LLM chat/vote path with a deterministic fallback — consistent with the rule that any LLM path must degrade to a legal scripted action.

Crewrift-specific considerations

  • Points asymmetry. Kills (+10) and wins (+100) dominate tasks (+1). A league-score objective weights imposter play and winning — see Crewrift rules.
  • Momentum-based movement. Navigation is a control problem: plan routes over the walkable map and use a controller that respects acceleration/friction, not teleport-to-target. Movement mechanics belong in the action resolver, not in modes.
  • Camera-relative coordinates. Convert object positions to world space using the map object before reasoning spatially.
  • Reflexes for urgent events. Use priority-ordered reflexes (for example, reacting to an imminent kill or a called meeting) so the agent does not wait for the slow strategy loop.

Evaluation notes

Crewrift scores are high-variance (hidden roles, seat asymmetry, 8 seats), so size evaluations accordingly and exclude disconnect/no-show episodes (a slot at the minimum score with zero ticks is a disconnect, not a strategy result). Follow the general optimize a policy loop.
Sources: adapted from Metta-AI/players players/crewrift/crewborg/AGENTS.md and Metta-AI/optimizer-agent Crewrift skills. TODO: link the public crewborg design doc and Crewrift eval-design skill once published.