À propos du projet
Godot RL Agents est un package entièrement open source qui fait le pont entre le moteur Godot et des algorithmes d'apprentissage automatique basés sur Python, permettant aux développeurs de jeux, aux chercheurs en IA et aux amateurs de former des comportements complexes pour des personnages non joueurs (PNJ) ou des agents.
Le dépôt fournit :
- Une interface entre les jeux créés dans le moteur Godot et les algorithmes d'apprentissage automatique exécutés en Python.
- Des wrappers pour quatre frameworks RL bien connus : StableBaselines3, Sample Factory, Ray RLLib et CleanRL.
- Le support d'agents basés sur la mémoire utilisant des interfaces LSTM ou basées sur l'attention.
- Le support de jeux en 2D et en 3D.
- Une suite de capteurs IA pour améliorer la capacité d'un agent à observer le monde du jeu.
- Godot et Godot RL Agents sont entièrement gratuits et open source sous la licence MIT permissive.
Le projet est détaillé dans un article de l'atelier AAAI-2022 (arXiv:2112.03636).
## Guide de démarrage rapide
Le guide de démarrage rapide permet aux utilisateurs de se lancer avec le backend StableBaselines3, qui prend en charge Windows, Mac et Linux. Un tutoriel vidéo est également disponible.
### Installation et première formation
1. Installez la bibliothèque : `pip install godot-rl`
2. Téléchargez des environnements d'exemple depuis le hub, par exemple `gdrl.env_from_hub -r edbeeching/godot_rl_JumperHard`
3. Ajoutez des permissions d'exécution à l'exécutable du jeu si nécessaire.
4. Entraînez et visualisez en utilisant le script d'exemple Stable Baselines 3 :
```bash
python examples/stable_baselines3_example.py --env_path=examples/godot_rl_JumperHard/bin/JumperHard.x86_64 --experiment_name=Experiment_01 --viz
```
### Formation interactive dans l'éditeur
Les utilisateurs peuvent également former des agents directement dans l'éditeur Godot sans exporter l'exécutable du jeu. Les étapes incluent le téléchargement de la version .NET de Godot 4, l'importation du projet d'exemple et l'exécution du script de formation.
### Tutoriels
- Tutoriel sur l'environnement personnalisé
- Tutoriel sur l'environnement simple utilisant de nouveaux capteurs
- Tutoriel sur le mini-jeu traverser la route
- Tutoriel sur l'apprentissage par imitation
### Exportation et chargement d'agents entraînés au format ONNX
La dernière version fournit un support expérimental pour les modèles ONNX avec Stable Baselines 3, RLLib et CleanRL. Les utilisateurs peuvent exporter un modèle entraîné et le charger dans l'éditeur Godot en utilisant la version mono et le plugin.
## Utilisation avancée
Godot RL Agents prend en charge quatre frameworks de formation RL différents, chacun avec des guides détaillés :
- StableBaselines3 (Windows, Mac, Linux)
- SampleFactory (Mac, Linux)
- CleanRL (Windows, Mac, Linux)
- Ray RLLib (Windows, Mac, Linux)
## Contribution
Les contributions sont les bienvenues, y compris de nouveaux environnements, des améliorations de readme et des ajouts au codebase Python. Le processus implique de forker le dépôt, de le cloner, de créer un environnement virtuel et d'effectuer une installation éditable. Les tests peuvent être exécutés avec `make test`, et le formatage du code avec `make style` et `make quality`.
## FAQ
- **Pourquoi développer Godot RL Agents ?** Pour fournir un outil gratuit et open source pour la recherche en RL profond et le développement de jeux, permettre des comportements de PNJ uniques et permettre des tests de gameplay automatisés.
- **Comment contribuer ?** Essayez-le, trouvez des bugs, soulevez des problèmes ou soumettez des demandes de tirage.
- **Support Mac ?** Cela devrait maintenant fonctionner.
- **Similarité avec Unity ML Agents ?** Inspiré par Unity ML Agents mais vise à être plus compact, concis et hackable avec moins d'abstraction.
- **Gel périodique pendant la formation ?** Normal avec le script SB3 par défaut pendant la mise à jour du modèle ; l'exportation vers ONNX permet une inférence plus rapide.
## Licence
Godot RL Agents est sous licence MIT. L'actif "Cartoon Plane" est sous Creative Commons Attribution.
## Citation
Une entrée BibTeX est fournie pour citer l'article.
## Remerciements
Merci aux auteurs du moteur Godot, aux développeurs de Sample Factory, CleanRL, Ray et Stable Baselines, et aux créateurs de Unity ML Agents Toolkit pour l'inspiration.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.