Vixen
c7401864
csharp
public interface IAgentGovernor

Decides which agents may think this tick.

Read the guide page for this →

Remarks

Behaviour-tree steps are cheap and utility scoring is bounded, but neither is free, and a thousand agents doing both every frame is a frame nobody gets back. The governor is the one place that decides who is worth it, and it sits above all three planners because doc 37 § D2 made the agent one shape.

⚠ Plan must be a pure function of its arguments. An amortised scheduler is time-dependent by construction, which is a real hole in determinism — so the hole is bounded by making the schedule reproducible: given the same tick and the same population, every machine picks the same agents. Not arrival order, not a queue, not a priority sort on a float. docs/plan/37 § D18 states this rather than leaving it to be discovered as a desync six months in, and AgentGovernorTests asserts it.

Methods (1)

  • AgentSchedule Plan(long tick, int population)

    Works out this tick's window.

Used by (6)

  • AiSchedulingTestsVixen.Ai.Tests
  • AiSystemVixen.Ai
  • AiSystemTestsVixen.Ai.Tests
  • RoundRobinGovernorVixen.Ai
  • SeamTestsVixen.Ai.Nodes.Tests
  • UnboundedGovernorVixen.Ai