lab icon indicating copy to clipboard operation
lab copied to clipboard

Is Deepmind Lab support for multi agent to play in one environment.

Open zhandongdong opened this issue 5 years ago • 7 comments

Currently I can train agent against build-in AI in DeepMind Lab, but I don't know how to put multi agents in same environment. It seems to support that according to the Paper (Human-level performance in first-person multiplayer games with population-based deep reinforcement learning ). How should I change the code to make training multi agents available? Does anyone know that?

zhandongdong avatar May 16 '19 13:05 zhandongdong

I'd be interested in that too. Basically this means rendering multiple viewpoints in the same environment within the same engine. This is typically not what engines are designed for, but I think in principle should definitely be possible.

I don't know what DeepMind people are using though, they might just use a locally deployed multiplayer setup with different instances of DmLab per agent. Feedback from the team would be very helpful!

alex-petrenko avatar Jun 07 '19 02:06 alex-petrenko

Does someone from the team have updates regarding this topic? It would indeed be very helpful

CodeGrinder96 avatar Jul 11 '19 17:07 CodeGrinder96

Or you can just switch to VizDoom! https://github.com/mwydmuch/ViZDoom/issues/391

alex-petrenko avatar Jul 11 '19 21:07 alex-petrenko

Any news on this? Any comment from the devs would be super helpful!

timtody avatar Mar 04 '22 10:03 timtody

"they might just use a locally deployed multiplayer setup with different instances of DmLab per agent." Yes this is what we are doing. We create a headless server and then get other players to connect to it with their own settings but they all share the same temp directory so when the map is loaded they all load the same map. We pass the networking settings as part of the environment settings for each agent. We then spin on connect until all agents are connected. It is complicated for us to release this as it relies on different environment wrappers we use internally. I wish we had time to make multi-agent set up easier for people.

charlesbeattie avatar Mar 04 '22 13:03 charlesbeattie

Thanks for feedback @charlesbeattie

Another option for anyone looking: https://github.com/alex-petrenko/megaverse Multi-agent immersive environments 70 times faster than DMLab! (shameless self-promotion)

alex-petrenko avatar Mar 04 '22 22:03 alex-petrenko

@charlesbeattie thanks for this info - it would be great if you can share some sort of minimal working example - even how to programatically run Deepmind Lab as a server is not documented as far as I can see. I'm trying to figure it out based on engine/code/deepmind/dmlab_connect.c, but no luck so far - it seems you can specify a server port but not a server address (?) but even manually running a server on localhost using the 'game' binary on port 27960, I am not able to connect to it from a python client. One instance of 'game' can connect to a second without issues so I'm sure it is possible...

Any guidance would be most appreciated!

DanielRobertFranklin avatar Feb 09 '23 22:02 DanielRobertFranklin