I love to compete and program. When you combine that, magic happens!
What it does
The program is server-based and responds to requests from the Battlesnake server. The request contains all information about a state of a snake battle.
How I built it
The program is built with Java and implements the Minimax algorithm.
Challenges I ran into
The hardest part is to implement the evaluation function that can say how good a position on the game board is. There is a lot of parameters that you need to take into consideration;
- The health of the snake
- The length of the snake
- How many squares you can reach
- How far away the food is
And of course you need to evaluate all the other snakes on the board!
Then you must make the most out of the 500 ms that you have before you must deliver the response.
Accomplishments that I'm proud of
Ending up as number 1 on the leaderboard makes me very proud, as I know that there are so many smart people that I compete against.
What I learned
I learned that unit testing is a developer's best friend! I have set up a lot of positions that checks the response for my snake.
What's next for Prüzze's Battlesnake
I would like to learn more of machine learning and try to make a snake with that technology.