from 2022/12 to 2023/4
  • C#
  • Unity
  • Machine Learning
  • Deep Learning
  • Reinforcment Learning

3D Soccer Sim

3D Soccer Sim is a Unity-based soccer simulation environment designed for experimenting with multi-agent reinforcement learning in a 2v2 setting. The simulator focuses on training two deep reinforcement learning agents to play soccer cooperatively and competitively using real-time spatial data and game dynamics. This project was developed as an assesment for Deep learning and Multi-agent systems Courses in University of Tehran.

Built with Unity and C#, this project provides an interactive and extensible framework for AI training, benchmarking, and visualization in multi-agent systems.


Screenshots:

Soccer simulator


Project Goals

  • Build a 3D soccer simulation environment in Unity
  • Implement a 2 vs 2 multi-agent system
  • Train agents using deep reinforcement learning techniques
  • Simulate realistic interactions between agents, ball, and environment
  • Observe emergent cooperative and adversarial behaviors between agents

Tech Stack

Component Technology
Game Engine Unity (C#)
AI Framework Custom integration with ML libraries
Learning Algorithms PPO
Agents Multi-Agent System (2v2)
Simulation Target Soccer Environment

Features

  • Supports training and evaluation of AI agents in Unity
  • Real-time soccer mechanics with ball control.
  • Easily extendable for reward shaping, new strategies, or larger teams
  • Visualization tools for debugging and training observation

Use Cases

  • Research on multi-agent reinforcement learning in dynamic environments
  • Simulation-based AI development and policy testing
  • Teaching tool for ML concepts in interactive 3D settings
  • Benchmarking multi-agent coordination and competition strategies

Reinforcement Learning Setup

  • Agents receive input from the environment (positions, velocities, ball state, field of view)
  • Actions include move, turning around
  • Rewards based on goals, positioning, and strategy
  • Supports integration with frameworks like ML-Agents, PyTorch, or TensorFlow via socket or REST interface