Esempio n. 1
0
 def setup_mission_spec(self, params):
     """
         Generates and setups the first MissionSpec as generated by :meth:`render_mission_spec`.
         
         :param params: Marlo Game Parameters as described in :meth:`default_base_params`
         :type params: dict
     """
     ############################################################
     # Instantiate Mission Spec
     ############################################################
     mission_xml = self.render_mission_spec()
     self.mission_spec = MalmoPython.MissionSpec(mission_xml, True)
Esempio n. 2
0
def setupEnv(mission='MarLo-FindTheGoal-v0', videoResolution = [800, 600], port=10000):
    # Sets up marlo environment
    client_pool = [('127.0.0.1', port)]
    # Step sleep at to 0.2 to handle lag between marlo and Malmo
    join_tokens = marlo.make(mission, params={
        "client_pool": client_pool,
        'suppress_info': False,
        'videoResolution': videoResolution,
        'tick_length': 50,
        'step_sleep': 0.2})
    # 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)
    # Change the spec of the mission by loading xml from file
    # This is necessary to use our custom XML files
    missionXML= loadMissionFile(mission+'.xml')
    env.mission_spec = MalmoPython.MissionSpec(missionXML, True)
    return env
Esempio n. 3
0
		Crouch
		Attack
		Use
		
	Rewards:
		nil
    """
    def __init__(self, extra_params={}):
        super(MarloEnvBuilder, self).__init__(
            templates_folder=os.path.join(Path(__file__).parent, "templates"))
        self.params = self._default_params()
        # You can do something with the extra_params if you wish
        self.params.update(extra_params)
        print(self.params["maze_height"])
        print(extra_params)

    def _default_params(self):
        _default_params = super(MarloEnvBuilder, self).default_base_params
        _default_params.update(
            dict(tick_length=50, agent_names=["MarLo-agent0"], maze_height=2))
        return _default_params


if __name__ == "__main__":
    env_builder = MarloEnvBuilder()
    print(env_builder.params)
    print(env_builder.params.experiment_id)
    mission_xml = env_builder.render_mission_spec()
    mission_spec = MalmoPython.MissionSpec(mission_xml, True)
    print(mission_spec.getSummary())