Book Image

Learning Game AI Programming with Lua

By : David Young
Book Image

Learning Game AI Programming with Lua

By: David Young

Overview of this book

Table of Contents (16 chapters)
Learning Game AI Programming with Lua
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
Getting Started with AI Sandbox
Index

Updating the influence map


So far, we've seen how to configure and spread influences in isolation. The actual update loop for the influence map combines each of these steps together. Remember that clearing the influence map is necessary in between spreading influences; otherwise the resulting influences will be oversaturated:

function Sandbox_Update(sandbox, deltaTimeInMillis)
    Sandbox.ClearInfluenceMap(sandbox, 0);
    
    for i=1, 15 do
        Sandbox.SetInfluence(
            sandbox,
            0,
            Sandbox.RandomPoint(sandbox, "default"),
            1);
    end

    Sandbox.SpreadInfluenceMap(sandbox, 0);
end

While this simple update scheme will work, it is incredibly CPU-intensive to calculate the entire influence map every sandbox update. Typically, a slightly out of date influence map will not adversely affect tactical decision making based on influence map data. As the sandbox internally updates at a frequency independent of frame rate, we can use an updateInterval...