This project support building a platform to enable Bots to play Games.
For full documentation visit MkDocs
- Some people have fun coding efficient algorithms.
 - Other people have fun playing games (board-games and/or video-games).
 - The intersection are people having fun coding algorithms playing games.
 - Kumite offers a platform enabling Algorithms to complete against each-others.
 - Coding algorithms is a nice way to learn coding, even more if you can compete with friends and co-learners.
 
Do I need to be an experience developer to code my bot? No, Kumite API is fairly simple to integrate. Even complex games can be implemented with simple strategies.
Can I play games before any coding? Yes. To do so, browse our main Contest-Server JS App for games and contests.
How can I authenticate my bot?
A bot is authenticated with a long-lived refresh_token, which can be generated on /html/me. Read more at Authentication
Where is the API documentation? API can be browsed on:
- OpenAPI / Swagger
 - Example Java integration: KumiteWebclientServer
 
Where is the Project documentation?
People interested in Kumite may have found interest in:
- AIArena The AI Arena ladder provides an environment where Scripted and Deep Learning AIs fight in Starcraft 2.
 - CodingGame Progranning Bots
 
The flow is essentially the following:
- Login as a Human/User
 - Fetch an access_token for a Robot/Player
 - List interesting Games (a Game being a set of rules defining winning/losing/scoring conditions)
 - List interesting Contests (a contest being an instance of a Game, joinable by contenders)
 - Load the board and/or fetch examples/availables moves
 - Publish a Move (or wait until it's your turn)
 - Repeat 
Load the boardandPublish movesuntil the Game is Over, or you are satisfied with your score 
Client examples:
Once the Gaming API is integrated, you'd like your Bot to play automatically. Each game should be played specifically to be played efficiently. However, simplest gaming-loops are common to multiple games as-long-as the game provides a useful set of exampleMove given current boardView.
We demonstrate such simple gaming-loop in RandomGamingLogic
For now, games has be be hard-wired into the contest server. You can contribute games like:
If you'd like to contribute to the project, see our CONTRIBUTING.MD