MarLo (Multi-Agent Reinforcement Learning in Malmo)

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

MarLO (short for Multi-Agent Reinforcement Learning in Malmo) is a high-level API built on top of Project Malmo for RL research in Minecraft. It was used in the 2018 MarLo Challenge and provides pre-built mission environments with Gym-compatible interfaces.

Relationship to MOSAIC

MOSAIC uses MarLo’s mission XML files directly through the MalmoEnv backend. The MarLo Python package is not imported at runtime, but the MarLo repository (3rd_party/environments/marLo) is kept as an upstream reference for mission definitions, launcher utilities, and the MarLo Challenge documentation.

        graph TB
    subgraph MarLo["MarLo (upstream reference)"]
        MarLoPkg["marlo Python package"]
        Missions["Mission XML files<br/>(Attic, MazeRunner, etc.)"]
        Launchers["Launcher utilities"]
    end

    subgraph Malmo["Project Malmo (runtime)"]
        JavaMod["Java Minecraft Mod"]
        MalmoEnv["MalmoEnv TCP Protocol"]
    end

    subgraph MOSAIC["MOSAIC"]
        Adapter["MalmoEnvAdapter"]
        GUI["PyQt6 GUI"]
    end

    MarLoPkg -. "wraps" .-> MalmoEnv
    Missions -- "loaded by" --> Adapter
    Adapter -- "TCP :9000" --> MalmoEnv
    MalmoEnv --> JavaMod

    style MarLoPkg stroke-dasharray: 5 5
    style MarLoPkg fill:#f5f5f5
    

ID Migration

The original MarLo environment IDs have been renamed in MOSAIC:

MarLo ID (legacy)

MalmoEnv ID (current)

MarLo-MazeRunner-v0

MalmoEnv-MazeRunner-v0

MarLo-CliffWalking-v0

MalmoEnv-CliffWalking-v0

MarLo-CatchTheMob-v0

MalmoEnv-CatchTheMob-v0

MarLo-FindTheGoal-v0

MalmoEnv-FindTheGoal-v0

MarLo-Attic-v0

MalmoEnv-Attic-v0

MarLo-DefaultFlatWorld-v0

MalmoEnv-DefaultFlatWorld-v0

MarLo-DefaultWorld-v0

MalmoEnv-DefaultWorld-v0

MarLo-Eating-v0

MalmoEnv-Eating-v0

MarLo-Obstacles-v0

MalmoEnv-Obstacles-v0

MarLo-TrickyArena-v0

MalmoEnv-TrickyArena-v0

MarLo-Vertical-v0

MalmoEnv-Vertical-v0

For full environment details (action spaces, movement types, objectives), see Environments Reference.

Mission Previews

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

References

Citation

If you use these missions in your research, please cite:

@misc{perez2019marlo,
  title={The Multi-Agent Reinforcement Learning in Malm{\"o} (MARL{\"O}) Competition},
  author={Perez-Liebana, Diego and Hofmann, Katja and Mohanty, Sharada Prasanna and Kuno, Noburu and Kramer, Andre and Devlin, Sam and Gaina, Raluca D.},
  journal={arXiv preprint arXiv:1901.08129},
  year={2019}
}