Skip to main content

A Deep Reinforcement Learning package for the Godot game engine

Project description

Godot RL Agents

The Godot RL Agents is a fully Open Source packages that allows video game creators, AI researchers and hobbiest the opportunity to learn complex behaviors for their Non Player Characters or agents. This repository provides:

  • An interface between games created in Godot and Machine Learning algorithms running in Python
  • Access to 21 state of the art Machine Learning algorithms, provided by the Ray RLLib framework.
  • Support for memory-based agents, with LSTM or attention based interfaces
  • Support for 2D and 3D games
  • A suite of AI sensors to augment your agent's capacity to observe the game world
  • Godot and Godot RL agents are completely free and open source under the very permissive MIT license. No strings attached, no royalties, nothing.

You can find out more about Godot RL agents in our AAAI-2022 Workshop paper.

https://user-images.githubusercontent.com/7275864/140730165-dbfddb61-cc90-47c7-86b3-88086d376641.mp4

Contents

  1. Motivation
  2. Citing Godot RL Agents
  3. Installation
  4. Examples
  5. Documentation
  6. Roadmap
  7. FAQ
  8. Licence
  9. Acknowledgments
  10. References

Motivation

Over the next decade advances in AI algorithms, notably in the fields of Machine Learning and Deep Reinforcement Learning, are primed to revolutionize the Video Game industry. Customizable enemies, worlds and story telling will lead to diverse gameplay experiences and new genres of games. Currently the field is dominated by large organizations and pay to use engines that have the budget to create such AI enhanced agents. The objective of the Godot RL Agents package is to lower the bar of accessability so that game developers can take their idea from creation to publication end-to-end with an open source and free package.

Citing Godot RL Agents

@article{beeching2021godotrlagents,
  author={Beeching, Edward and Dibangoye, Jilles and 
    Simonin, Olivier and Wolf, Christian},
title = {Godot Reinforcement Learning Agents},
journal = {{arXiv preprint arXiv:2112.03636.},
year = {2021}, 
}


Installation

Please follow the installation instructions to install Godot RL agents.

Examples

We provide several reference implementations and instructions to implement your own environment, please refer to the Examples documentation.

Creating custom environments

Once you have studied the example environments, you can follow the instructions in Custom environments in order to make your own.

Roadmap

We have number features that will soon be available in versions 0.2.0 and 0.3.0. Refer to the Roadmap for more information.

FAQ

  1. Why have we developed Godot RL Agents? The objectives of the framework are to:
  • Provide a free and open source tool for Deep RL research and game development.
  • Enable game creators to imbue their non-player characters with unique * behaviors.
  • Allow for automated gameplay testing through interaction with an RL agent.
  1. How can I contribute to Godot RL Agents? Please try it out, find bugs and either raise an issue or if you fix them yourself, submit a pull request.
  2. When will you be providing Mac support? I would like to provide this ASAP but I do not own a mac so I cannot perform any manual testing of the codebase.
  3. Can you help with my game project? If the game example do not provide enough information, reach out to us on github and we may be able to provide some advice.
  4. How similar is this tool to Unity ML agents? We are inspired by the the Unity ML agents toolkit and make no effort to hide it.

Licence

Godot RL Agents is MIT licensed. See the LICENSE file for details.

"Cartoon Plane" (https://skfb.ly/UOLT) by antonmoek is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).

Acknowledgments

We thank the authors of the Godot Engine for providing such a powerful and flexible game engine for AI agent development. We thank the developers at Ray and Stable baselines for creating easy to use and powerful RL training frameworks. We thank the creators of the Unity ML Agents Toolkit, which inspired us to create this work.

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

godot_rl-0.0.3a1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

godot_rl-0.0.3a1-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file godot_rl-0.0.3a1.tar.gz.

File metadata

  • Download URL: godot_rl-0.0.3a1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.13

File hashes

Hashes for godot_rl-0.0.3a1.tar.gz
Algorithm Hash digest
SHA256 5a90b9054daa87b8bd361683b524ddad4f21b68ac44bb6822e0604858746df6f
MD5 80df94672ac69aafbfe765d385fde6cd
BLAKE2b-256 da12a60842d2ec397f979df4c860beb89f750e3c093a13b96f0ef8c9fe2bbe59

See more details on using hashes here.

File details

Details for the file godot_rl-0.0.3a1-py3-none-any.whl.

File metadata

  • Download URL: godot_rl-0.0.3a1-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.13

File hashes

Hashes for godot_rl-0.0.3a1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3ed73a637f5690d9251b8837f69387cfc1e8dcec6a56e6266f2e35cb7520651
MD5 d8c1758da2215d023a6f79e47e6b3271
BLAKE2b-256 687e84910975757e5119d742cce34f27a1c89bd5ffcfe369d32c4146ac023d33

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page