Giter VIP home page Giter VIP logo

battlesnake's People

Contributors

bvanvugt avatar daniel-swu avatar forsilly avatar john-swu avatar joram avatar jrstarke avatar nwarder avatar will-swu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

battlesnake's Issues

Create a SnakeState class that's used for GameState.snakes

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).

Write Board helper class for LocalSnakes

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.

Add team type to team model

Types: Normal, Admin, Bounty, Test

  • Deprecates the "admin" team name hack
  • Only Admins are allowed to set this field

Game Feature - Golden Coin

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.

Game metrics tracking

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:

  • Largest snake size
  • Total coins collected
  • Total kills
  • Longest lifetime

Game Feature - Random blocks

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.

Set up database for user model

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.

API endpoints for User CRUD

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.

Game Feature - Speed up hunger over time

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%.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.