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 board
andPublish moves
until 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