Your agents need to implement the [`NeuralMMOAgent`](evaluator/base_agent.py#L4) class from [`evaluator/base_agent.py`](evaluator/base_agent.py). You can check the code in [`agents`](agents) directory for examples.
Your agents need to implement the [`NeuralMMOMultiAgent`](evaluator/base_agent.py#L4) class from [`evaluator/base_agent.py`](evaluator/base_agent.py). You can check the code in [`agents`](agents) directory for examples.
**Note:** If your agent doesn't inherit the `NeuralMMOAgent` class, the evaluation will fail.
**Note:** If your agent doesn't inherit the `NeuralMMOMultiAgent` class, the evaluation will fail.
Once your agent class is ready, you can specify the class to use as the player agent in your [`config.py`](config.py). The starter kit comes with a machine learning based baseline. The [`config.py`](config.py) in the starter kit points to this class. You should update it to use your class.
Once your agent class is ready, you can specify the class to use as the player agent in your [`config.py`](config.py). The starter kit comes with a machine learning based baseline. The [`config.py`](config.py) in the starter kit points to this class. You should update it to use your class.
In round 2, your agent class is responsible for a team of **8** agents that work cooporatively.
You are expected to implement the following methods.
```
register_reset
compute_action
```
Each of these methods takes in **observations** and **idx** as params. **observations** is a dictionary of observations of all the agents controlled by your class. **idx** corresponds to the index of the agent, whose actions are to be reported.
You **must** define the variable self.agent_types.
It should be a list of size 8, and takes "neural" or "scripted" as values.
For information on tweaking and training the baseline agents, please refer [`training baselines`](docs/training-baselines.md).
For information on tweaking and training the baseline agents, please refer [`training baselines`](docs/training-baselines.md).