What was used:

  • python, command line interface, text editor, docker, heroku, git

Background:

The Battlesnake competition / event in Victoria BC was created by SendWithUs. Its main goal was to reach out to student developers and give them a chance to put their skills to the test and learn along the way. A huge benefit to up and coming developers is the amazing networking opportunity with local companies that sponsor the event.

The event is based off the retro snake game, taken to the next level by adding artificial intelligence to each snake and competing against other snakes in a last man standing battle.

2018 Battlesnake logo (awesome retro look)

Due to the growing popularity, three brackets have been created. (beginner, intermediate, and advanced) The event is not only drawing in students and beginner programmers but,also veteran / seasoned developers\n\n

Goal:

The goal is to develop an AI controlled snake that avoids all obstacles, eat food when hungry, and is the last snake standing. To allow movement the snake must respond to POST requests, start, move, and end. Any language can be used for implementation with two major rules. They are it must respond within the set timeout and deal with each of the three requests.

Snip of Charlie about to eat some food

Implementation:

Python was my language of choice however, I have also created snakes in javascript, and java. I competed for my first time 2 years ago and what appears as though it may be a simple challenge in not. The first edition of charlie snake made it to the semi-finals. Charlie-v2 was much smarter but due to the increase in popularity bring more developers in Charlie did not do so well last year.

Battlesnake divisions from 2018

Looking back:

The amount of logic that I put into Charlie-v2 was actually a draw back last year and caused some timeouts due to the raw calculations being done. I didn't practice DRY at all which lead to excessive calculations of the same things each turn.

Final Thoughts:

Battlesnake is for all levels and an extremely fun event to attend. This year when I go back Ill be ready. I have been heavily refactoring Charlie in hopes to be a solid contender in the intermediate bracket.