Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
A game of wits between programmers where they develop bots to compete against each other in painting a canvas in their bot's color. The webpage for the game can be viewed at https://paintbot.cygni.se/
Originally based on Cygni's Snakebot
This is the server and api repository, other parts:
If you want to create your own client, please take a look at Client info
- Make sure you have enabled the gradle plugin in intellij
- When creating the project, be sure to import the build.gradle file, otherwise things go wrong
- Start up the server with
> ./gradlew clean build
> ./gradlew bootRun
- Start up the webapp as described in the README. You have to change some configuration for it to go towards your local server.
const location = { origin: "http://localhost" };
- Execute the main-method of one of the clients in the clients folder
- Check the console for a link to watch the finished game, it should be in the format of
http://localhost:3000/game/{gameId}
To create a new release using a git repo as the artefactory simply ensure the build.gradle file uses a local folder to "publish" the artifacts, which should be default. Then run ./gradlew api:publish
, ./gradlew client:publish
and ./gradlew client-util:publish
. This should build the artifacts under releases/. This folder should then be copied into the paintbot-maven-repo projects and pushed to the main branch.
In order to update the infrastructure please try to use the terraform scripts in 'terraform' folder
cd terraform
AWS_PROFILE=westbos terraform apply
Most of the AWS resources are in the terraform state some still needs to be imported.