google-deepmind / lab

A customisable 3D platform for agent-based AI research
Other
7.11k stars 1.37k forks source link

Virtual environment size & coordinates #188

Open jafphd opened 4 years ago

jafphd commented 4 years ago

I am trying to understand some of the features of the virtual dimensions. In particular, when defining the map in DeepMind Lab, what is the virtual length of an '' (representing a wall segment) ? According to my calculations is =100 but it seems it does not match those reported at: https://github.com/deepmind/lab/blob/master/docs/developers/creating_levels/text_level.md

Any help on these issues would be appreciated. Thanks!

EXAMPLE: self._map = make_map.makeMap{ mapName = 'simple_arena', mapEntityLayer = arena

charlesbeattie commented 4 years ago

Yes the cellSize defaults to 100. This can be changed by adding a cellSize=\<integer> to makeMap. This is not well documented or tested as a lot of code was built with the assumption that this will be 100. The default is declared here: https://github.com/deepmind/lab/blob/7b851dcbf6171fa184bf8a25bf2c87fe6d3f5380/deepmind/level_generation/text_level/text_level_settings.h#L185

And read from in makeMap kwargs here: https://github.com/deepmind/lab/blob/29d157a4a14b44c470749f548379ae1b7e4b4ab6/deepmind/engine/lua_text_level_maker.cc#L362

I'm sorry that it is not documented in markdown. This is probably because of inadequate testing of the feature.

jafphd commented 4 years ago

@charlesbeattie Thank you very much for the information! It seems then that defining cellSize I would end up with walls with the same length. But I saw some videos of the DeepMind Lab environments having different length/thickness of walls. If you know how to do it, could you please indicate how/where to define the different wall properties?
BTW, I cannot see a way to get the exact virtual coordinates where the wall were placed (I can only infer that information from the make_map.makeMap definition, right? All the best!