edbeeching / godot_rl_agents

An Open Source package that allows video game creators, AI researchers and hobbyists the opportunity to learn complex behaviors for their Non Player Characters or agents
MIT License
942 stars 69 forks source link

More FAQ suggestions! #137

Open nonunknown opened 1 year ago

nonunknown commented 1 year ago
Ivan-267 commented 10 months ago

Hello, I know that these are FAQ suggestions but I'll add some information here.

"Does this library supports C#?"

The library uses C# for onnx inference (and mono version of Godot is required for onnx inference to work), but there are currently no C# implementations of the Sync and AIController nodes.

One way you could work with C# is to write the Player/Agent script and rest of the game logic as needed with C# and keep the AIController script in gdscript so you can extend from it.

"Its possible to export (game release) pre-trained agents? related to https://github.com/edbeeching/godot_rl_agents/issues/1"

As discussed in the issue, it is currently possible to export the agents using onnx format, which I tested on Windows. It may not work yet on all platforms. The steps to export are currently mentioned in the quickstart guide in the readme.

"Does it support AMD graphics card?"

Currently the inference is set to use the CPU. Regarding training, this depends on the framework/library support (e.g. which models can be used with Pytorch). For example I don't think I can do training on my RX 570 with Pytorch, but some newer models may work with Pytorch in Linux with ROCm. I am however able to train successfully using the CPU.

"What are the minimum PC requirements for having a good training during development?"

This will depend a lot on the environment complexity (how fast the environment itself runs, but also how complex are the observations/actions and how difficult the task is to learn), chosen algorithm and framework. Simple environments without high processing demands, complex observations or actions shouldn't need a high end computer, but more complex ones might benefit from more resources.