1v1 Self-Play Football AI
This project utilizes the Unity ML-Agents toolkit to create a competitive 1v1 football environment. Agents are trained using the Proximal Policy Optimization (PPO) algorithm combined with a Self-Play mechanism, allowing them to evolve by competing against increasingly difficult versions of themselves. The system features a sophisticated reward shaping logic, 360-degree ray-cast vision and real-time ELO rating tracking to measure agent progression.
Key Features
- Deep Reinforcement Learning using PPO algorithm
- Self-Play mechanism for competitive skill evolution
- Curiosity-driven exploration to prevent local optima and spinning
- Dynamic reward shaping (Goal, Ball-touch and Proximity rewards)
- 180° Ray Perception Sensors and directional vector observations
- Parallelized training with multiple environments for faster data collection
- TensorBoard integration for performance metrics and ELO tracking
Tech Stack
Unity EngineC# (Scripting)Python (ML-Agents Toolkit)PyTorch (Neural Networks)YAML (Hyperparameter Configuration)TensorBoard (Data Visualization)
Screenshots







