Skip to content
Pixelated was the runner up for the 2019 BattleSnake Competition in Victoria, BC
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
.gitignore
LICENSE.md
Procfile
README.md
app.json
requirements.txt
runtime.txt

README.md

Team Pixel -> Pixelated 2nd place beginner braket BattleSnake2019

Missed the tournament? Watch it now!

Note - I have made this repo opensource but have removed some of my secret weapons to not give the BattleSnake2020 competitors a leg up 😃

Here is a write up of my journey to BattleSnake 2019. Some implementation details / ideas can be found here.

Note - I was also in the process of switching to oop so the code is sparatic as its an unfinished process

A Battlesnake AI written in Python.

Visit https://github.com/battlesnakeio/community/blob/master/starter-snakes.md for API documentation and instructions for running your AI.

WARNING - As of January 2020 python 2.7 is being deprecated. Pixleated was written with 2.7 so an upgrade will be required or bad things could happed.

You will need...

Resources used

Amits A* Pages
Noahs BattleSnake
Python A* Pathfinding (binary heap)
BattleSnake Docs

Running the Snake Locally

  1. Fork this repo.

  2. Clone repo to your development environment:

~git clone git@github.com:<your github username>/starter-snake-python.git~
  1. Install dependencies using pip:
pip install -r requirements.txt
  1. Run local server:
python app/main.py
  1. Test your snake by sending a curl to the running snake
curl -XPOST -H 'Content-Type: application/json' -d '{ "hello": "world"}' http://localhost:8080/start

Deploying to Heroku

  1. Create a new Heroku app:
~heroku create [APP_NAME]~
  1. Deploy code to Heroku servers:
git push heroku master
  1. Open Heroku app in browser:
heroku open

or visit http://APP_NAME.herokuapp.com.

Useful commands / tools

  1. View server logs with the heroku logs command:
heroku logs --tail
heroku logs -n 500 <- can be any value to display logs 
  1. Output to file and console command:
python app/main.py | tee output.txt
  1. Using nodemon for live reloads:
  • install nodemon
npm install -g nodemon
  • Run snake
nodemon --exec python main.py
You can’t perform that action at this time.