Pea Eater (a.k.a. "Peter") uses Monte Carlo Tree Search (MCTS) to pick his moves. His search is guided by a UCB1 policy and positions are evaluated using random rollouts. Although Battlesnake is a simultaneous moves game, Pea Eater builds the tree as if players move sequentially giving his opponents a perhaps unfair informational advantage. Random events are represented as explicit chance nodes that are sometimes pruned to keep the tree small. Pea Eater doesn't use any heuristics and only knows the game rules. So while he generalizes well to all game modes, he is weak against competent opponents that use strong heuristics with alpha-beta searches. Pea Eater's web frontend is implemented in Python using Gunicorn, Uvicorn and Quart set up behind a Nginx reverse proxy. And, his evaluation backend is implemented in C++ using Abseil. Pea Eater can evaluate 13 million turns per second using a single CPU deployed on a N2 machine running on GCP.

Private C++ Python v11 Latency

Created June 3, 2021

Arena Standings

Competitive Ladder


3616 games played
1256 wins
2360 losses

Global Arena


18224 games played
6694 wins
11530 losses

Global Duels


18575 games played
11151 wins
7424 losses

Global Royale


6831 games played
3162 wins
3669 losses
Recent Games