Rule-based agent presented in Getting Started section is a good place to start, but things become more interesting with addition of Reinforcement Learning. For a quick example, you can have a look at the [GFootball - train SEED RL agent](https://www.kaggle.com/piotrstanczyk/gfootball-train-seed-rl-agent) notebook, which shows how to train a V-Trace agent using [SEED RL](https://github.com/google-research/seed_rl/).

Kaggle Notebook might not be sufficient to train a comprehensive agent for the competition. There are a number of other alternatives worth mentioning:

* Use GPU-enabled Kaggle Notebooks to speed up the training process. Note that this makes sense when training the agent is more expensive than running the environment.

* Running training locally on your workstation / server(s). For ways on how to start that, have a look at [Google Research Football GitHub repository](https://github.com/google-research/football/). You can find instructions on how to train example PPO agent [here](https://github.com/google-research/football/tree/511e6412808bbc334cc29e78ba01919dd59f7e19#training-agents-to-play-grf).

* You can give [SEED RL](https://github.com/google-research/seed_rl/) a try. There is a nice [blog-post](https://sites.google.com/corp/view/rl-football/zpp) from Warsaw University students who conducted a research project using Google Research Football environment and SEED RL.

* It is possible to train your agent using any other RL framework or implementing your own.

Don't limit yourself to applying existing tools and methods. Try to invent better ways of training strong agents.