Skip to content

polzon/show-dont-tell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is this?

Show Don't Tell is a Node-based Godot 4+ plugin written in pure gd-script for modular behavior AI. The best story-telling is done through showing, not telling.

Currently supports a basic implementation of FSM (Finite State Machines), Behavior Trees, Utility AI, and an early but functional version of GOAP (Goal-Orrientted Action Planning)

Important

The AI referred to in this project is classical automata behavior AI that is frequently used in games. It's not referring to the current AI hype for things like LLMs (Large Language Models).

Project Goals

This project is my intepretation of these systems, and the design goal is to make them as interchangable as possible so they can easily be mixed and matched. This means Behavior Trees and Finite State Machines which are very different concepts that usually incompatible are redesigned to work together.

The AI should shouldn't be exclusive to NPCs either. Since the AI planinng patterns are controlled by the Action type, this can be implemented by playable characters and non-playable. Both are simply controllers in this design that are interchangable.

There is also an editor in early development, however it is not functional yet.

Stability

Warning

As this project is under active development and is rapidly changing primarily for my own use-cases, this is not meant to be used as-is in projects. It is more intended as a reference to copy/steal for your own code and projects.

This project is a shared library with my internal game I'm working on. The goal is to keep this library as dimension-agnostic as possible, however in practice it may show that my game is done in 2D, and support for 3D games has not been tested or developed.

Because of this library being written internally for my game, it targets my currently used Godot version which is more often than not the current pre-release As such, I may implement and replace things with newer gdscript features, such as @abstract.

If you're looking for a more mature AI solution, I recommend Beehave or LimboAI. Both are fantastic and very mature addons. There are many more fantastic AI tools out there, but these are the ones I know of.

Credits

Contributors