crowdAI / marLo

Multi Agent Reinforcement Learning using MalmÖ
MIT License
244 stars 46 forks source link

About Multi-agent Catch the mob #60

Closed Bigpig4396 closed 5 years ago

Bigpig4396 commented 5 years ago

Hello, I notice the CatchTheMob game allows 2 agents, however when I only change the game name of Multi Agent Example, it gives error. Just like this

import marlo client_pool = [('127.0.0.1', 10000), ('127.0.0.1', 10001)] join_tokens = marlo.make('MarLo-CatchTheMob-v0', params={ "client_pool": client_pool, "agent_names": [ "MarLo-Agent-0", "MarLo-Agent-1" ] })

Traceback (most recent call last): File, line 19, in assert len(join_tokens) == 2 AssertionError

It gives join_tokens only for length 1. It is obvious that something has to be modified. The mission.xml or something?

AndKram commented 5 years ago

The CatchTheMob environment under marLo/marlo/envs is a one player version of catch the mob. If you look at the XML (marlo/envs/CatchTheMob/templates/mission.xml) you can see it only has one element. So when you "marlo.make" the environment only one agent gets used (hence one join token). We will be releasing two agent games (as new environments) for the competition.

Bigpig4396 commented 5 years ago

Thank you for you reply. So currently is there any game that support multi agent implementation already?

AndKram commented 5 years ago

There are some examples in Malmo but they are not available as MarLo environments. We should be releasing the two agent training examples soon.