games and agents: designing intelligent game play
DESCRIPTION
Games and Agents: Designing Intelligent Game Play. Contents. Agents for games? Connecting agent technology and game technology Challenges Infrastructural stance Conceptual stance Design stance Conclusions. Agents or scripted characters?. Do we need agents?. Agents for Games?. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/1.jpg)
Universiteit Utrecht
Games and Agents:Designing Intelligent Game Play
![Page 2: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/3.jpg)
Universiteit Utrecht April 21, 2023 3
Agents or scripted characters?
![Page 4: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/4.jpg)
Universiteit Utrecht
Do we need agents?
April 21, 2023 4
![Page 5: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/7.jpg)
Universiteit Utrecht
Example: Gamebots
April 21, 2023 7
![Page 8: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/10.jpg)
Universiteit Utrecht
Example: Quake
April 21, 2023 10
![Page 11: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/11.jpg)
[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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/12.jpg)
Universiteit Utrecht
Challenges
•Synchronization•Filtering•Communication
April 21, 2023 12
![Page 13: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/13.jpg)
Universiteit Utrecht
Stances
•Infrastructure•Conceptual•Design
April 21, 2023 13
![Page 14: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/17.jpg)
Universiteit Utrecht
Conceptual stance: issues
•Ontological mapping•Perception and Action•Communication
April 21, 2023 17
![Page 18: Games and Agents: Designing Intelligent Game Play](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062500/56815294550346895dc0b888/html5/thumbnails/31.jpg)
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?