At Battlesnake, our mission is to make it fun and accessible for anyone to become a better programmer, and with that in mind, we've spent some time in updating the Battlesnake Starter Projects, which is an important and common first step for most Battlesnake developers.
Updates to the Starter Projects Format
Something that has been incredibly fun this League is watching all the folks live streaming their Battlesnake journeys, especially people who are doing it for the first time. Watching someone else use software you have built can be nerve wracking!
But the discomfort is completely worth it, as it helped us identify some friction points in the 'Getting Started' journey. We've applied some of those lessons learned to our Starter Projects.
- Starter Projects now use the 'creating a repository from a template' GitHub feature, so that folks can get a clean copy of the code without having to make a fork.
- Introduced a simple test harness to give folks a starting place for writing tests.
- Added in some default 'avoid neck' behaviour to the Starter Projects, so that brand new Battlesnakes move randomly, but don't turn back on themselves and choose the forbidden move.
- Simplification of the project ReadMe.md files, with all common information now living at docs.battlesnake.com, to make reading and maintenance easier.
- Extra comments that demonstrate how to interact with the Battlesnake API, as well as provide suggestions and guidance on what changes to make to your Battlesnake first.
Updated set of Starter Languages
We have also switched up which programming languages we are supporting for the 'Official Starter Projects'.
The current list of Officially Supported Starter Projects are as follows:
And if you are thinking "Hey, wasn't there a Ruby and Java Starter Project as well? Where are they?" do not despair - Ruby and Java remain, but have rotated into Community Support, and are still available for all Battlesnake Developers to use.
I really care about <CODING LANGUAGE>, what can I do?
We know that the Battlesnake community is full of amazing talent and skill, and as a collective group, we can support many many more Starter Projects beyond the official set.
If you are interested in having a Starter Project in a specific programming language, or are looking for ways to contribute and support the Battlesnake Community, please check the list of all Starter Projects where you can submit new projects, or find one to contribute to. You'll find the Ruby and Java Starter Projects already there, ready for your Open Source contributions. In fact, our Rust Starter Project could use a bit of community assistance in getting a simple testing framework put in place!
We'd be delighted if the Battlesnake Community helped keep a diverse and interesting collection of community Starter Projects up-to-date so that future developers can use them. Make sure to check individual repos for contribution guidelines!