def METHOD_NAME(self, seed=None, options=None):
    if seed is not None:
        self._seed(seed=seed)
    self.agents = []
    self.rewards = {}
    self._cumulative_rewards = {}
    self.terminations = {}
    self.truncations = {}
    self.infos = {}
    self.num_steps = 0
    self._obs_spaces = {}
    self._act_spaces = {}
    self.state_space = gymnasium.spaces.MultiDiscrete([10, 10])
    self._state = self.state_space.sample()
    self.types = []
    self._agent_counters = {}
    for i in range(3):
        self.add_type()
    for i in range(5):
        self.add_agent(self.np_random.choice(self.types))
    self._agent_selector = agent_selector(self.agents)
    self.agent_selection = self._agent_selector.METHOD_NAME()
    # seed observation and action spaces
    for i, agent in enumerate(self.agents):
        self.observation_space(agent).seed(seed)
    for i, agent in enumerate(self.agents):
        self.action_space(agent).seed(seed)