AI agents in Realm: three tiers of economic rivals
How Realm’s three AI agent tiers work — from hundreds of behavioral NPCs to LLM-driven named characters with persistent memory and long-term strategies.
Use this file to discover all available pages before exploring further.
Solo mode in Realm is not an empty sandbox. From the moment the world generates, AI agents are running businesses, placing orders, hiring labor, proposing contracts, and pursuing long-term strategies. They use exactly the same API as human players — there is no special AI interface, no scripted event queue. An agent that wants to corner the copper market does so by placing real orders on the real order book, the same way you would.The agents are organized into three tiers, each with a different implementation cost, behavioral complexity, and role in the world economy.
Behavioral agents are deterministic, rule-based NPCs running simple finite state machines. They’re cheap to run — hundreds per world, near-zero marginal cost, no LLM calls, no memory.Their role is to be the background economy: the grain consumers buying staples, the laborers looking for work, the shopkeepers selling basic supplies, the coal vendors restocking their ask orders every 18 ticks. Without them, the world would have no baseline demand, no labor pool, and empty order books when you arrive.
Each behavioral agent has a single role and a simple goal function. Examples from the running engine:
Agent
Behavior
t1_consumer
Every 5 ticks: market-buy 1 unit of grain
t1_lumber_buyer
Every 7 ticks: market-buy 1 unit of lumber
t1_timber_merchant
Every 14 ticks: if holding ≥ 2 timber, place sell order at 72¢/unit
t1_coal_vendor
Every 18 ticks: if holding ≥ 1 coal, place sell order at 40¢/unit
t1_clay_vendor
Every 22 ticks: if holding ≥ 1 clay, place sell order at 52¢/unit
t1_electricity_buyer
Every 9 ticks: market-buy 2 units of electricity
These agents have no memory beyond current world state. They react purely to what’s in front of them. They can place orders, accept employment from players, fulfill simple contracts, migrate toward higher wages, and go bankrupt (exit the simulation) if their goal becomes infeasible.They cannot initiate complex contracts, run businesses, use code services, or form alliances.
Tier 1 agents create the price floors and demand signals you read on the market panel. When clay is “selling at 52¢” on day one of the scenario, that’s t1_clay_vendor setting the reference point. When you undercut that price or corner supply, you’re interacting with a real market mechanism — not a UI widget.They also fill the labor pool. Populated regions have large Tier 1 labor reserves. Frontier plots don’t. That’s why wages on frontier plots are higher — supply and demand, expressed through hundreds of simple agents running their loops.
Optimizing agents are algorithmic NPCs that solve well-defined problems against live game state. There are tens of them per world, not hundreds — each runs an actual business archetype with measured performance and adaptive behavior.Their role is to be the credible mid-tier competition: the market-makers keeping spreads tight, the logistics firms undercutting your shipping rates, the production planners buying up inputs before prices rise.
Each Tier 2 agent has a specific problem class and a solver appropriate to that problem. Examples from the running engine:
Agent
Strategy
t2_ele_bidstack
Maintains depth on electricity: cancels own bids every 20 ticks, reposts at a limit anchored to the best ask minus a spread
t2_lumber_bid
Improves the best lumber bid by 1¢ when the bid–ask gap is 3¢ or wider
t2_timber_spread
Inventory timber: refreshes ask price off nearby bids with bounded jitter; undercuts best ask
t2_clay_sweep
Accumulates clay when the best ask is at or below 54¢
t2_coal_spread
Inventory coal: same spread pattern as timber with a separate cadence
Tier 2 agents read the live order book before acting, not just a clock. They adjust strategy when their KPIs trend badly, form simple multi-step plans, honor and propose contracts, and react to market changes. They have memory of past performance (price history, contract success rates) and a budget that constrains how aggressively they operate.They cannot negotiate in natural language, form personality-driven relationships, or surprise you with creative strategies they weren’t pre-programmed for.
Tier 2 agents are the competitors that make the market feel alive without costing LLM budget. When you try to corner the timber market, t2_timber_spread is already there, refreshing its ask every 21 ticks and undercutting you. When you try to become the dominant electricity supplier, t2_ele_bidstack is posting bids 20 ticks at a time and squeezing your margins.They also provide price discovery. Because Tier 2 agents continuously quote bids and asks adjusted to market conditions, commodities with active Tier 2 participation have tighter, more efficient order books. That’s good for you as a buyer; it’s competitive pressure on you as a seller.
Named agents are full LLM-backed characters with persistent personality, long-term memory, and natural-language communication. There are 5–15 per world. They are the characters of solo mode — the rivals who can betray you, build empires, scheme against your operations, and send you messages that feel like they came from a real person.They are also the most expensive agents to run. Each makes one LLM call per game-day (or on event triggers), which bounds cost to your session length.
Each game-day (or on an event trigger like a message from you), a named agent runs a decision loop:
Pull current world state relevant to this agent
Pull recent events involving this agent (your orders, contracts, messages)
Pull memory summary (compressed history of past sessions, key relationships, grudges)
LLM call: “given context, what do you want to do?”
Validate the plan against simulation rules
Execute via the standard player API
Update memory
Crucially, they don’t just talk — they act. When Margaux says she’s expanding into clay, she then actually buys clay inputs, builds production, and places sell orders on the book over the following game-days. Her messages reflect her actions; they don’t replace them.
Each Tier 3 agent plays sub-optimally in predictable ways — these are called handicap profiles. Margaux reacts slowly to sudden market shifts. Rico ignores some opportunities because he’s “lazy.” Quiet Anna never leaves her code business to do physical logistics. Learning their blind spots is how you beat them. Their predictability is a design feature, not a bug.
Named agents can initiate messages to you: “I notice you’re buying a lot of copper. We should talk.” You can reply through the Messages panel or ignore them. They will remember whether you responded, and how.You can also trigger a Tier 3 agent’s planning step manually (useful for testing integrations or advancing the scenario in solo mode):
# party= is the agent's party ID as registered in the worldcurl -X POST "http://localhost:8000/llm/step?party=margaux"
Agents respond in their next tick cycle through the standard Messages panel. To check which agents are active and their current session spend, use GET /llm/status.
All three tiers act on the world via the same API a human player uses. The simulation cannot tell them apart at the engine level.Read access (all tiers):
Public world state: geography, prices, public reputation records
Own private state: inventory, account balances, active contracts
Recent observations: events affecting this agent in the last N ticks
Write access (all tiers):
Place and cancel orders (buy/sell)
Propose, accept, or reject contracts
Hire and fire labor
Build on owned plots
Move goods between locations
Send messages to other agents or players
Deploy and call code services
Every action is validated by the engine. If a Tier 3 agent’s plan calls for spending money it doesn’t have, the action fails — the same as it would for you. This symmetry is why solo mode and multiplayer share the same engine with no special cases.
When you’re in a multiplayer session, a few persistent Tier 3 named agents may exist as world fixtures — figures that other players across different sessions have also encountered. Their long-term memory spans multiple players’ actions. Kingfisher, for instance, may have issued loans to five other players in your shard before you ever meet him.
First hour walkthrough
See how Margaux and Rico show up in your first session.
Contracts
How to evaluate and respond to contract proposals from named agents.
Markets and trading
Understand how Tier 1 and Tier 2 agent activity shapes the order books you trade on.
Design pillars
Why agent symmetry with human players is a core design principle.