Virtual Environments and Game AI Dr Michael Papasimeon Guest - - PowerPoint PPT Presentation

virtual environments and game ai
SMART_READER_LITE
LIVE PREVIEW

Virtual Environments and Game AI Dr Michael Papasimeon Guest - - PowerPoint PPT Presentation

Virtual Environments and Game AI Dr Michael Papasimeon Guest Lecture Graphics and Interaction 9 August 2016 Introduction Introduction So what is this lecture all about? In general... Where Artificial Intelligence meets Computer Graphics


slide-1
SLIDE 1

Virtual Environments and Game AI

Dr Michael Papasimeon Guest Lecture Graphics and Interaction 9 August 2016

slide-2
SLIDE 2

Introduction

slide-3
SLIDE 3

Introduction

So what is this lecture all about?

In general...

Where Artificial Intelligence meets Computer Graphics

slide-4
SLIDE 4

Introduction

So what is this lecture all about?

In general...

Where Artificial Intelligence meets Computer Graphics

but more specifically...

The interaction between Intelligent Agents and Virtual Environments

slide-5
SLIDE 5

Definitions

Virtual Environment a dynamic computational representation of a world 1 populated by entities and intelligent agents. Intelligent Agents an autonomous decision making entity situated in virtual environment that can perceive the environment, reason and make decisions and take action in the environment.

1Real, fictitious or abstract world

slide-6
SLIDE 6

Applications

Computational Simulations Video Games Virtual Realities When these Virtual Environments are populated with Intelligent Agents we often call these systems Multi-Agent Simulations

slide-7
SLIDE 7

Affordances

slide-8
SLIDE 8

Ecological Psychology

The study of how humans and animals interact with the environment they are situated in.

Ecology

Ecology = Environment + Humans/Animals + Interaction

Virtual Ecology

Virtual Ecology = Virtual Environment + Intelligent Agents + Interaction

slide-9
SLIDE 9

Ecological Psychology

The study of how humans and animals interact with the environment they are situated in.

Ecology

Ecology = Environment + Humans/Animals + Interaction

Virtual Ecology

Virtual Ecology = Virtual Environment + Intelligent Agents + Interaction A Multi-Agent Simulation or a Video Game is an example of a virtual ecology. Designing one of these systems involves designing a virtual ecology.

slide-10
SLIDE 10

Affordance Theory

One of the key ideas in Ecological Psychology is the Theory of Affordances.

Affordances

Affordances are the action possibilities an environment provides an agent.

slide-11
SLIDE 11

Affordance Theory

One of the key ideas in Ecological Psychology is the Theory of Affordances.

Affordances

Affordances are the action possibilities an environment provides an agent.

J.J. Gibson’s Definition

The affordances of the environment are what it offers the animal, what it provides or furnishes, either for good or ill.

slide-12
SLIDE 12

Affordance Theory

One of the key ideas in Ecological Psychology is the Theory of Affordances.

Affordances

Affordances are the action possibilities an environment provides an agent.

J.J. Gibson’s Definition

The affordances of the environment are what it offers the animal, what it provides or furnishes, either for good or ill.

Direct Perception

Gibson claimed that affordances (action possibilities) are directly perceivable by humans and animals in the environment.

slide-13
SLIDE 13

Affordances in Interaction Design

Affordance theory is important in the design of many things... Everyday things (electronics, furniture, vehicles..) Human Computer Interfaces (e.g. Graphical User Interfaces). Control panels for industrial processes and equipment. The affordances provided by a well designed object are obvious.

slide-14
SLIDE 14

The Design of Everyday Things

slide-15
SLIDE 15

Agent/AI–Environment Interaction

slide-16
SLIDE 16

Agent–Environment Interaction

Intelligent Agent

Percepts Actions

Virtual Environment

slide-17
SLIDE 17

Situated Agents

Virtual Environment

Percepts Actions

Intelligent Agent

Percepts Actions

Intelligent Agent

Percepts Actions

Intelligent Agent

Percepts Actions

Intelligent Agent

slide-18
SLIDE 18

Agents Processing Rendered Scenes

Agent 1 Agent 2 Agent 3 Agent 4

Simpler solution: why not give Intelligent Agents access to the same information that the graphical rendering engine receives?

slide-19
SLIDE 19

Data Structures for Graphical Rendering (Pseudo-Code)

# Each vertex is made of a point in 3D space. class Vertex: x, y, z : Float # An object is made up an array of vertices, and a list of faces. # Each face is a list of indices into the vertex array class SimpleObject: vertices : [Vertex] faces : [[Integer]] # Simplest possible scene is made up a list of objects. class SimpleScene:

  • bjects : [SimpleObject]
slide-20
SLIDE 20

Scene Graph

A data structure representing the virtual world being rendered. Is a structured representation of the world. Can be any data structure but is typically a Directed Acyclic Graph (DAG). Often are represented as trees (special type of Directed Acyclic Graph). Scene graphs are made up of a variety of nodes (geometry/objects, transformations, cameras, lighting, textures, materials etc.) A structured set of instructions to the rendering engine on how to render the world 2.

2OpenSceneGraph, X3D, Java3D, OpenInventor and VRML are examples of scene

