Ambiente de Air Hockey desenvolvido em Unity para treinamento de agentes com Reinforcement Learning utilizando ML-Agents (PPO), suportando execucao e treinamento diretamente no Unity.
| Ferramenta | Versao |
|---|---|
| Unity | 6000.0.23f1 |
| Python | 3.10.x (recomendado 3.10.12) |
| Conda | Anaconda ou Miniconda |
Na raiz do repositorio, execute:
powershell -ExecutionPolicy Bypass -File .\scripts\setup_conda_mlagents.ps1 -EnvName ml_agentsSe o ambiente ja estiver ativado:
conda activate ml_agents
powershell -ExecutionPolicy Bypass -File .\scripts\setup_conda_mlagents.ps1 -EnvName ml_agents -UseActiveEnvironment- Abra
unity/Assets/Scenes/SampleScene.unityno Unity. - No terminal, rode:
python -m mlagents.trainers.learn unity/Assets/ML-Agents/Configs/air_hockey.yaml --run-id AirHockey --time-scale 20 --resume- Aperte Play no Unity.
- Acompanhe o progresso com TensorBoard:
tensorboard --logdir resultsSe quiser montar o treino interativamente:
python tools/train_menu.pyO menu permite escolher YAML, rewards, grid de mesas, run-id, build e opcionalmente treinar contra a IA deterministica que segue o puck.
Gere a build de treino em builds/training/AirHockeyRL.exe pelo Unity e depois rode:
python -m mlagents.trainers.learn unity/Assets/ML-Agents/Configs/air_hockey.yaml --env "builds/training/AirHockeyRL.exe" --run-id AirHockey --time-scale 20 --resume --no-graphicsConsidere usar --no-graphics, que acelera bastante o treino em build.
Para jogar a build pronta:
.\builds\game\AirHockeyRL.exeUso rapido:
- clique em
JOGARno menu - o jogador controla o pusher azul
- o pusher laranja usa o agente/modelo configurado no projeto
- o controle principal e pelo mouse sobre a mesa; existe fallback por teclado no projeto
A build de treino nao e para jogar manualmente. Ela deve ser usada pelo ML-Agents:
python -m mlagents.trainers.learn unity/Assets/ML-Agents/Configs/air_hockey.yaml --env "builds/training/AirHockeyRL.exe" --run-id AirHockey --time-scale 20 --resume --no-graphicsSe preferir, rode:
python tools/train_menu.pye selecione a build de treino no menu.
scripts/setup_conda_mlagents.ps1scripts/setup_conda_mlagents.shrequirements-mlagents.txtdocs/GUIA_MLAGENTS_PROJETO.mdtools/train_menu.py
