Hi,
I'm sorry to say but it's hard to follow the logic how the opponents are chosen for the PPO agent.
I'm aware of very basic strategy that basically past N models that are checkpointed are selected as an opponent (by random), for the main trained network. Source is from OpenAI
If you could elaborate how you did this? There's some kind of ELO ranking going on but I'm not completely sure if it's just for logging or it's used for opponent selection.