Documentation / Getting started

Getting started

Contents

Step 1: Clone the Bomberland starter kit repo

  • Option 1: Clone the repo: git clone git@github.com:CoderOneHQ/bomberland.git
  • Option 2: Download the repo →

(You'll also need the base-compose.yml and docker-compose.yml files in the root folder)

Step 2: Install Docker

Docker is used to start the game engine and connect both agents in a single command. It's also used to ensure the same performance of your agent locally versus on our servers.

Download Docker →

The Docker flow is used for the rest of this guide. You can also access the engine binary below:

Download Binary →

Step 3: Start the game server

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. Since Bomberland is a 2-player environment, the game engine will wait for a second agent to connect.

Step 4: Join the game as a human player

  1. In either a Firefox or Chrome browser, open the Game client →
  2. Leave the default settings. Click Connect.
  3. Use the following keys to play as the Wizard:
  • Click a unit to control it
  • / / / - arrows to move the unit
  • SPACE - place a bomb
  • Click a bomb to detonate it

Step 5: Join the leaderboard and get feedback

1v1 leaderboard matches run weekly. To submit, you will need to push your Docker image to any public registry.

Here are instructions for Docker Hub:

  1. If you haven't already, create a free Docker Hub account here.
  2. Login from your terminal using docker login.
  3. Navigate to the working directory containing your agent's Dockerfile e.g. cd python3
  4. Run docker build . -t my-dockerhub-username/my-repo-name (replace my-dockerhub-username and my-repo-name)
  5. Run docker push my-dockerhub-username/my-repo-name
  6. Your public registry link will be docker.io/my-dockerhub-username/my-repo-name. Paste this into the field on the Submissions → page.

Next steps

You're now all set up to compete in Bomberland!

If you need help, please reach out on Discord.

Here are some tasks to try:

  • Switch agents: docker-compose.yml specifies which agents to connect. Try switching which character you play as, or playing your agent against itself.
  • Change environment variables: Settings such as tick rate, map size, no. of agents can be changed under docker-compose.yml > game-server > environment. See ⚙️ Environment Flags for a full list of available settings.
  • Improve the starter agent: Try building an agent that beats the random agent.

Tip: Add a --build flag in your docker-compose up command whenever you make a change to the docker-compose.yml or base-compose.yml files. i.e.:

docker-compose up --abort-on-container-exit --force-recreate --build
An open playground to practice, compete, and experiment with machine learning.
© 2021 Coder One Pty Ltd | Contact | Privacy