Edit of asset "Utility AI (GDExtension)" Accepted
Old/Current | New/Edit | |
---|---|---|
Title | Utility AI (GDExtension) | |
Description |
A set of nodes for making AI agents, with support to utility-based behaviour and state selection. Created using GDExtension and C++. The extension contains: - Utility-based AI Agent Behaviour nodes - Utility-enabled Behaviour Tree nodes (can also be used as a regular behaviour tree) - Utility-enabled State Tree nodes for hierarchical state management - Node Query System for generalized Utility-based node queries, with time-budgeting Binaries available for Windows and Linux. Web/Wasm and (unsigned) MacOS binaries are also included and are currently experimental. The linked github release zip-file contains only the gdextension files. Please download the example project as a separate zip-file from the Releases page or using this direct link: https://github.com/JarkkoPar/Utility_AI_GDExtension/releases/download/v1.6/utility_ai_example_project_1.6.zip The Utility AI GDExtension contains utility-based nodes for creating AI Agent Behaviours and a generalized Node Query System for performing "find top N nodes" queries. The Agent Behaviour, State Tree and the Behaviour Tree nodes can be used to create AI agents to your games, and the Node Query System to add searching and ranking of any type of node to find, for instance, the best tile to move to, the best cover point to take, the best buff to use, etc. The Node Query System has a time budgeting feature, which will spread out the queries to several frames when the given per-frame time budget is reached (i.e. it will keep your FPS up even with heavier queries). To get started, open the included example project. It contains examples that will help you learn to use the nodes: - Example 1 is a simple example with an AI agent that has very simple behaviours to follow the mouse cursor. - Example 2 is a more elaborate example with an AI agent that has multiple behaviours and has two AI teams fighting for their lives. - Example 3 shows a better way of using actions to make your actions more re-usable between AI agents. - Example 4 shows how to use the UtilityAIArea2DVisibilitySensor to let your AI see and hear player actions in the game world. - Example 5 shows how to use the Behaviour Tree nodes with the Node Query System, and demonstrates the time budgeting feature. - Example 6 is a 3D example that shows how to create a simple cover system and an AI that tries to hide behind cover, using the AI Agent Behaviours, Behaviour Tree nodes and the Node Query System. This repository contains the binaries and example project only. If you want the source code, follow the link in the readme.md to the source code repository. Tutorials can be found here: https://github.com/JarkkoPar/Utility_AI_GDExtension/tree/main/tutorial Full release notes for the latest release can be found here: https://github.com/JarkkoPar/Utility_AI_GDExtension/releases/tag/v1.6 |
A set of nodes for making Utility AI agents. Created using GDExtension and C++. - Utility-based AI Agent Behaviour nodes - Utility-enabled Behaviour Tree nodes - Utility-enabled State Tree nodes - Node Query System for generalized Utility-based node queries, with time-budgeting Binaries available for Windows and Linux. Web/Wasm and (unsigned) MacOS binaries are also included and are currently experimental. The linked github release zip-file contains only the gdextension files. Please download the example project as a separate zip-file from the Releases page or using this direct link: https://github.com/JarkkoPar/Utility_AI_GDExtension/releases/download/v1.5/utility_ai_example_project_1.5.zip The Utility AI GDExtension contains utility-based nodes for creating AI Agent Behaviours and a generalized Node Query System for performing "find top N nodes" queries. The Agent Behaviour, State Tree and the Behaviour Tree nodes can be used to create AI agents to your games, and the Node Query System to add searching and ranking of any type of node to find, for instance, the best tile to move to, the best cover point to take, the best buff to use, etc. The Node Query System has a time budgeting feature, which will spread out the queries to several frames when the given per-frame time budget is reached (i.e. it will keep your FPS up even with heavier queries). To get started, open the included example project. It contains examples that will help you learn to use the nodes: - Example 1 is a simple example with an AI agent that has very simple behaviours to follow the mouse cursor. - Example 2 is a more elaborate example with an AI agent that has multiple behaviours and has two AI teams fighting for their lives. - Example 3 shows a better way of using actions to make your actions more re-usable between AI agents. - Example 4 shows how to use the UtilityAIArea2DVisibilitySensor to let your AI see and hear player actions in the game world. - Example 5 shows how to use the Behaviour Tree nodes with the Node Query System, and demonstrates the time budgeting feature. - Example 6 is a 3D example that shows how to create a simple cover system and an AI that tries to hide behind cover, using the AI Agent Behaviours, Behaviour Tree nodes and the Node Query System. This repository contains the binaries and example project only. If you want the source code, follow the link in the readme.md to the source code repository. Tutorials can be found here: https://github.com/JarkkoPar/Utility_AI_GDExtension/tree/main/tutorial For those updating from version 1.4: This release changes some NodePaths to Node references, which gives improvements to speed and improves usability when scripting, but will require you to re-assign sensor nodes to considerations. Full release notes for the latest release can be found here: https://github.com/JarkkoPar/Utility_AI_GDExtension/releases/tag/v1.5 |
Category | Scripts | |
License | MIT | |
Repository Provider | GitHub | |
Repository Url | https://github.com/JarkkoPar/Utility_AI_GDExtension | |
Issues Url | https://github.com/JarkkoPar/Utility_AI_GDExtension/issues | |
Godot version | Godot 4.1 | |
Version String | 1.6 | 1.5 |
Download Commit | 218073e2e64ff68add0bd25640107d01a8bf3d49 | 7171a66f8a5386466010fc07ec11ed8b6090d97c |
Download Url (Computed) | https://github.com/JarkkoPar/Utility_AI_GDExtension/archive/218073e2e64ff68add0bd25640107d01a8bf3d49.zip | https://github.com/JarkkoPar/Utility_AI_GDExtension/archive/7171a66f8a5386466010fc07ec11ed8b6090d97c.zip |
Icon Url |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/utility_ai.png
|
Preview Update | ||
---|---|---|
Type | image | |
Image/Video URL |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/screenshots/example_1.png
|
|
Thumbnail |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/screenshots/example_1.png
|
Preview Update | ||
---|---|---|
Type | image | |
Image/Video URL |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/screenshots/example_2.png
|
|
Thumbnail |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/screenshots/example_2.png
|
Preview Update | ||
---|---|---|
Type | image | |
Image/Video URL |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/screenshots/example_4.png
|
|
Thumbnail |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/screenshots/example_4.png
|
Preview Update | ||
---|---|---|
Type | image | |
Image/Video URL |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/screenshots/example_6.png
|
|
Thumbnail |
https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/screenshots/example_6.png
|