graph libraries

slide-21
SLIDE 21

Scene Graph Editor Examples

FX Composer [1] OSG Edit [2]

1 http://http.developer.nvidia.com/GPUGems/gpugems ch31.html 2 http://http://osgedit.sourceforge.net/shots/osgedit-0.6.1.jpg

slide-22
SLIDE 22

Scene Graphs and Intelligent Agents

A scene graph is a structured representation of the virtual environment..

Question

Can intelligent agents interact with a scene graph?

slide-23
SLIDE 23

Scene Graphs and Intelligent Agents

A scene graph is a structured representation of the virtual environment..

Question

Can intelligent agents interact with a scene graph?

Short Answer

Sure... we could add labels/tags/annotations on the nodes in a scene graph which contain information relevant to our Intelligent Agents.

slide-24
SLIDE 24

Scene Graphs and Intelligent Agents

A scene graph is a structured representation of the virtual environment..

Question

Can intelligent agents interact with a scene graph?

Short Answer

Sure... we could add labels/tags/annotations on the nodes in a scene graph which contain information relevant to our Intelligent Agents.

Long Answer

Sure... but there are bunch of potential issues and limitations...

slide-25
SLIDE 25

Example: Football Game

Let’s start to label a scene graph from a virtual environment with labels that could be useful to an Intelligent Agent (or NPC) playing the game.

Goal GK ME Ref Team Mate Defender Defender Team Mate Penalty Spot Line Ball

Base image, screenshot from Electronic Arts FIFA 15.

slide-26
SLIDE 26

Some Issues to Consider...

What if the label in the scene graph is different for different agents? What if the labels need to be dynamic? What if we want to reason about something that isn’t captured in the scene graph?

slide-27
SLIDE 27

Some Issues to Consider...

What if the label in the scene graph is different for different agents? What if the labels need to be dynamic? What if we want to reason about something that isn’t captured in the scene graph?

Conclusions

Adding labels, tags or annotations that are useful to an Intelligent Agent is a first step to designing a virtual environment that is AI friendly. However, using a representation that was designed for a renderering engine instead of an AI engine isn’t really ideal.

slide-28
SLIDE 28

Multi-Modal Virtual Environments

Scene Graph AI Environment Sound Environment Physical Environment

K RF IR

Intelligent Agent Engine Graphics Engine Audio Engine Physics Engine

Virtual Environment

3

3Compare w/ HTML, CSS, XML

slide-29
SLIDE 29

Examples

slide-30
SLIDE 30

Example: Quake III

Source: The Quake III Arena Bot by J.M.P . van Waveren (Masters Thesis 2001)

slide-31
SLIDE 31

Example: Killzone 3

Source: Auto Annotations in Killzone 3 by Mikko Mononen (2011 Paris Game/AI Conference http://digestingduck.blogspot.com.au/2011/07/paris-gameai-conference-2011-slides-and.html

slide-32
SLIDE 32

Example: Further Information on Killzone AI

http://www.slideshare.net/guerrillagames/killzone-2-multiplayer-bots http://www.slideshare.net/guerrillagames/killzones-ai-dynamic-procedural-tactics-9885496 http://www.slideshare.net/guerrillagames/pgaic11

slide-33
SLIDE 33

Example: Halo 2

Source: Dude, Where’s My Warthog: From Pathfinding to General Spatial Competence by Damian Isla, Bungie Studios. Proceedings of the first Artificial Intelligence and Interactive Digital Entertainment Conference http://www.aaai.org/Library/AIIDE/aiide05contents.php http://slideplayer.us/slide/686014/

slide-34
SLIDE 34

Example: Synthia

Welcome to Synthia City: Virtual world complete with pedestrians, bad weather and cyclists created so AI cars can learn to drive (21 June 2016, Dailymail.com) http://www.dailymail.co.uk/sciencetech/article-3651296/ Welcome-Synthia-City-Virtual-world-complete-pedestrians-bad-weather-cyclists-created-AI-cars-learn-drive.html

slide-35
SLIDE 35

Designing Game AI Friendly Virtual Environments

slide-36
SLIDE 36

Desirable Characteristics of an Agent/AI Environment

If we are going to annotate our virtual environment with labels, tags or annotations that intelligents agents can perceive, reason about and take actions with respect to, it would be good if they were... Static Dynamic Observer Tailored Relational Action Oriented Intention/Goal Oriented Introspective Meaningful Context Sensitive

slide-37
SLIDE 37

Affordances and Game AI in Virtual Environments

One way to think about agent-environment interaction. Provide a mechanism for better situating intelligent agents in a virtual environment Allows for an agent to directly perceive the actions available to it (potentially without undertaking significant reasoning) Satisfy the desirable criteria for agent-environment interaction... Affordances are dynamic, tailored and context sensitive, intention/goal oriented and of course action oriented.

slide-38
SLIDE 38

Wrap Up

Designing Intelligent Agents needs to be done in conjunction with the design of the virtual environment. Adapting existing environments (like scene graphs) for AI purposes can work in some cases put potentially doesn’t scale. Real environments are inherently multi-modal and hence so are the virtual environments we design. Affordances are a good way to help you think about how to design a virtual ecology.