antonio-higino / bomberland

Starter kits for Bomberland: a multi-agent AI competition based on Bomberman

Home Page:https://www.gocoder.one/bomberland

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Engine Version

About

Bomberland is a multi-agent AI competition inspired by the classic console game Bomberman.

Teams build intelligent agents using strategies from tree search to deep reinforcement learning. The goal is to compete in a 2D grid world collecting power-ups and placing explosives to take your opponent down.

This repo contains starter kits for working with the game API.

Bomberland multi-agent environment

Usage

Basic usage

See: Documentation

  1. Clone or download this repo (including both base-compose.yml and docker-compose.yml files).
  2. To connect agents and run a game instance, run from the root directory:
docker-compose up --abort-on-container-exit --force-recreate

Open AI gym wrapper

docker-compose -f open-ai-gym-wrapper-compose.yml up --force-recreate --abort-on-container-exit

Starter kits

Kit Link Description Up-to-date? Contributed by
Python3 Link Basic Python3 starter Coder One
Python3-fwd Link Includes example for using forward model simulator Coder One
Python3-gym-wrapper Link Open AI Gym wrapper Coder One
TypeScript Link Basic TypeScript starter Coder One
TypeScript-fwd Link Includes example for using forward model simulator Coder One
Go Link Basic Go starter dtitov
C++ Link Basic C++ starter jfbogusz

Contributing

Contributions for Bomberland starter kits in other languages (as well improvements to existing starter kits) are welcome!

Starter kits in new languages should implement the simulation logic for handling game state updates (see example) and follow the validation schema.

For any help, please contact us directly on Discord or via email.

Release Notes

Ver. Changes Date Binary
1608 Inject game_id into game state 18th Dec 2021 Link
1555 Changes to support open ai gym wrapper 6th Dec 2021 Link
1523 Forward model bug fixes + unit move blocking on moving to same cell + reset game with a set world and prng seed (See: Docs) 29th Nov 2021 Link
1065 Added UNITS_PER_AGENT environment flag (See: Docs) 9th Oct 2021 -
974 Added functionality:
  • Reset the game without restarting engine/containers
  • Evaluate next state by the game engine given a state + list of actions
See: Docs
18th Sep 2021 Link

Discussion and Questions

Join our community on Discord.

Please let us know of any bugs or suggestions by raising an Issue.

About

Starter kits for Bomberland: a multi-agent AI competition based on Bomberman

https://www.gocoder.one/bomberland


Languages

Language:C++ 92.7%Language:Python 3.0%Language:Go 2.1%Language:Rust 1.8%Language:TypeScript 0.2%Language:Dockerfile 0.2%Language:Makefile 0.0%