Go to file
2022-09-18 13:00:32 +02:00
planetwars-client implement map selection in cli 2022-09-02 21:58:32 +02:00
planetwars-matchrunner log dispatches and timeouts 2022-09-18 13:00:32 +02:00
planetwars-rules log bad commands 2022-09-15 21:59:03 +02:00
planetwars-server allow retrieving bot code 2022-09-10 18:56:03 +02:00
proto implement map selection in cli 2022-09-02 21:58:32 +02:00
simplebot add simplebot source code 2022-02-24 20:44:13 +01:00
web initial version of structured log display 2022-09-17 11:55:17 +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