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

Spreading influences


To actually spread the current influences to their maximum possible regions, you can call Sandbox.SpreadInfluenceMap. Based on how influences are configured to fall off over distances, the spreading of influences will be calculated automatically. The reason behind spreading influences allows for a quantization of areas where multiple systems can access spatial data with no overhead cost of calculating values:

Sandbox.SpreadInfluenceMap(sandbox, influenceMapLayer);

The overall algorithm used to calculate influence has a maximum of 20 iterations in case the set falloff of influence is so low that it could propagate past 20 cells in any direction. Additionally, if the propagation of influence drops below the minimum of one percent, the algorithm will terminate early:

iterationMax = 20
minPropagation = 0.01
currentPropagation = 1 - falloff

for (iteration; iteration < iterationMax; ++iteration) {
    UpdateInfluenceGrid(grid, layer, inertia, falloff)
    
    currentPropagation...