Every message a robot sends either arrives in a neighbour's inbox (delivered) or it doesn't (dropped). A message drops for two reasons: the radio link failed — far more likely near the edge of range — or it arrived but the receiver's inbox was already full (it's busy finishing one job at a time). A high drop rate means your radio is overloaded or the swarm is spread too thin.
The amber tiles were mapped by two or more robots — duplicated, wasted work. It happens whenever robots don't know what teammates have done: no radio, dropped updates, or stale memory. Better coordination keeps tiles green-once.
Cranking range, airtime and memory up always helps — but real radios can't just scale. The software wins come from being smarter with the bytes you have: share intent (claim where you're going), not just raw map; route data toward a sink instead of flooding; elect local leaders to split the area. Slide range down and switch strategies to feel the trade-offs.
Same family of ideas. libp2p is the real-world peer-to-peer stack (it powers IPFS, Ethereum,
and many robot fleets): gossipsub floods updates to peers, a Kademlia DHT finds
who-has-what, and multi-hop routing relays to a server. This sandbox is a toy model of gossipsub +
geographic routing — libp2p is the batteries-included, production version of exactly this.
No robot sees the whole field. Coverage emerges from local rules — map near you, tell your neighbours, avoid claimed ground, carry data toward base. That's stigmergy: simple local interactions producing smart global behaviour, with no central brain required. It scales because every rule stays local — each robot only ever reasons about who it can currently hear.
The green tower is the sink. A discovered data point is relayed hop by hop toward it (greedy geographic routing): each robot hands its data to a neighbour that's closer to base, or carries it like a data mule until one is. Watch data reach base even when no single robot can see base alone — that's the swarm acting as one antenna.