Rules at a glance
Timing
| Rule | Value |
|---|---|
| Global command window | 15 seconds |
| Core migration | 4 logical Ticks per cell |
| Core respawn delay | 20 logical Ticks |
| WebSocket Ping interval | 20 seconds |
| WebSocket Pong timeout | 60 seconds |
| Credential revalidation | approximately 5 seconds |
| Recommended reconnect backoff | 250 ms → 5 seconds, with jitter |
Core
| Attribute | Value |
|---|---|
| HP | 5 |
| Shield | 5 |
| Shield cap with Beacon | 10 |
| Vision | 5 |
| Starting resources | 20 |
| Starting Workers | 1 |
| Shield repair | 1 resource → 1 shield |
Units
| Unit | HP | Vision | Cost | Damage / range |
|---|---|---|---|---|
| Worker | 2 | 3 | 5 | none |
| Vanguard | 4 | 4 | 10 | 1 to adjacent target cell |
| Ranger | 2 | 5 | 12 | 1 at cardinal range 1-3 |
World
| Rule | Value |
|---|---|
| Cell capacity | 2 occupying entities |
| Terrain kinds | EMPTY, RESOURCE, OBSTACLE |
| Chunk size | 32×32 |
| Resource richness scale | 256 |
| Spawn distance from nearest active Core | 20-30 |
| Coordinate type | signed int64 [x, y] |
| Beacon start | [0, 0] |
Economy
population = Worker + Vanguard + Ranger
tier = floor(population / 20)
upkeep = tier × (tier + 1) / 2
| Population | Upkeep |
|---|---|
| 0-19 | 0 |
| 20-39 | 1 |
| 40-59 | 3 |
| 60-79 | 6 |
| 80-99 | 10 |
| 100-119 | 15 |
Commands
| Limit | Value |
|---|---|
| Idempotency key | 8-128 visible ASCII bytes |
New submissions per (player, tick, source) | 64 |
| Concurrent command bodies per credential kind | 4 |
| WebSocket inbound frame limit | 1024 bytes |
| WebSocket messages | tick, state, received |
| Command sources | AGENT, MANUAL |