Skip to content

oceddi/BeeT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BeeT

BeeT is a Behavior Tree library for C++. It contains a graphical application to easily create, edit and debug Behavior Trees.

Stage: Pre-production - Vertical Slice - Alpha - [Beta] - Gold

Last release: BeeT

How to use it

Include beet.h and BeeTLib.dll in your project.

First initialize the library calling:

BEET_Init()

Next, we have to provide a function to be called every time a Task node is executed. It has the following format:

NodeStatus MyFunc (int behaviorTreeId, const char* taskName);

// The task returns the state of the node after its execution. It can be:
NS_RUNNING,
NS_SUCCESS,
NS_FAILURE,
NS_SUSPEND

// We assign our callback function with
BEET_SetTaskCallbackFunc(MyFunc);

If we want to use the Debugger we have to initialize it at this point with:

BEET_InitDebugger(portNumber); // portNumber must be the same open port the Editor has

To load a Behavior Tree we have two options, load it from a file or from memory:

// From a file
int btID = BEET_LoadBehaviorTreeFromFile("myBTFile.json", BEET_TRUE);

// From memory
int btID = BEET_LoadBehaviorTree(myMemoryBuffer, memoryBufferSize, BEET_TRUE);

// Note: The last parameter in both functions indicates whether or not this tree will be considered for debugging. BEET_InitDebugger(int) needs to be called first.

An int is returned with the Behavior Tree identification.

In order to execute all the library logic we need to call BEET_Tick every frame passing the Delta Time as a parameter.

BEET_Tick(deltaTime); // Updates all the library logic

Blackboard variables can be readed and written calling:

// Read a Blackboard bool variable
bool value = BEET_GetBool(btID, "myBoolName");

// Set a Blackboard bool variable to false
bool success = BEET_SetBool(btID, "myBoolName", false);

To finish remember always to close the library with:

BEET_Shutdown();

Packages

No packages published

Languages

  • C 86.8%
  • C++ 9.8%
  • Objective-C 3.3%
  • Other 0.1%