Battlesnake is a community run open source AI competition, pitting player implemented bots against each other in a multiplayer snake arena.
Bots are simple web-servers which must respond to a defined API, and so can be implemented in any language. A yearly competition brings people together from all over the world to compete in Victoria, Canada.
In my role as a development manager, we try to run events that push the team outside of their comfort zone a bit, whilst having a little fun. Previously I have successfully run a Vindinium day (a similar AI competition which sadly seems to have disappeared), and discovered Battlesnake whilst looking for a replacement.
Battlesnake is a great project, but has a couple of shortcomings when it comes to my particular use case:
- Bots are implemented as web servers, which would require opening ports in the company firewall in order to use the public server. Big no no from the IT department.
- As a team building excercise, it’s desirable to run a private competition so that the devs are competing which each other, instead of internet strangers.
To meet the above needs, I created Battlesnake_ui; a light-weight Battlesnake game server aimed at internal competitions of limited size.
It can be found on Github, instructions for use will follow in another post shortly.
- Auto match start mode for match making during development / free play
- Manual start mode to allow full control during competition
- TV page for showing games on big screens
- Admin UI for configuration
- Simple single package deployment
Plan for the day will be as follows:
- Intro session to describe the game
- Forming of teams
- Free time to develop a bot. Free access to match making during this time for testing
- Competition time
- Longest snake
- Prizes and close
This format has worked well in the past; expect a post-mortem post once the event finishes.