Søren Larsen and myself, Jonas Groth, have published our masters thesis and the source code of the proposed behavior tree framework, planning architecture, editor and test scenario.

Thesis

Source Code

The material is provided as is but if anyone finds an interest in this and has questions you are more than welcome to contact us:
jgroth07 at student.aau.dk
slars07 at student.aau.dk
The contents of this report are openly available, but publication (with reference to the source) is only allowed with the agreement of the authors.


By popular request we have uploaded videos of each test along with a compiled version of each test.

Scripted01

Listing 3.1

This test is the simplest script. The AI will run from Start to Bar and then to Patron. Afterwards it will run to Room 3 and open the door and enter. It will return to Start and re-run the behavior

Video
Compiled version

Scripted02

Listing 3.2

This test is an extension of the previous test. The AI will now run into Room 1 after it exits Room 3

Video
Compiled version

Scripted03

Listing 3.3

This test is the final comparison test. The AI will now choose, after exiting Room 1, whether it should go into Room 1 or 2

Video
Compiled version

BehaviorTree01

Figure 3.5

This is a Behavior Tree implementation of Scripted01

Video
Compiled version

BehaviorTree02

Figure 3.7 and Figure 3.8

This is a Behavior Tree implementation of Scripted02

Video
Compiled version

BehaviorTree03

Figure 3.9

This is a Behavior Tree implementation of Scripted03

Video
Compiled version

Static01

Figure 5.1

This is the first behavior of the architecture experiments. This behavior will run between Start, Bar and Patron. It will choose between Walk, Run and Teleport with 1/3 probability

Video
Compiled version

Static02

Figure 5.9

This is the second behavior of the architecture experiments. The behavior is almost the same as above except that Run has a probability of 0.77, Teleport has 0.15 and Walk has 0.8

Video
Compiled version

Static03

Figure 5.17

This is the last behavior of the architecture experiments. The behavior moves the AI into Room 1 dealing with the locked door. This behavior has a bug in the compiled version causing it to attempt to run back to start. The test works in debug mode in the Unity project

Video
Compiled version

PlannedBehavior01

Section 5.1

This is the planned Behavior Tree implementation of Static01

Video
Compiled version

PlannedBehavior02

Section 5.2

This is the planned Behavior Tree implementation of Static02

Video
Compiled version

PlannedBehavior03

Section 5.3

This is the planned Behavior Tree implementation of Static03

Video
Compiled version