def make_world(self):
     world = World()
     # set any world properties first
     world.dim_c = 2
     num_agents = 3
     world.num_agents = num_agents
     num_adversaries = 1
     num_landmarks = num_agents - 1
     # add agents
     world.agents = [Agent() for i in range(num_agents)]
     for i, agent in enumerate(world.agents):
         agent.name = 'agent %d' % i
         agent.collide = False
         agent.silent = True
         agent.adversary = True if i < num_adversaries else False
         agent.size = 0.15
     # add landmarks
     world.landmarks = [Landmark() for i in range(num_landmarks)]
     for i, landmark in enumerate(world.landmarks):
         landmark.name = 'landmark %d' % i
         landmark.collide = False
         landmark.movable = False
         landmark.size = 0.08
     # make initial conditions
     self.reset_world(world)
     return world
    def make_world(self, **kwargs):
        self.before_make_world(**kwargs)

        world = World()
        world.np_random = self.np_random
        # set any world properties first
        world.dim_c = 2
        num_agents = 3
        world.num_agents = num_agents
        num_adversaries = 1
        num_landmarks = num_agents - 1

        # add agents
        world.agents = [Agent() for _ in range(num_agents)]
        world.policy_agents_groups = [0] * num_adversaries + [1] * (
            num_agents - num_adversaries)
        for i, agent in enumerate(world.agents):
            agent.name = 'agent %d' % i
            agent.collide = False
            agent.silent = True
            agent.adversary = True if i < num_adversaries else False
            agent.size = 0.15
            self.change_entity_attribute(agent, **kwargs)

        # add landmarks
        world.landmarks = [Landmark() for _ in range(num_landmarks)]
        for i, landmark in enumerate(world.landmarks):
            landmark.name = 'landmark %d' % i
            landmark.collide = False
            landmark.movable = False
            landmark.size = 0.08
            self.change_entity_attribute(landmark, **kwargs)

        # make initial conditions
        self.reset_world(world)
        return world