Download - Games and Agents: Designing Intelligent Game Play

Transcript
Page 1: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Games and Agents:Designing Intelligent Game Play

Page 2: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht April 21, 2023 2

Contents

• Agents for games?• Connecting agent technology and

game technology• Challenges• Infrastructural stance• Conceptual stance• Design stance• Conclusions

Page 3: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht April 21, 2023 3

Agents or scripted characters?

Page 4: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Do we need agents?

April 21, 2023 4

Page 5: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Agents for Games?

• Assume that we want to use agents for creating “intelligent” characters in games.

• Can we use Agent Technology to implement those agents in the games?

• I.e. can we make use of all the tools, techniques and platforms that are developed to implement intelligent agents for the incorporation of agents in games?

• If so, what do we need to do to couple the agent and game technologies?

• Or do we have to start from scratch and develop everything again specially for the game environment?

April 21, 2023 5

Page 6: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Game Engines and AgentsClient side approach

Physics Engine

Animation Engine

Graphics Engine

Input module

Game logic/loop

Sound Engine

Agents

Page 7: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Example: Gamebots

April 21, 2023 7

Page 8: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Multi Agent Systems

Environment

Environment

Environment

AgentAgent Platform

Agent

Agent

Agent

Communication ManagerUser Interface

Environment

Page 9: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Game Engines and AgentsServer side approach

April 21, 2023 9

AgentifiedCharacter

AgentifiedCharacter

AgentifiedCharacter

Physics Engine

Animation Engine

Graphics Engine

Game Engine

Sound Engine

Page 10: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Example: Quake

April 21, 2023 10

Page 11: Games and Agents: Designing Intelligent Game Play

[email protected]@cs.uu.nl

Gam

es a

nd A

gent

sG

ames

and

Age

nts

Games plus Agents

GE, 23.01.08

AgentAgent Platform

Agent

Agent

Agent

Communication ManagerUser Interface

Physics Engine

Animation Engine

Graphics Engine

Game logic/loop

Sound Engine

Input module GE Environment MAS

Control?

Page 12: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Challenges

•Synchronization•Filtering•Communication

April 21, 2023 12

Page 13: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Stances

•Infrastructure•Conceptual•Design

April 21, 2023 13

Page 14: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Solutions

April 21, 2023 14

Infrastructure Conceptual Design

SynchronizationEvent

QueuesTimestamps

Filtering HLA Ontology

CommunicationCommunication

QueueACM

Interaction Patterns

Page 15: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Infrastructural stance: issues

•Information from GE to agents•Actions from agents to GE•Communication between agents

through GE•Time

April 21, 2023 15

Page 16: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Infrastructure: middleware with event queues

April 21, 2023 16

Agent Platform Game Engine

Succeeded?

Requested action

Page 17: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Conceptual stance: issues

•Ontological mapping•Perception and Action•Communication

April 21, 2023 17

Page 18: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Data representation

• Problem: Different data concepts in GE and MAS• World state vs. strategic abstraction level

• Solution: Translation-step during agent sensing on GE-side

• Design issue: Suitable abstraction level (not too low, not too high)

Conceptual Aspects Technical Aspects

- interpretability- efficiency- communication-costs

Page 19: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Control over Perception

• Problem: Perceptual attention for agents• Cannot attend to all information from the environment

• Filtering cannot be performed by GE or MAS alone

• Solution: Subscription-based filtering mechanism• Agent controls sensing: what and when to sense

• Design issue: Balance flow of sensory information (not too much, not too little)

Conceptual Aspects Technical Aspects

- goal-directed/ stimulus-driven

- performance MAS- performance GE- communication-costs

Page 20: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Control over Action Realization

• Problem: Different nature of actions in typical GE and MAS environments

• Modality + Duration

• Solution: Action mechanism for body control + feedback channel

• Dispatch, abort, feedback about status

• Define actions at functional level

• Design issue: Suitable abstraction-level (not too low, not too high)

Conceptual Aspects Technical Aspects

- control- individuality

- efficiency- communication-costs

Page 21: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Communication

• Problem: Different communication in MAS and GE• Method: communicative intent (direct) vs. verbal and nonverbal

communicative behavior (indirect)

