Reader small image

You're reading from  Learning Game AI Programming with Lua

Product typeBook
Published inNov 2014
Reading LevelBeginner
PublisherPackt
ISBN-139781783281336
Edition1st Edition
Languages
Right arrow
Author (1)
David Young
David Young
Right arrow

Decision trees


Decision trees will be the first structure we'll implement and are, by far, the easiest way to understand how a decision was made. A decision tree is composed of branches and leaves. Each branch in the tree will wrap an evaluator, while each leaf will be composed of an action. Through a sequence of branch conditions, our decision tree will always result in a final action that our agent will perform.

To create a decision tree structure, we'll implement an update loop for our tree, which evaluates the root branch within the tree and then proceeds to process the resulting action. Once the action has been initialized, updated, and eventually, terminated, the decision tree will re-evaluate the tree from the root branch to determine the next action to be executed:

DecisionTree.lua:

require "Action"

DecisionTree = {};

function DecisionTree.SetBranch(self, branch)
    self.branch_ = branch;
end

function DecisionTree.Update(self, deltaTimeInMillis)
    -- Skip execution if the tree...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Learning Game AI Programming with Lua
Published in: Nov 2014Publisher: PacktISBN-13: 9781783281336

Author (1)