Go to file
Xander Bil 2402cf756f
Update local development.md
2024-02-02 15:06:36 +01:00
.github/workflows upgrade to diesel 2.0 2022-10-12 22:52:15 +02:00
examples update dockerfile 2023-11-20 17:34:07 +01:00
maps rough but functional integration test 2022-10-04 07:02:46 +02:00
planetwars-client client: don't freeze when bot does not produce output 2022-11-27 11:26:38 +01:00
planetwars-matchrunner hotfix: enable reading lines split over multiple stdout buffers 2022-12-03 16:09:42 +01:00
planetwars-rules add basic combat tests 2022-09-28 19:02:38 +02:00
planetwars-server Add containerfile and fix all issues 2023-10-22 12:31:51 +02:00
proto implement map selection in cli 2022-09-02 21:58:32 +02:00
simplebot Add containerfile and fix all issues 2023-10-22 12:31:51 +02:00
web Update local development.md 2024-02-02 15:06:36 +01:00
.gitignore check in Cargo.lock 2022-10-09 22:42:00 +02:00
Cargo.lock hotfix: enable reading lines split over multiple stdout buffers 2022-12-03 16:09:42 +01:00
Cargo.toml set up stub grpc client 2022-06-01 20:19:13 +02:00
Containerfile Update containerfile 2023-10-22 13:54:18 +02:00
README.md add local development instructions to README 2022-07-25 22:46:13 +02:00
bot.toml Add containerfile and fix all issues 2023-10-22 12:31:51 +02:00
docker-compose.yml chore: add docker-compose.yml 2022-10-29 13:27:43 +02:00
start.sh Update containerfile 2023-10-22 13:54:18 +02:00

README.md

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