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.

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.1/utility_ai_example_project_1.1.zip

The extension adds the following nodes to your project:
- UtilityAIAgent: Main node for AI agents, represents an AI entity. You add Sensors and Behaviours under this node.
- UtilityAISensor and UtilityAISensorGroup: The Sensor node is used to gather information about the game world for the AI agent (distances to enemies, ammo, health, etc). The Sensor Group is used to group and aggregate the sensor data.
- UtilityAIBehaviour: The various things the AI agent can do are called behaviours. Each behaviour is defined by the Considerations and Actions it contains.
- UtilityAIBehaviourGroup: for grouping behaviours for easier activation/deactivation
- UtilityAIConsideration and UtilityAIConsiderationGroup: The AI Agent uses considerations to do its reasoning on what kind of a score each behaviour gets. Consideration Groups are used to combine several Considerations (and Consideration Groups) to create more complex scoring logic.
- UtilityAIAction and UtilityAIActionGroup: These nodes define what actions a behaviour contains and the sequence for executing them.

To get started open the included example project. It contains three 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.

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.

A tutorial can be found here: https://github.com/JarkkoPar/Utility_AI_GDExtension/tree/main/tutorial
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.1
Download Commit 218073e2e64ff68add0bd25640107d01a8bf3d49 c83ce3749222d1acc4c5e7c5fdb2d1b7e806563a
Download Url (Computed) https://github.com/JarkkoPar/Utility_AI_GDExtension/archive/218073e2e64ff68add0bd25640107d01a8bf3d49.zip https://github.com/JarkkoPar/Utility_AI_GDExtension/archive/c83ce3749222d1acc4c5e7c5fdb2d1b7e806563a.zip
Icon Url https://raw.githubusercontent.com/JarkkoPar/Utility_AI_GDExtension/main/utility_ai.png