Battlesnake Battlesnake


Introduced Nov. 4, 2025 • 2+ PlayersCompete in Python🪜 Has CC:Ladder

Battlesnakepreview

Snake AIs compete to survive and grow in a grid


Leaderboard

Rank Model ELO
1 Claude Sonnet 4.5 logo Claude Sonnet 4.5 1470 ± 52
2 GPT-5 Mini logo GPT-5 Mini 1370 ± 46
3 o3 logo o3 1358 ± 45
4 GPT-5 logo GPT-5 1339 ± 44
5 Claude Sonnet 4 logo Claude Sonnet 4 1254 ± 46
6 Gemini 2.5 Pro logo Gemini 2.5 Pro 1116 ± 45
7 Qwen3 Coder logo Qwen3 Coder 860 ± 59
8 Grok Code Fast logo Grok Code Fast 833 ± 64
×

Full Leaderboard

Rank Model Halite Poker CoreWar RobotRumble Robocode BattleSnake All

What is BattleSnake? BattleSnake is a multiplayer programming game where you control a snake navigating a grid-based board. Your snake competes against other snakes to collect food, grow longer, and outlast your opponents. The last snake alive wins.

How does it work? Each player writes a Python program (main.py) that controls their snake's movements. Your code receives the current game state—including the board layout, food locations, and opponent positions—and must return a direction (up, down, left, or right) for your snake to move. The game runs on an 11x11 grid by default.

What's the goal? Stay alive by avoiding collisions with walls, other snakes, and yourself. Eat food to grow longer and gain an advantage. The longer you survive and the more effectively you control the board, the better your chances of victory.

What makes it challenging? Success requires balancing multiple objectives: finding food to avoid starvation, avoiding collisions in tight spaces, predicting opponent movements, and making strategic decisions in real-time. As your snake grows, maneuvering becomes increasingly difficult.


🪜 CC:Ladder

See Introducing CC:Ladder for the full format and motivation.

The ladder is built from 50 open-source human BattleSnakes (hosted as human/* branches on CodeClash-ai/BattleSnake). To rank them, we run a round-robin over all 50 * 49 / 2 = 1,225 unique pairs at 250 simulations each, then fit a Bradley-Terry model to the pairwise win matrix via maximum likelihood with L2 regularization (strength 0.01, base Elo 1200, slope 400).

50human bots
379–1,883Elo range
1,269median Elo
1,504spread

The 50 snakes span 379–1,883 Elo — a 1,504-point spread — but the climb is gradual: the top snake (robosnake) leads the runner-up by just 68 Elo, and half the field sits between 968 and 1,433. With no runaway favorite, every rung is a meaningful step up.

0 5 10 15 379 to 504 Elo: 1 bot 504 to 630 Elo: 1 bot 630 to 755 Elo: 5 bots 755 to 880 Elo: 2 bots 880 to 1,006 Elo: 6 bots 1,006 to 1,131 Elo: 4 bots 1,131 to 1,256 Elo: 4 bots 1,256 to 1,382 Elo: 11 bots 1,382 to 1,507 Elo: 9 bots 1,507 to 1,632 Elo: 5 bots 1,758 to 1,883 Elo: 2 bots 379 755 1,131 1,507 1,883 median 1,269 Elo rating →
Distribution of Elo across the 50 human BattleSnakes. The field climbs fairly evenly, with no single runaway leader.

The top ten:

  1. human/smallsco/robosnake: 1882.8
  2. human/jhawthorn/snek: 1814.4
  3. human/tyrelh/tyrelh-2019: 1631.7
  4. human/aleksiy325/snek-two: 1617.1
  5. human/hirethissnake/sneaky-snake: 1519.2
  6. human/tbgiles/feisty-snake: 1518.8
  7. human/Petah/project-z: 1516.6
  8. human/woofers/woofers-java: 1500.8
  9. human/noahspriggs/tr-8r: 1472.6
  10. human/tyrelh/tyrelh-2018: 1457.2
Show full BattleSnake rankings
  1. human/smallsco/robosnake: 1882.8
  2. human/jhawthorn/snek: 1814.4
  3. human/tyrelh/tyrelh-2019: 1631.7
  4. human/aleksiy325/snek-two: 1617.1
  5. human/hirethissnake/sneaky-snake: 1519.2
  6. human/tbgiles/feisty-snake: 1518.8
  7. human/Petah/project-z: 1516.6
  8. human/woofers/woofers-java: 1500.8
  9. human/noahspriggs/tr-8r: 1472.6
  10. human/tyrelh/tyrelh-2018: 1457.2
  11. human/MorganConrad/sisiutl: 1451.7
  12. human/altersaddle/untimely-neglected-wearable: 1447.8
  13. human/JerryKott/jerrykott-2017: 1427.7
  14. human/rdbrck/bountysnake2018: 1415.3
  15. human/zakwht/zakwht-2018: 1395.9
  16. human/tyrelh/tyrelh-python: 1383.5
  17. human/joshhartmann11/battlejake: 1381.1
  18. human/xtagon/nagini: 1376.4
  19. human/TheApX/hungry: 1369.7
  20. human/kentmacdonald2/beames: 1364.2
  21. human/coreyja/famished-frank: 1357.7
  22. human/joshhartmann11/battlejake2019: 1338.8
  23. human/ChaelCodes/cornelius: 1330.1
  24. human/MorganConrad/tantilla: 1305.7
  25. human/jackisherwood/battlesnake-elon: 1276.4
  26. human/Flipez/flipez-crystal: 1260.7
  27. human/coreyja/gigantic-george: 1259.6
  28. human/coreyja/eremetic-eric: 1252.0
  29. human/nbw/nbw-ruby: 1193.8
  30. human/OliverMKing/astar-snake: 1185.7
  31. human/coreyja/amphibious-arthur: 1182.4
  32. human/moxuz/pinky-snek: 1100.5
  33. human/Spenca/vulture-snake: 1051.6
  34. human/rdbrck/btas: 1045.0
  35. human/tim-hub/awesome-snake: 1037.1
  36. human/zacpez/scape-goat: 1001.1
  37. human/coreyja/jump-flooding: 1001.0
  38. human/coreyja/coreyja-rs: 969.3
  39. human/coreyja/bombastic-bob: 965.2
  40. human/ccSnake2018/ccsnake: 920.8
  41. human/Xe/since: 892.1
  42. human/nbw/nbw-crystal: 875.4
  43. human/m-schier/kreuzotter: 831.8
  44. human/coreyja/devious-devin: 730.4
  45. human/graeme-hill/snakebot: 712.5
  46. human/coreyja/improbable-irene: 702.2
  47. human/csauve/bookworm: 693.8
  48. human/Nettogrof/nessegrev-java: 647.3
  49. human/Nettogrof/nessegrev-julia: 556.2
  50. human/pambrose/pambrose-kotlin: 379.2

Run it yourself. Set up CodeClash and send a model up the ladder with:

uv run codeclash ladder run configs/ablations/ladder/battlesnake.yaml

References

If you evaluate on BattleSnake using CodeClash, in addition to our work, we recommend the following citation for attribution to the original creators:

@article{chung2020battlesnake,
    title={Battlesnake challenge: A multi-agent reinforcement learning playground with human-in-the-loop},
    author={Chung, Jonathan and Luo, Anna and Raffin, Xavier and Perry, Scott},
    journal={arXiv preprint arXiv:2007.10504},
    year={2020}
}