Skip to content
/ marLo Public
forked from crowdAI/marLo

Multi Agent Reinforcement Learning using MalmÖ

License

Notifications You must be signed in to change notification settings

AndKram/marLo

 
 

Repository files navigation

https://raw.githubusercontent.com/crowdAI/crowdai/master/app/assets/images/misc/crowdai-logo-smile.svg?sanitize=true

MarLÖ : Reinforcement Learning + Minecraft = Awesomeness

https://readthedocs.org/projects/marlo/badge/

MarLÖ (short for Multi-Agent Reinforcement Learning in MalmÖ) is a high level API built on top of Project MalmÖ to facilitate Reinforcement Learning experiments with a great degree of generalizability, capable of solving problems in pseudo-random, procedurally changing single and multi agent environments withing the world of the mediatic phenomenon game Minecraft .

The Malmo platform provides an API which enables access to actions, observations (i.e. location, surroundings, video frames, game statistics) and other general data that Minecraft provides. Marlo, on the other hand, is a wrapper for Malmo that provides a higher level API and more standardized RL-friendly environment for scientific study.

The framework is written as an extension to OpenAI's Gym framework , which is a toolkit for developing and comparing reinforcement learning algorithms, thus providing an industry-standard and familiar platform for scientists, developers and popular RL frameworks.

MarLo-MazeRunner-v0
https://media.giphy.com/media/u45fNQxG59wfnRpzwJ/giphy.gif
MarLo-CliffWalking-v0
https://media.giphy.com/media/ef4lPGNqaLlKr45rWB/giphy.gif
MarLo-CatchTheMob-v0
https://media.giphy.com/media/9A1gHZrWcaS4AYzcIU/giphy.gif
MarLo-FindTheGoal-v0
https://media.giphy.com/media/1gWkQbDsHOfo4kZXZv/giphy.gif
MarLo-Attic-v0
https://media.giphy.com/media/47C7AYB3FA6kgrMiQ3/giphy.gif
MarLo-DefaultFlatWorld-v0
https://media.giphy.com/media/L0s9QXuR6vIJh6A0dq/giphy.gif
MarLo-DefaultWorld-v0
https://media.giphy.com/media/4Nx7gYiM9NDrMrMao7/giphy.gif
MarLo-Eating-v0
https://media.giphy.com/media/pObNMjjfcGI5tVhmX6/giphy.gif
MarLo-Obstacles-v0
https://media.giphy.com/media/5sYmFFkq7aEMKTbKP4/giphy.gif
MarLo-TrickyArena-v0
https://media.giphy.com/media/1g1bxw2nD3G9fz2WVV/giphy.gif
MarLo-Vertical-v0
https://media.giphy.com/media/ZcaMeSnzLrMY1NWM7f/giphy.gif
 

Contents

Simple Example

#!/usr/bin/env python
# Please ensure that you have a Minecraft client running on port 10000
# by doing :
# $MALMO_MINECRAFT_ROOT/launchClient.sh -port 10000

import marlo
client_pool = [('127.0.0.1', 10000)]
join_tokens = marlo.make('MarLo-FindTheGoal-v0',
                          params={
                            "client_pool": client_pool
                          })
# As this is a single agent scenario,
# there will just be a single token
assert len(join_tokens) == 1
join_token = join_tokens[0]

env = marlo.init(join_token)

observation = env.reset()

done = False
while not done:
    _action = env.action_space.sample()
    obs, reward, done, info = env.step(_action)
    print("reward:", reward)
    print("done:", done)
    print("info", info)
env.close()

Submission Instructions

Please follow the instructions in the Warm Up round starter kit : https://github.com/crowdAI/marlo-multi-agent-starter-kit

Authors

About

Multi Agent Reinforcement Learning using MalmÖ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.3%
  • CSS 1.9%
  • JavaScript 1.2%
  • Other 1.6%