def METHOD_NAME(self, world, np_random):
    # assign goals to agents
    for agent in world.agents:
        agent.goal_a = None
        agent.goal_b = None
    # want other agent to go to the goal landmark
    world.agents[0].goal_a = world.agents[1]
    world.agents[0].goal_b = np_random.choice(world.landmarks)
    world.agents[1].goal_a = world.agents[0]
    world.agents[1].goal_b = np_random.choice(world.landmarks)
    # random properties for agents
    for i, agent in enumerate(world.agents):
        agent.color = np.array([0.25, 0.25, 0.25])
    # random properties for landmarks
    world.landmarks[0].color = np.array([0.75, 0.25, 0.25])
    world.landmarks[1].color = np.array([0.25, 0.75, 0.25])
    world.landmarks[2].color = np.array([0.25, 0.25, 0.75])
    # special colors for goals
    world.agents[0].goal_a.color = world.agents[0].goal_b.color
    world.agents[1].goal_a.color = world.agents[1].goal_b.color
    # set random initial states
    for agent in world.agents:
        agent.state.p_pos = np_random.uniform(-1, +1, world.dim_p)
        agent.state.p_vel = np.zeros(world.dim_p)
        agent.state.c = np.zeros(world.dim_c)
    for i, landmark in enumerate(world.landmarks):
        landmark.state.p_pos = np_random.uniform(-1, +1, world.dim_p)
        landmark.state.p_vel = np.zeros(world.dim_p)