• Communication channel: reliable vs. unreliable

• Solution: Communication mechanism.• Allow MAS-communication through simulation environment

• Design issue: Choose method: behavior or intent

Conceptual Aspects Technical Aspects

- interpretability - complexity- efficiency

Page 22: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Middleware Approach

• Bridge conceptual gap using a middleware• Design problems not responsibility of GE or MAS

• Middleware to provide technical facilities:• Translate data representations• Perception/action/communication mechanisms

• Don’t restrict designers in their IVA design, but offer technical solutions to help them realizing their design

• Performance determined by how the facilities are used

• Middleware itself is not part of the IVA design!

• CIGA Framework developed to follow this design approach

Page 23: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

CIGA Framework

• Physical Interface: Connect to simulation environments• E.g. CORE, (UT, CryEngine, Ogre, Delta3D, etc)

• Cognitive Interface: Connect to agent systems• E.g. Jadex, 2APL, BT-based MAS, etc

• Connection Mechanism: Internal message-passing system• Introduced for flexibility and portability• E.g. TCP/IP, Java/C++ bridge

• Ontology Model: contract between GE and MAS• E.g. Specify ontology using: Protégé, custom ontology editors

Page 24: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Games plus Agents

GE, 23.01.08

AgentAgent Platform

Agent

Agent

Agent

Communication ManagerUser Interface

Physics Engine

Animation Engine

Graphics Engine

Game logic/loop

Sound Engine

Event queues

Ontological mapping

DynamicEvent subscription

AGE

Page 25: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Design stance: issues

• How intelligent can an agent behave (boundaries):• Story line

• Game rules (including communication)

• Environment (UI and look and feel)

• Roles

April 21, 2023 25

Page 26: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

IVA Design Issues

• IVA-design is distributed• Physical-layer + Cognitive-layer

• Physical aspects vs. Cognitive aspects

• Cannot design these layers independently

Page 27: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

Design games using OperA

• OperA specifies the boundaries of the behavior of the roles in the game

• OperA indicates landmarks that should be reached that can be used to specify the learning goals

• Agents can fill in the roles in different ways:• Scripted character

• BDI agent

• …

April 21, 2023 27

Page 28: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

OperA example: storyline

April 21, 2023 28

Emergencycall

Createteam

Ambulance

Extinguishfire

Get tolocation

Evaluate situation

start

end

Savevictim

Expert

Page 29: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

OperA example: Scene

April 21, 2023 29

Interaction Scene: save victimRoles Leading_firefighter(1), door_opener(1), fire_extinguisher(1), ambulance(2),

victim(3),

Trigger H people, T victim perceive(H,T)

Results r1 = T victim, safe(T)

InteractionPatterns

PATTERN(r1) = { DONE(T, at(H,T)) BEFORE DONE(B, secure_area), DONE(B, secure_area) BEFORE DeadlineH),

DONE(M, stabilise(H) BEFORE Dead(H)) DONE(T, transport_to_ambulance(H))

}

Norms PERMITTED(E, blow_obstacles)OBLIGED(M,stabilise(T) BEFORE Dead(T))OBLIGED (B, extinguish_fire BEFORE transport(H))

Page 30: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht

OperA example: Roles in a game

April 21, 2023 30

Role: leading firefighter

Objectives Fire_under_control, victims_save

Sub-objectives

{get_to_disaster_location, situation_assessment, plan_of_attack, extinguish_fire, rescue_victims}

Rights Command_team_members, order_ambulance, get_experts

Norms OBLIGED inform(headquarters,plan_of_attack) BEFORE NOW+10IF DO safe(victim) or DO extinguish(fire) THEN PERMITTED damage(building)OBLIGED ensure_safety(team)OBLIGED safe(victims) BEFORE extinguish(fire)

Page 31: Games and Agents: Designing Intelligent Game Play

Universiteit Utrecht April 21, 2023 31

Conclusions

• Intelligence by design only• Several stances needed to cover the connection

between games and agents• Need for a middleware between AT and GE• Infrastructure “easy”• Conceptual connection is domain dependent• Design using an OperA like methodology seems

promising

• What agent technology to use?• What should be done by the agent and what by

the game engine?• Intelligence?