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

Handling new agent sightings

As visibility can be updated very often, we only want to send out events for new agent sightings. We can create a helper function that will take a list of known agents indexed by their agent ID numbers and a list of currently visible agents. By storing the lastSeen time of a sighting, we can determine whether an event should be sent out.

Throttling events in this fashion prevents an abundance of redundant events from being propagated. As events are sent to every registered object, this can have an impact on performance when massive amounts of events are being sent:

AgentSenses.lua:

local function HandleNewAgentSightings( userData, knownAgents, spottedAgents) local newAgentSightings = {}; for key, value in pairs(spottedAgents) ...

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