Documentation / Getting started
git clone git@github.com:CoderOneHQ/bomberland.git
(You'll also need the base-compose.yml
and docker-compose.yml
files in the root folder)
Docker is used to start the game engine and connect both agents in a single command. It also ensures that your agent performs the same locally versus on our tournament servers.
The Docker flow is used for the rest of this guide. You can also access the engine binary below:
Make sure Docker is running.
From the root directory of your starter kit, run in your terminal:
docker-compose up --abort-on-container-exit --force-recreate
It may take a few minutes to run the first time. This will build the game server, and connect your starter agent.
Once the game server is running, you should see:
game-server_1 | [1] 2021-10-28T02:57:47.701Z - Agent [defaultName](b) connected to the server
Since Bomberland is a 2-player environment, the game engine will wait for a second agent to connect.
↑
/ ↓
/ ←
/ →
- arrows to moveSPACE
- place a bombYou can submit your agent to the tournament server and compete against other submitted agents. Your agent's ranking will be displayed on the leaderboard.
To submit:
docker.io/coderonehq/hello-world
. This image contains a basic starter agent that takes random actions. Later, you can submit your own agent image.You've now submitted your first agent to the competition! Check back regularly to see your results from the Matches page.
You're now all set up to compete! Check out the introductory tutorial for a guided walkthrough on developing a basic agent.
If you need help or have any feedback, please reach out on Discord.
Here are some other tasks to try:
docker-compose.yml
specifies which agents to connect. Try switching which character you play as, or playing your agent against itself.docker-compose.yml
> game-server
> environment
. See ⚙️ Environment Flags for a full list of available settings.Tip: Add a
--build
flag in yourdocker-compose up
command whenever you make a change to thedocker-compose.yml
orbase-compose.yml
files. i.e.:docker-compose up --abort-on-container-exit --force-recreate --build