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

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...

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)