프로젝트 소개
Godot RL Agents는 Godot Engine과 Python 기반 머신러닝 알고리즘을 연결하는 완전한 오픈소스 패키지로, 게임 개발자, AI 연구자, 취미 개발자들이 비플레이어 캐릭터(NPC) 또는 에이전트의 복잡한 행동을 훈련할 수 있게 해줍니다.
이 저장소는 다음을 제공합니다:
- Godot Engine으로 제작된 게임과 Python에서 실행되는 머신러닝 알고리즘 간의 인터페이스.
- StableBaselines3, Sample Factory, Ray RLLib, CleanRL의 네 가지 잘 알려진 RL 프레임워크용 래퍼.
- LSTM 또는 어텐션 기반 인터페이스를 사용하는 메모리 기반 에이전트 지원.
- 2D 및 3D 게임 모두 지원.
- 에이전트가 게임 세계를 관찰하는 능력을 향상시키는 AI 센서 모음.
- Godot 및 Godot RL Agents는 허용적인 MIT 라이선스 하에 완전히 무료이며 오픈소스입니다.
이 프로젝트는 AAAI-2022 워크숍 논문(arXiv:2112.03636)에 자세히 설명되어 있습니다.
## 빠른 시작 가이드
빠른 시작 가이드는 Windows, Mac, Linux를 지원하는 StableBaselines3 백엔드로 사용자를 시작하게 합니다. 비디오 튜토리얼도 제공됩니다.
### 설치 및 첫 번째 훈련
1. 라이브러리 설치: `pip install godot-rl`
2. 허브에서 예제 환경 다운로드, 예: `gdrl.env_from_hub -r edbeeching/godot_rl_JumperHard`
3. 필요한 경우 게임 실행 파일에 실행 권한을 추가합니다.
4. 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
```
### 에디터 내 대화형 훈련
사용자는 게임 실행 파일을 내보내지 않고 Godot 에디터에서 직접 에이전트를 훈련할 수도 있습니다. 단계에는 Godot 4 .NET 버전 다운로드, 예제 프로젝트 가져오기, 훈련 스크립트 실행이 포함됩니다.
### 튜토리얼
- 사용자 지정 환경 튜토리얼
- 새로운 센서를 사용한 간단한 환경 튜토리얼
- 길 건너기 미니 게임 튜토리얼
- 모방 학습 튜토리얼
### ONNX 형식으로 훈련된 에이전트 내보내기 및 로드
최신 버전은 Stable Baselines 3, RLLib, CleanRL과 함께 ONNX 모델에 대한 실험적 지원을 제공합니다. 사용자는 훈련된 모델을 내보내고 mono 버전과 플러그인을 사용하여 Godot 에디터에서 로드할 수 있습니다.
## 고급 사용법
Godot RL Agents는 각각 자세한 가이드가 있는 네 가지 다른 RL 훈련 프레임워크를 지원합니다:
- StableBaselines3 (Windows, Mac, Linux)
- SampleFactory (Mac, Linux)
- CleanRL (Windows, Mac, Linux)
- Ray RLLib (Windows, Mac, Linux)
## 기여
새로운 환경, readme 개선, Python 코드베이스 추가를 포함한 기여를 환영합니다. 프로세스에는 저장소 포크, 클론, 가상 환경 생성, 편집 가능한 설치 수행이 포함됩니다. 테스트는 `make test`로, 코드 포맷팅은 `make style` 및 `make quality`로 실행할 수 있습니다.
## FAQ
- **Godot RL Agents를 개발하는 이유는 무엇인가요?** 딥 RL 연구 및 게임 개발을 위한 무료 오픈소스 도구를 제공하고, 고유한 NPC 행동을 가능하게 하며, 자동화된 게임플레이 테스트를 허용하기 위해서입니다.
- **기여하는 방법은 무엇인가요?** 사용해 보고, 버그를 찾고, 이슈를 제기하거나 풀 리퀘스트를 제출하세요.
- **Mac 지원은요?** 이제 작동해야 합니다.
- **Unity ML Agents와 유사한가요?** Unity ML Agents에서 영감을 받았지만 더 간결하고, 명확하며, 추상화가 적어 해킹하기 쉽도록 목표로 합니다.
- **훈련 중 주기적으로 멈추나요?** 기본 SB3 스크립트에서 모델이 업데이트되는 동안 정상입니다. ONNX로 내보내면 더 빠른 추론이 가능합니다.
## 라이선스
Godot RL Agents는 MIT 라이선스입니다. "Cartoon Plane" 자산은 Creative Commons Attribution 하에 있습니다.
## 인용
논문 인용을 위한 BibTeX 항목이 제공됩니다.
## 감사의 말
Godot Engine 저자, Sample Factory, CleanRL, Ray, Stable Baselines 개발자, 그리고 영감을 준 Unity ML Agents Toolkit 제작자에게 감사드립니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.