{"id":13732822,"url":"https://github.com/gilzamir18/AI4U","last_synced_at":"2025-05-08T09:31:12.369Z","repository":{"id":48164835,"uuid":"204368409","full_name":"gilzamir18/AI4U","owner":"gilzamir18","description":"AI4U is a plugin that allows you  use the Godot Game Engine to specify agents with reinforcement learning. Non-Player Characters (NPCs) of games can be designed using ready-made components. ","archived":false,"fork":false,"pushed_at":"2024-05-27T03:39:03.000Z","size":569039,"stargazers_count":61,"open_issues_count":4,"forks_count":12,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-05-29T00:15:00.364Z","etag":null,"topics":["artificial-intelligence","games","reinforcement-learning-environments","virtual-reality"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gilzamir18.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-26T00:52:19.000Z","updated_at":"2024-05-31T17:05:25.807Z","dependencies_parsed_at":"2024-05-31T17:05:21.880Z","dependency_job_id":"f7865574-9eb1-48a3-b0dc-42c72644da56","html_url":"https://github.com/gilzamir18/AI4U","commit_stats":null,"previous_names":["gilcoder/ai4u"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gilzamir18%2FAI4U","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gilzamir18%2FAI4U/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gilzamir18%2FAI4U/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gilzamir18%2FAI4U/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gilzamir18","download_url":"https://codeload.github.com/gilzamir18/AI4U/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224717468,"owners_count":17357889,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","games","reinforcement-learning-environments","virtual-reality"],"created_at":"2024-08-03T03:00:34.390Z","updated_at":"2025-05-08T09:31:12.360Z","avatar_url":"https://github.com/gilzamir18.png","language":"C#","funding_links":[],"categories":["Unity Resources"],"sub_categories":[],"readme":"# AI4U - Artificial Inteligence For You\n\nAI4U tool AI4U is a agent framework for modeling virtual reality and game environment. This repo we keep the reference implementation for Godot Game Engine.\n\nThe Godot version of the AI4U get advantage of the Godot architecture and facilitate agent specification by means of an agent abstraction. In Godot, AI4U provides a alternative approach to modeling Non-Player Characters (NPC). Although, developers can apply this tool in others situations, for example, the modeling environment for artificial intelligence experiments.\n\nAgent abstraction defines an agent living in a environment and interacting with this environment by means of sensors and actuators. So, NPC specification is a kind of agent specification. Agent's components are: sensors, actuators, events, reward functions and brain. Sensors and actuators are the interface between agents and environments. A sensor provides data to an agent's brain, while actuators send actions from agent to environment. A brain is a script that proccessing sensors' data e made a decision (selects an action by time).\n\n# AI4U Components\n\nThere are two components required to run AI4U in a new project: Python scripts and C# scripts.\n\n## Install Stable Python Scripts\nTo install the stable version of AI4U, run the command:\n\n```bash\npip install ai4u\n```\n\n## Install Stable C# Scripts\nNext, download the latest AI4U release [here](https://raw.githubusercontent.com/gilzamir18/AI4U/main/packages/ai4u.zip). Unzip this file and place it in the main directory of your Godot project.\n\n## Install the Latest Python Scripts\nThe Python component of AI4U can be installed using a local pip package. To install it, navigate to the directory `pyplugin/ai4upy/ai4u` and run the command:\n\n```bash\npip install -e .\n```\n\nThis command fetches the latest modifications from the AI4U repository.\n\n## Install the Latest C# Scripts\nClone the repository and copy the directory `addons/ai4u` to your project.\n\n# Tutorials\n* [Introduction](doc/introduction.md)\n* [Don't Break the Game](doc/dontbreakthegame.md)\n* [Events](doc/events.md)\n* [AI4U and Stable-Baselines3](doc/stable_baselines3guide.md)\n* [Using ONNX](doc/introductionwithonnxmodels.md)\n* [Why Python?](doc/whypython.md)\n\n\n# Requirements\n* Godot 4.2.2 Mono Version.\n* Python 3.12.\n* Micrsoft.ML.OnnxRuntime.\n* Gynasium.\n* Tested in Windows 11 and Ubuntu 24.04.\n\nThe minimum recommended hardware for AI4U is a computer with at least a GeForce 1050ti (4GB VRAM), 8GB of RAM, and at least 20GB of SSD storage. Naturally, the memory requirement can increase significantly if complex inputs are used in the agent's sensors (such as images) and if algorithms like *Soft-Actor-Critic* (SAC) and DQN are employed. For truly interesting use cases, such as using SAC with an image sensor, a computer with at least 24GB of RAM and a high-end GPU is necessary. For games, we recommend modest sensor configurations, such as moderate use of RayCasting.\n\n# Demo Projects\n[Here](https://github.com/gilzamir18/ai4u_demo_projects) we will include AI4U demo projects that you can use for experimentation.\n\n# Donation\n![PayPal](doc/img/donation.png)\n\nI love developing this project; particularly, I take pleasure in it. Due to health issues, I have reduced development here. However, I had an idea for developing a game using AI4U tools. If you want to bet on this idea, I'll make an effort to continue developing AI4U in the context of this new idea. Then, I'll update AI4U as I progress. If you want to support the project, use the QR CODE above to donate any amount. Thank you.\n\n# Maintainers\nAI4U is currently maintained by Gilzamir Gomes (gilzamir_gomes@uvanet.br), Creto A. Vidal (cvidal@dc.ufc.br), Joaquim B. Cavalcante-Neto (joaquimb@dc.ufc.br) and Yuri Nogueira (yuri@dc.ufc.br).\n\nImportant Note: We do not do technical support, nor consulting and don't answer personal questions per email.\nHow To Contribute\nTo any interested in making the AI4U better, there is still some documentation that needs to be done. If you want to contribute, please read CONTRIBUTING.md guide first.\n\nAcknowledgments\nAI4U was created in the CRab (Computer Graphics, Virtual Reality and Animations) Labs at UFC (Universidade Federal do Ceará).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgilzamir18%2FAI4U","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgilzamir18%2FAI4U","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgilzamir18%2FAI4U/lists"}