O'Reilly logo

Learning Game AI Programming with Lua by David Young

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Updating behavior actions

The only remaining work while using the blackboard is to refactor the data manipulation that occurs within a number of soldier behaviors.

The die action

Updating the die action requires us to set the blackboard's alive attribute instead of using userData directly:

SoldierActions.lua:

function SoldierActions_DieUpdate(deltaTimeInMillis, userData)
    userData.blackboard:Set("alive", false);
    return Action.Status.TERMINATED;
end

The flee action

With a bestFleePosition data source, our flee action no longer needs to perform any calculations and simply finds a path directly to the blackboard's stored position. With a flee position update frequency of 5 seconds, the bestFleePosition data source will get updated in a timely manner without ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required