Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lupoglaz/GodotAIGym
Communicating with godot engine through shared memory
https://github.com/lupoglaz/GodotAIGym
Last synced: about 1 month ago
JSON representation
Communicating with godot engine through shared memory
- Host: GitHub
- URL: https://github.com/lupoglaz/GodotAIGym
- Owner: lupoglaz
- License: mit
- Created: 2019-03-23T20:48:40.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-13T17:47:34.000Z (over 1 year ago)
- Last Synced: 2024-08-02T06:19:20.776Z (4 months ago)
- Language: Python
- Homepage: https://lupoglaz.github.io/GodotAIGym/
- Size: 4.98 MB
- Stars: 209
- Watchers: 15
- Forks: 26
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-godot - GodotAIGym - Make your Godot project into an OpenAI Gym environment to train RL models with PyTorch. (Modules / 3D)
- awesome-godot-3 - GodotAIGym - Make your Godot project into an OpenAI Gym environment to train RL models with PyTorch. (Modules / 3D)
- awesome-godot-3 - GodotAIGym - Make your Godot project into an OpenAI Gym environment to train RL models with PyTorch. (Modules / 3D)
README
# GodotAIGym
![logo](docs/Fig/GodotGymLogo.png)Make your Godot project into OpenAI Gym environment to train RL models with PyTorch. This project only runs on Linux systems for now.
## Requirements
1. Godot Engine version == 3.2 compiled from source (not tested with the later versions)
2. Boost interprocess and time (apt install libboost-container-dev libboost-system-dev libboost-locale-dev)
3. Pytorch version == 1.10
4. Python setuptools## Installation
First, in **setup.py** change the variable **GODOT_PATH** to the root directory of godot engine source. Then run:
```bash
python setup.py
```
This script does several things:
1. Downloads libtorch (v1.10) cpu only version, unpacks it
2. Copies **GodotSharedMemory** module and compiles standard godot editor (x11 platform).
3. Compiles x11 export template and dev tools
4. Installs python module **GodotEnv** that is used to communicate with the engine.## Docs
[InvPendulum](https://lupoglaz.github.io/GodotAIGym/tutorial_basic.html)
tutorial shows how to make an environment, speed up its execution, train a model and deploy back to the engine.[API](https://lupoglaz.github.io/GodotAIGym/API.html) lists classes and function in python and godot.
# TODO
1. Check if it's possible to use GDNative + shared libs instead of the engine recompilation.
2. Windows compatibility