BATTLESNAKE 2019
--
TL;DR


WHAT IS THIS?

"A Battlesnake is a programmed web server that implements the Battlesnake HTTP API to play the game snake against other Battlesnakes. When a game is running, the Battlesnake Game Engine will make HTTP requests to your server, sending you game information and asking for your next move." -BattleSnake

In simpler terms, Battlesnake is a great way to kick in the door with AI, web servers, deployment, and networking.


WHAT I GOT OUT OF IT

I. Learned. In. Excess.

This for me was an entry into deployment, git, python, web servers, and hackathons. It was a very cool experience, I met droves of really amazing people and companies. Moreover, since I went in solo I met a lot of competitors that were more than willing to help out.

That being said, my software skills and problem solving skills were tested. In hindsight I went about the problems totally backwards. My heavy reliance on physics and vector math tied my hands when trying to solve more complex tasks. Whilst there I heard about BFS, a pathing algorithm, and it baffled me. After further reading I understand why everyone and their dog used this method of pathing.

In summary, it was an amazing opportunity and I am glad I took it. I would recommend if you believe you don't have enough experience for an event, the worst case is you're right and you learn. I am super excited to apply all of my knowledge to the 2020 competition.

Cya y'all there!

MY CODE

To start, I made a function to parse the json returned from the response given by the api of the game server. Secondly, I applied the sorted data to a 2d array to better visualize the data and increase speed of algorithms in future functions. Furthermore, I applied strategy taught by meetings before the event in a game state way [no memory of past turns]. After ~1000 lines code preformed perfectly though logic of strategy was flawed.

UTILITIES USED

- Python 2.7.13
- Gunicorn
- Bottle
- Numpy
- Json
- Pyenv
- Virtual-Enviroment
- Heroku
- Git
- Pip
- Shell

CREDITS

Quotes: Battlesnake [Link]

--
BY RYAN BARCLAY