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

Agent sighting events


Now that we can detect when another agent is visible, we can create specific messages about an agent sighting, a dead enemy, or even a dead friend that can be sent to teammates. By extending our EventType table, we can create the three new event types for which we'll be sending out events:

AgentCommunications.lua
AgentCommunications.EventType.DeadEnemySighted =
    "DeadEnemySighted";
AgentCommunications.EventType.DeadFriendlySighted =
    "DeadFriendlySighted";
AgentCommunications.EventType.EnemySighted = "EnemySighted";

New enemy sighted event

To send out a new enemy sighted event, we can create a wrapper that handles all the event-specific information such as the sighted agent, where it was sighted, as well as the time at which it was sighted. The last information about when they were sighted will come in handy when dealing with stale information:

AgentSenses.lua:

function SendNewEnemyEvent(
    sandbox, agent, enemy, seenAt, lastSeen)

    local event = {
        agent...