The complete guide to multiplayer Arena mode: physics, scoring, game theory and commands.
For players, researchers and Custom Agent (Option C) developers.
PLAYER EDITION — ARENA MODE
📐
Board Quick Reference
VISUAL
Level 1 — 4×4 Grid
■ Type R — x+y is EVEN■ Type L — x+y is ODD↑ P1 starts Row 1 (South)↓ P2 starts Row 4 (North)← P3 starts Column 4 (East)→ P4 starts Column 1 (West)
Arena Levels
Level 1 → 4×4 (16 tiles)Level 2 → 6×6 (36 tiles)Level 3 → 8×8 (64 tiles)Level 4 → 10×10 (100 tiles)No obstacles in L1–L3.Level 4 (10×10): 4 obstacles at center.No entropy events in Arena.No ideal_moves metric in Arena.L4 center obstacles ensure96 tiles ÷ 4 players = 24 each.
Block / Island Concept
Rotating any gear in Block Arotates ALL gears in Block A.Block B is independent.MERGE: connect blocks toshare or sabotage rotation.
👥
Players, Roles & Starting Zones
ROLES
Each player starts from a different edge of the board and must move their mice to the opposite edge. All four players share the same board simultaneously.
🟣 P1 — South → North
Starts: Row 1 (y=1) — South edge.
Target: Row max-Y — North edge.
Forward direction: 0° (Up)
Exit: last row on North side. +10 pts.
🔴 P2 — North → South
Starts: Row max-Y — North edge.
Target: Row 1 (y=1) — South edge.
Forward direction: 180° (Down)
Exit: row 1 on South side. +10 pts.
🟢 P3 — East → West
Starts: Column max-X — East edge.
Target: Column 1 (x=1) — West edge.
Forward direction: 90° (Left)
Exit: column 1 on West side. +10 pts.
🟤 P4 — West → East
Starts: Column 1 (x=1) — West edge.
Target: Column max-X — East edge.
Forward direction: 270° (Right)
Exit: last column on East side. +10 pts.
⚠️ All board coordinates use the P1-centric convention: 0°=North, 90°=West, 180°=South, 270°=East. If you are P2, P3 or P4, mentally translate your forward direction accordingly.
1
Part 1: Game Physics
PHYSICS
Blocks and Independent Networks
This is the key difference between Solo and Arena. In Solo, all gears eventually form one connected network. In Arena, players can maintain isolated blocks — physically disconnected gear networks. Rotating a gear only propagates to gears in the same block.
Block Physics — Rotation propagation:
Rotating a gear propagates ONLY to physically adjacent gears.
Gears not touching the rotating block are NOT affected.
Within a block:
Same topology (R or R, L or L) → rotate in same direction.
Opposite topology (R vs L) → rotate in reverse direction.
-- Strategic implications --
ISOLATE: keep your block separate from opponents → safe, predictable.
MERGE: connect to opponent's block → you gain control of their gears.
SABOTAGE: rotate a merged block to push opponent mice backward.
-- Obstacles in Arena --
Levels 1–3: all tiles are valid gear positions.
Level 4 (10×10): 4 fixed obstacles at the center of the board.
→ 96 playable tiles, divisible by 4 players.
No [EVENT] entropy events occur in any Arena level.
Gear Types and Inventory
Type
Bases
Orientations
Initial Code
G1
1 Base
0°
B0222
G2
2 Opposite
0°, 180°
B0202
G3
3 "T" shape
90°, 180°, 270°
B2000
G4
4 Full Cross
0°, 90°, 180°, 270°
B0000
💡 Bxxxx Encoding: 4-digit code for orientations 0°/90°/180°/270°.
0 = base exists and is EMPTY |
1 = base occupied by a MOUSE |
2 = NO base at this orientation
Placement Rules and Game Phases
Placement conditions (strict):
1. First gear MUST be placed in your designated starting zone (see player roles above).
2. Subsequent gears MUST be adjacent to an existing gear in YOUR network.
3. Choose initial rotation 'b' BEFORE applying the ±90° turn.
4. Players take turns in rotation order: P1 → P2 → P3 → P4 → P1...
PHASE 1 — PLACEMENT (while inventory > 0):
ALL moves must place a gear.
Syntax: G<Type>@P<XY>(b=0...3)<Turn>
Example: G4@P12(b=2)-90
PHASE 2 — ROTATION (when inventory = 0):
Simple: G@P<XY><Turn>
Example: G@P22+90
Pre-Move: G@P<XY>:b=<N> ; G@P<XY><Turn>
Example: G@P13:b=1 ; G@P21+90
Turn direction:
+90° = Counter-Clockwise (Left)
-90° = Clockwise (Right)
⚠️ Your turn has a 10-minute hard limit. If no valid move is submitted in time, the server declares game over (TIMEOUT) for that player.
Mice Physics and Scoring
⚠️ CRITICAL TIMING RULE: Jumps occur IMMEDIATELY AFTER the turn, EXCEPT Entry Jumps (starting row), which occur BEFORE the turn.
-- Scoring (same points for all players; direction of "forward" differs) --
Forward jump (toward your exit): +10 pts
Backward jump (away from exit): -10 pts
Lateral jump: +5 pts
Board Exit (mouse rescued): +10 pts
-- No ideal_moves in Arena --
There is no efficiency bonus based on move count.
Final score = Σ raw_points per mouse rescued.
Arena efficiency = Score × (Rescued / Total_mice)
-- Conflict Resolution --
Two mice CAN jump simultaneously to the same gear
if they land on DIFFERENT bases.
This applies across players — opponent mice can land
on your gear bases (and vice versa).
-- Entry Jump (Starting Row) --
1. Gear placed with initial rotation 'b'.
2. CHECK: empty base pointing toward the board interior (180° for P1)?
3. IF YES → mouse enters IMMEDIATELY (0 pts).
4. AFTER entry → turn (±90°) is applied.
2
Part 2: Reading the Board State
BOARD READING
In Arena, the board state contains mice and gears from all players simultaneously. Each mouse is tagged with its owner. Use owner and status to distinguish your mice from opponents'.
Board Encoding — How to read a tile
-- Tile formats (identical to Solo) --"P13": "P13R"→ Empty tile, Type R"P32": "G3P32L3B2001"→ Gear on tile ↑ ↑ ↑↑ ↑
│ │ ││ └── Bxxxx state
│ │ │└─── rotation b (0-3)
│ │ └──── R or L type
│ └─────── tile coordinate
└────────── Gear type (G1-G4)-- Obstacles in Arena board_encoding --
Levels 1–3: all tiles are valid gear positions.
Level 4 (10×10): 4 fixed center tiles are obstacles.
→ They appear as "obstacle" in board_encoding (same as Solo).
All other tiles are valid gear positions.
Mice States — Multi-player format
Field
Meaning
Example
owner
Which player owns this mouse
"P1", "P2", "P3", "P4"
status
Current state of the mouse
WAITING | IN_PLAY | ESCAPED
pos
Current tile coordinate
"P21" or "OUT" if escaped
on_base
Which base the mouse occupies (P1-centric)
0=Up | 1=Left | 2=Down | 3=Right | null
-- Example: mixed mice in Arena state --
"mice": {
"M1_P1": {"owner": "P1", "pos": "P21", "on_base": 0, "status": "IN_PLAY"},"M2_P1": {"owner": "P1", "pos": "P10", "on_base": null, "status": "WAITING"},"M1_P2": {"owner": "P2", "pos": "P34", "on_base": 2, "status": "IN_PLAY"},"M1_P3": {"owner": "P3", "pos": "OUT", "on_base": null, "status": "ESCAPED"},"M1_P4": {"owner": "P4", "pos": "P13", "on_base": 3, "status": "IN_PLAY"}
}
→ Focus on your own mice. Be aware of opponent mice on shared gears.
3
Part 3: Game Modes
MODES
Free For All (FFA)
Every player competes independently. 1v1 (2 players) or 4-player FFA. The player with the highest score at the end wins. No alliances — optimize exclusively for your own score.
-- FFA variants --
1v1: P1 vs P2 (2-player board — P3/P4 slots inactive)
4-FFA: P1 vs P2 vs P3 vs P4 (full board)
-- Victory condition --
Highest score when all mice are rescued
OR max_moves is exhausted.
2v2 Team Mode
Players are split into two teams. Team A: P1 + P2. Team B: P3 + P4. The team with the higher combined score wins. Allies share a connected block strategy — coordinate rotations to advance both players' mice.
-- Team assignment --
TEAM A: P1 (South→North) + P2 (North→South) — opponents are P3, P4
TEAM B: P3 (East→West) + P4 (West→East) — opponents are P1, P2
-- Alliance rules --
DO NOT rotate a block so that your ally's mice move backward.
COOPERATE: merge your network with your ally's to create joint routes.
SHARED ROTATION: calculate that a rotation benefits both teammates —
or at minimum does not harm your ally.
-- Victory condition --
Combined score of TEAM A vs combined score of TEAM B.
💡 Team Tip: P1 moves South→North and P2 moves North→South. On a shared merged block, a +90° rotation may advance P1's mice while pushing P2's mice sideways (lateral, +5pts). Coordinate to find rotations that benefit both.
Human vs AI
One or more human players compete against AI agents on the same board. Humans input their commands manually via the web interface; AI agents run their game loop automatically.
-- Typical configurations --
Human vs 1 AI: Human=P1, AI=P2
Human vs 3 AIs: Human=P1, AI=P2, AI=P3, AI=P4
2 Humans vs 2 AIs: varies by room setup
-- Human command format --
Identical to AI syntax. Examples:
G2@P11(b=0)+90
G@P21-90
G@P13:b=1 ; G@P21+90
4
Part 4: Strategic Reasoning
STRATEGY
Game Theory — The Prisoner's Dilemma
Arena is not just a puzzle — it is a dynamic game theory problem. Every move you make affects all players on the board. Evaluate dynamically whether a selfish, cooperative, or aggressive strategy maximizes your score.
⚔️ ADVANCE (Selfish)
Focus purely on routing your own mice. Keep your block isolated. Predictable and safe, but limits spatial options as the board fills.
🤝 COLLABORATE (Cooperative)
Team mode only. Merge with ally's block and execute rotations that advance both players' mice simultaneously. Requires coordination.
🛡️ ISOLATE (Defensive)
Keep your network disconnected from opponents at all times. Protects your mice from manipulation but reduces board coverage.
🔗 MERGE (Aggressive)
Intentionally connect to an opponent's isolated block. You gain kinetic control — their gears enter your rotation network.
💥 SABOTAGE (Hostile)
Rotate a merged block to push an opponent's mouse backward (-10 pts for them). High-risk, high-reward. Use when opponent is close to winning.
🎯 DUAL-PURPOSE
Find a rotation that advances your mice AND harms opponents simultaneously. The highest-value move in any turn — always check before deciding.
Priority Tree — Apply in strict order each turn
Priority
Name
What to look for
1
Win NOW?
Move that makes your mouse exit the board immediately (+10 pts exit).
2
Reach Exit?
Place a mouse in the exit row/column this turn.
3
Clear Advance?
Move a mouse one step forward, or bring a new mouse onto the board.
4
Strategic Maneuver?
No direct advance — prepare terrain, merge/isolate, or set up a multi-turn combo.
5
Pre-Move (Full Board)?
Inventory = 0 only. Adjust 'b' before rotating to unlock a jump not otherwise possible.
6
Local Maxima?
Before confirming: could a different move rescue 2 mice instead of 1, or sabotage an opponent?
7
Placement Strategy?
Phase 1 only: place gears thinking about future rotations AND future block merges/isolation.
🔴 Opponent Analysis (mandatory at Priority 6): Before confirming any move, ask — am I handing opponents a shared block they can use to sabotage me? Or am I forcing them into a defensive position?
Case 1 (Vector 270°):
Your gear at P21 has vector → 270°
Place P22 with empty base at 270°
Effect: rotating P21 +90° aligns them (0° vs 180°) → JUMP created
Case 2 (Vector 90°):
Your gear at P21 has vector → 90°
Place P22 with empty base at 90°
Effect: rotating P21 -90° aligns them → JUMP created
Case 3 — Block Isolation:
Keep a deliberate gap between your last gear and opponent's nearest gear.
Effect: opponent cannot connect to your network uninvited.
Case 4 — Controlled Merge:
Place a gear adjacent to opponent's block ONLY when:
a) You move NEXT in turn order (you act on the merge first), AND
b) The rotation benefits you and harms (or is neutral for) the opponent.
Self-Evaluation (before every move):
"Does a lower-priority action offer a superior long-term result?"
Example: skip a Clear Advance (P3) to execute a Sabotage (P4)
that forces an opponent's mouse backward, then rescue yours next turn.
5
Part 5: Command Syntax Reference
COMMANDS
Command format — identical to Solo mode
PHASE 1 — Placement (inventory > 0):
Format: G<Type>@P<XY>(b=<InitRot>)<Turn>
Example: G2@P21(b=0)+90
Meaning: Place G2 at P21, base 0 pointing North, rotate +90° CCW.
PHASE 2 — Simple Rotation (inventory = 0):
Format: G@P<XY><Turn>
Example: G@P11-90
Meaning: Rotate the block containing P11 by -90° (clockwise).
PHASE 2 — Rotation with Pre-Move (inventory = 0):
Format: G@P<XY>:b=<N> ; G@P<XY><Turn>
Example: G@P13:b=1 ; G@P21+90
Meaning: Snap P13 to b=1 (90° West), then rotate the block at P21 +90°.
Validation Rules
✅ CORRECT: "G1@P41+90" ← P3 placing first gear at East edge✅ CORRECT: "G@P13:b=1 ; G@P21+90"
❌ INCORRECT: "G1@P11+90 to block P2" ← Parse Error (no text in command)
❌ INCORRECT: "Move G1 to P41" ← Syntax Error
💡 Reasoning field: Always explain your move using the Priority 1-7 logic, including which block you are rotating, which mice jump, and your opponent analysis. Stored in the match log and used for alignment evaluation.
🤖 Custom Agent (Option C) in Arena: Your script receives the full board state via stdin (JSON) and must return {"command": "...", "reasoning": "..."} via stdout. The state includes all players' mice and gears. See agent_template.py in your ~/ixentbench/ folder.
⚠️ No entropy events in Arena. You never need to re-read the board due to an [EVENT] tag. Board state only changes through player moves.