A multiplayer game
where your code is the controller.
All you need is a web server that responds to the Battlesnake API.
Controlled by a web server you build, and the code you write, Battlesnakes move to find food, avoid others, and stay alive.
Choose Your Stack. Outlast Your Peers.
Compete in leaderboards and see how your code stacks up against other developers.
An Open-Ended Playground for Web Developers.
Finally mess around with that new language you've been meaning to try.
Battlesnake is a great outlet to learn something new and try some new technologies.
As Simple Or Complex As You Want To Make It.
Anyone with beginner-level coding knowledge can have fun with Battlesnake. The ability to increase its complexity is endless.
What strategies will you use? Tree search? Path finding? Machine Learning? It's up to you.
With only 500ms to make a move, you'll be pushed to write performant code.
Open Source Game Engine
Collaborate with others. Many choose to open source their Battlesnakes.
Host Your Own Tournaments
Run a team-building event, use Battlesnake in your classrooms, or create tournaments for your friends.
Get Started Quickly
Official Starter Projects make it fast and easy to deploy a Battlesnake.
Why developers love playing.
"Competitive programming sucks. Like actual, CS term competitive programming. I went to a few
competitions. And it's just boring in comparison.
With Battlesnake is just so much more fun. There's the visual aspect to it as well. And it requires you to do real engineering things to make it happen."
"It's very approachable from someone, regardless of your skill level, because it can get as complicated as you make it."
"As an engineer, I have the desire to stay current on whatever it is. Day-to-day, I don't get as much hands-on programming, I'm doing more architecture. I want to help myself level up in a safe space. I can even make my code public."
"The part that really hooks me is the reverse API thing. Where the Battlesnake engine calls your server.
It's unlike other types of games where you upload code to somebody else, they run it and you're always
restricted, having to structure your code in a certain way or use a certain language.
Whereas it calling a server that you host, leaves it completely open-ended to how you implement it."
"I had to learn PowerShell for work, and I was like, "I'm going to use Battlesnake to learn PowerShell". So I wrote a PowerShell starter snake. And yeah, it's just a great, a great, primer to learn stuff."
"My 3 year old daughter loves the live shows! Every time we watch Battlesnake she yells 3… 2… 1… BATTLESNAKE along with the shoutcasters. She loves cheering for Demifemme and Pruzze because they're her favorite colors!"
"It's almost like a sandbox. You can use it to learn a new language if you want, that's very approachable. Or you could take the language you know, do very well, and add other things around it. Deploy it, CICD, whatever you need to do."
"It's fun, because you can actually see it in action. There's so many things you can do with it, because it's so open-ended."
"Mine's a heuristics snake. It's not doing tree search or anything like that. So it's interesting to see people adopting that strategy, because obviously it's the winning strategy. It's interesting to see how far I can get without doing that because there's a lot of funky logic in my snake."
See it in action on
Twitch & YouTube!
Battlesnake is a
Developers from all over the world use Battlesnake to explore new tech and push their skills.