Battlesnake has moved and is now an open source movement!
Please see the new Battlesnakeio org community repo as a place to start:
www.battlesnake.io
Battlesnake has moved and is now an open source movement!
Please see the new Battlesnakeio org community repo as a place to start:
User registration DB can be stored separately from the games db so the latter can be reset easily. Plan to use some hosted postgres somewhere.
It's TOO DAMN HIGH BIG
Maybe some functions can go onto the snakes themselves. Many constants!
Wait until we're happy with battlesnake-python first, then replicate.
This should include all the routes the front-end will need, such as teams, users, passwords, etc. and have basic documentation for all routes, their required parameters, and response formats.
We need to keep track of some gameplay metrics for special achievements during tournaments. These metrics should integrate with the user model and tournaments.
Some things we might want to track:
Allows us to update which bounties are open or claimed during the day by doing a push
Right now lib.ai.calls do not enforce request timeouts.
The parameters and logic for these will likely need to be changed to support:
https://github.com/sendwithus/battlesnake/blob/master/lib/server.py#L37
Use d3 to render the state of the board.
Move the ajax endpoints from bottle -> flask.
Wait until we're happy with battlesnake-python first, then replicate.
Wait until we're happy with battlesnake-python first, then replicate.
Can be something fancy that teams can trigger themselves, or can be admin-only.
May need to do 10 or 12 snakes for the semi finals in the tournament
Leave out authorization for now, just allow anyone to register.
Spawn an obstacle on the game board at a random position every x turns. The obstacle should not spawn directly adjacent to any snakes tiles.
Nice to have.
The settings that control the app, the database connections, etc. are scattered throughout a couple of files, and some of them are hardcoded:
https://github.com/sendwithus/battlesnake/search?utf8=%E2%9C%93&q=environ
These should be collected into a set of modules in the settings directory, with each setting controlled by an environment variable, and given reasonable defaults.
If we write something that we're happy with for use in local snakes, hopefully we can add it to battlesnake-python and replicate it across all other starter AIs.
Decrease the amount of health restored by food by some amount after some number of ticks. For example, every 5 ticks decrease the amount of health restored by 10%.
These should be moved into a single module and tested. Currently the requests are scattered through https://github.com/sendwithus/battlesnake/blob/master/lib/game/controller.py
Also add helper methods for serialization for DB and for AI.
Spawn a golden coin in the centre of the board every x turns. This coin does not count as food. The first snake to collect y coins wins the round.
Don't want to be able to change details about the team (ie bracket) once the tournament has started.
Current lib.ai.calls assumes success in all cases. We need to verify that responses return 200, else notify of the error.
Types: Normal, Admin, Bounty, Test
Right now GameState.snakes is an ad-hoc dictionary that's accessed and written to all over the place.
We should create a SnakeState object that is json serializable and able to perform basic operations on itself (like moving, eating, dying, etc).
We need to lookup and display user metrics described in issue #24
Wait until we're happy with battlesnake-python first, then replicate.
Public:
Current values are beginner
and advanced
Using a combination of Gulp, Webpack, react-transform
, and a few other packages, the frontend dev process should be a lot smoother
Personally I like https://github.com/coleifer/peewee for simplicity.
Could also use something like SQLAlchemy but seems like more pain than necessary: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database
@robbles Any thoughts?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.