No description
Find a file
2022-08-20 19:55:21 +02:00
planetwars-client make name field optional 2022-08-01 00:16:24 +02:00
planetwars-matchrunner pull docker bots before running them 2022-07-24 23:08:51 +02:00
planetwars-rules apply clippy suggestions 2022-03-13 15:20:03 +01:00
planetwars-server return pagination object from list matches API 2022-08-16 19:23:53 +02:00
proto rename bot_api to client_api 2022-07-25 22:16:50 +02:00
simplebot add simplebot source code 2022-02-24 20:44:13 +01:00
web implement LinkButton component 2022-08-20 19:55:21 +02:00
.gitignore gitignore node_modules 2022-01-17 23:56:11 +01:00
Cargo.toml set up stub grpc client 2022-06-01 20:19:13 +02:00
README.md add local development instructions to README 2022-07-25 22:46:13 +02:00

planetwars

Planetwars is a competitive programming game. You implement a bot that will be pitted against all other bots.

Try it out at https://planetwars.dev !

Current features:

  • write and publish a python bot in the demo web interface
  • develop a bot locally and publish it as a docker container
  • published bots will be ranked in the background

Creating a bot locally

For development, you can play a game with a locally running bot using planetwars-client.
Once you are happy with your bot, you can publish it to the planetwars server as a docker container.

  1. Register your bot. In order to publish a bot version, you first have to register a bot name. You can do this by navigating to your profile after logging in (click your name in the navbar).
  2. Bake your bot into a docker container. If you'd like to test whether your container works, you can try running it using planetwars-client by using docker run -it my-bot-tag as the run command.
  3. Log in to the planetwars docker registry: docker login registry.planetwars.dev
  4. Tag and push your bot to registry.planetwars.dev/my-bot-name:latest.
  5. Your bot should be up and running now! Feel free to play a game against it to test whether all is well. Shortly, your bot should appear in the rankings.

Project

The repository contains these components:

  • planetwars-server: rust webserver
  • planetwars-matchrunner: code for running matches
  • planetwars-rules: implements the game rules
  • planetwars-client: for running your bot locally
  • web/pw-server: frontend
  • web/pw-visualizer: code for the visualizer