Battle Snake

BattleSnake started as a software developer artificial intelligence tournament in Victoria,BC. However it has since grown to a world wide game where developers of all skill level compete to eat and fight on a hosted grid in cyberspace!

Live show in Victoria BC, 2016

How it works

The BattleSnake team hosts servers and thus the "games". You develop your snake using a language of your choice to respond to RESTful API calls from the game server. Those POSTs to your snake send in the current state of the board via a JSON payload and you take your turn by consuming this information, deciding your next move, and sending that back to the game server in your response. You have 500ms to respond or the game server will pick your next move for you

The Object of the Game

The object of the game is to avoid running off the edge of the board, avoid running into the sides of any opponent snakes, and collect food so your snake can grow (your snake shrinks over time without food and will also eventually starve to death!)

Example play

What have I done?

This is an ongoing project for me to create a snake, my goal is that I can use my snake as a company snake to win company swag for those who can beat the snake, if that's a thing after the 2020/2021 pandemic. It's definitely not as easy as it looks. I've so far managed to keep the snake on the board and I am currently building an algorithm that will find nearby food, although maybe I should build snake avoiding algorithms first? So much to do here!

I started by forking their JavaScript snake from their repo and running the snake in Heroku. My only gripe is I can't seem to get the local engine to work, so this means a lot of repo pushes to see if my code works or not.