Utility AI (GDExtension)'s icon

Utility AI (GDExtension) 1.6 Scripts 4.1 Community

Submitted by user Grr; MIT; 2024-01-24

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


View files Download Submit an issue Recent Edits