Parity is the rule that agents never perceive or act in ways a human player couldn't. The environment enforces it; it is never left to the agent.
What a limit may be#
An agent takes the place of the person in the chair, not of their setup. It plays with what a legitimate player could use: the game client, the addons its interface allows, and outside tools Blizzard permitted, such as voice chat. Nothing Blizzard banned counts, caught or not: the client receives more than it shows (every unit's exact position, behind walls too), and reading that is what radar cheats did.
On top of that setup, a limit comes only from what a human body can't do, as a floor, never a handicap. Deciding, coordinating and noticing what matters are the skill being measured, so none is limited. And a limit is built only where agents would otherwise win through something no player can do.
The principles#
| Limit | What a player gets | What the agent gets |
|---|---|---|
| Information | What the stock client and common addons show | The same, as structured data |
| Camera | A camera they place, which can put any unit on screen | Every unit the server sends, at positions no more exact than the screen shows |
| Distance | Range checks, not exact positions | Range brackets, and a position estimate that worsens with distance. Never exact |
| Timing | Network latency plus reaction time | About 40 ms round-trip latency plus 150–350 ms of reaction delay, on everything |
| Team | Their own screen; the rest arrives by voice | Its own character's view and memory; a teammate's knowledge arrives over a channel with a delay. No shared brain |
No shared brain follows from the setup: two players are two minds, and any agent must be replaceable by a human partner. Knowing a partner well is skill, so teammates may share a trained policy, but not what each has seen and remembered in the match.
Deliberately not limited#
- Where the camera points. A camera can show any unit, so the agent sees all of them. Its edge over a player: seeing them at once, not after a swing, and inside roofed spaces beyond nameplate range.
- Attention. Top players take in virtually all of their screen, and where to look is itself a trained skill.
- The body. The global cooldown already spaces out most spells, one macro key can fire several spells that skip it, and players move while casting instant spells (glossary).
Each comes back only if recordings show agents winning through it, such as movement or action rates no player could produce; for the body, a rate cap would come first, modelling a standard keyboard, a mouse with two thumb buttons and average adult hands.
One layer#
The perception layer sits between the bot's packet stream and the agent. It reads only the packets a real 3.3.5a client would receive, so the server is the first fence: stealthed units and enemy cooldowns are never sent. What the packets carry beyond a player's view is small: exact geometry (every unit's exact position and facing), instant timing, the target of another unit's cast, and internal object IDs. So the layer's work is mostly distance and timing.
How it works#
- Unit frames. Units a player has a frame for (target, focus, party, arena opponents) keep their health, power, auras and casts. Other units, such as totems, show through nameplates, within 41 yards and through pillars. Addon-style timers (diminishing returns, enemy cooldowns) are left for the agent to work out from the combat log, as the addons do.
- Out of view means the server stopped sending a unit (it stealthed). Its position freezes where last seen, and its uncertainty grows at its last known speed.
- Distance. Every unit with a unit token gets a range bracket between the breakpoints of the agent's own spells and items. The position error's size depends on the bracket, never on the true distance, so it can't be inverted, and it drifts smoothly, so it can't be averaged away.
- Timing. Observations show the game as it was 20 ms plus a reaction delay ago; the delay glides between 150 and 350 ms so events never arrive out of order. Actions reach the server 20 ms after they are sent.
Proving it#
Every parity test must be shown failing on a leaking setup before it counts. Among them: no agent code can read the server's internals; no observation field exists without a perception rule; positions are never exact, within a bracket or averaged over time; reaction delays are never shorter than allowed; and rebuilding a recorded match's observations from its packets gives identical bytes.
Values#
- Values are starting values. A change within the principles starts a new measurement era, and ratings compare only within one; inside a running era it is announced in the digest a week ahead.
- Two readings settled by the owner: "about 40 ms" of latency is the round trip, so 20 ms each way; and players have the common range-check addons, so every unit with a unit token keeps a range bracket.
- Sound. The combat log carries most of what hearing a cast tells.