topic 2 agents, animats and game platforms

22
ICT219 1 Topic 2 Agents, Animats and Game Platforms What are agents and artificial life? Considerations for game AI Goal orientation, planning and control Reactive techniques for games Reflective vs Reactive behaviour The FEAR platform Creating and running an animat Evaluating the performance of an animat Reading: Champandard Chapter 3; Chapter 4; The FEAR documentation

Upload: oprah

Post on 14-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

Topic 2 Agents, Animats and Game Platforms. What are agents and artificial life? Considerations for game AI Goal orientation, planning and control Reactive techniques for games Reflective vs Reactive behaviour The FEAR platform Creating and running an animat - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Topic 2 Agents, Animats and Game Platforms

ICT219 1

Topic 2Agents, Animats and Game Platforms

• What are agents and artificial life?• Considerations for game AI• Goal orientation, planning and control• Reactive techniques for games• Reflective vs Reactive behaviour• The FEAR platform• Creating and running an animat• Evaluating the performance of an animat

Reading: Champandard Chapter 3; Chapter 4; The FEAR documentation

Page 2: Topic 2 Agents, Animats and Game Platforms

ICT219 2

Agents

• Arguably the most important development in AI of the last decade has been the notion of agents

• Comes from the philosophical notions of action, and the notion of Rational Economic Man

• An agent is a self-contained bundle of software with the characteristics of autonomy, action and rationality

• Related to, but more sophisticated than, the notion of an object in OOL. Higher level of abstraction, in which what counts is the choice of action in response to goals and situation.

• Newell’s concept of behavioural laws governing action egAn agent will choose the action most likely to lead to an outcome that matches one of its goals.

• In a multi-agent system complex behaviour emerges as the result of the interactions between many, relatively simple agents according to social principles

Page 3: Topic 2 Agents, Animats and Game Platforms

• A-life shares some elements with agent research, especially the multi-agent approach

• Earliest forms were a class of game called cellular automata eg Conway’s Life

• A few rules control the birth, survival and death of counters on a rectangular grid, to produce growing, complex patterns over cycles

Artificial Life – Cellular automata

Cells can be either live (contain counter) or dead (no counter). Each cell has 8 neighbours. To decide what will happen in a cell for each cycle, count the number of live and dead cells

1) A dead cell with exactly 3 live neighbors becomes a live cell (birth).

2) A live cell with 2 or 3 live neighbors stays alive (survival).

3) In all other cases, a cell dies or remains dead (overcrowding or loneliness).

Page 4: Topic 2 Agents, Animats and Game Platforms

ICT219 4

Artificial Life - Norns

Image: Cyberlife/New Scientist

• However, A-life today is about making biologically plausible software models

•Some of this work has resulted in extremely valuable creatures which may be used in game-playing scenarios eg Norns in Cyberlife’s Creatures

• Norns have a simulated body, with a ‘digestive system’ and ‘biochemistry’

Page 5: Topic 2 Agents, Animats and Game Platforms

ICT219 5

Considerations for Game AI

• Are the AI approaches applicable to the software design of NPCs? ie able to provide:

- control of primitive behaviours eg picking things up, pressing switches, using objects, etc.

- movement move around the game world, dealing with obstacles and navigating to target destinations

- decision-making working out what tasks to perform, and in what order

• Traditionally, these things were done by laborious, detailed, procedural programming - now becoming more difficult as games evolve

• From a games point of view, you don’t care if you use as AI or not

• But we want to learn about AI, so we’ll care

Page 6: Topic 2 Agents, Animats and Game Platforms

Considerations for Game AI• In nouvelle game AI, we consider how the needs of game

designers work for (and against) AI methods• In games, some NPC characters need to behave intelligently to be

believable and entertaining – maybe easier to accomplish with AI programs...

• ...but only if the program can really perform (very fast response to new situation) - challenging for AI

• Software control of actions within a game has until recently needed to be explicit – ie scripting• For each of a number of situations arising in the game, a standard behaviour response is rigidly encoded• More recently, agent and other AI technologies have enabled implicit control – NPC assesses situation, chooses its action with respect to its own goals

Page 7: Topic 2 Agents, Animats and Game Platforms

ICT219 7

Considerations for Game AI• Basic conflict for game design: Building in intelligence allows NPC characters to

behave autonomously, yet human designers need to control them, to make the game work as expected

• Eg many games follow a script like a movie, so that a certain sequence of events happens to unfold a story line. If NPCs (especially learning ones) can run their own show, they might not stick to the script!

• What role would intelligent decisions have in a scripted storyline?

• One idea would be implicit design – no explicit script, just the elements of an interesting world and both player and NPC improvise

• Another is to alternate sequences of scripted action (in which the NPCs intelligence is switched off) with free form action (in which the intelligence is on). Might be difficult to keep on track though!

Page 8: Topic 2 Agents, Animats and Game Platforms

ICT219 8

Page 9: Topic 2 Agents, Animats and Game Platforms

ICT219 9

Goal-orientation, planning• Goals may be defined as a representation of a state of affairs

which is marked as somehow desirable, to be achieved

• Maintenance goals involve making sure some state of affairs is not lost (eg keep breathing)

• Achieving a goal may involve a number of actions to move the actual state of the world closer to the desired state (eg move toward a source of food or target)

• It might not be clear what to do next to get closer to a goal – planning is needed to select and order individual actions

• All this requires collecting and maintaining models of the world-state, comparing them to goal states and then making decisions

• This can take a lot of design and a lot of computation

• Planning programs exist, but they tend to be slow and complex

Page 10: Topic 2 Agents, Animats and Game Platforms

ICT219 10

The problem of planning

• Conventional AI planning program requires• i) a list of goals represented using a knowlege representation• ii) a problem in the form of some data representing opportunities

or problems• iii) a set of possible actions which the machine can choose from

iv) a planning algorithm which organises actions into a optimal plan

The program would then do standard information processing:

1) accepts these as data files

2) process the data

3) prints out an optimal plan, ie ordered list of actions

Page 11: Topic 2 Agents, Animats and Game Platforms

Reflective vs Reactive Behaviour• This distinction is important to game development, mostly because of the

need for fast reactions

• Early AI tended to be reflective – meaning that a problem-solving algorithm would exhaustively consider all possible courses of action, then choose the optimal (in terms of goal satisfaction) one

• Humans don’t really do that, though. They satisfice, which means come up with a “good enough” solution, but more quickly, especially when time is an issue. Saves mental effort

• Reflective programs build representational models from input data, evaluate or reason about them, plan a course of action then output it – expensive in computing power

• Reactive programs use the world as their model. They interact directly with the world, exploiting simple signals and regularities there, to get behaviour which is not perfect, but fast

• Now game AI tends to be mostly reactive

Page 12: Topic 2 Agents, Animats and Game Platforms

ICT219 12

<train bearing down>

Image: Mike Williams

One does not want to be stuck in high-level planning when there’s an emergency bearing down on you

Maybe it’s quicker and easier to sense the world and act directly on it, instead of building and maintaininginternal models of the world

This is how insects are able to do a lot of clever things without a bigbrain and lots of memory

Image: Benjamin Hobson, The Canal Gallery

Page 13: Topic 2 Agents, Animats and Game Platforms

ICT219 13

Reactive Techniques for Games• Another advantage of reactive designs is that they tend to be

deterministic – fully specified by inputs

• That means reactive code can very simple, easy to test and be highly optimised for speed eg

- lookup tables - scripts - rule-based systems - Finite State Machines

•Benefits for animats

- fits in with the idea of embodiment very well- environment can be enriched which provides more information to the animat

- most learning techniques are based on reactive mappings - easy to create, test and maintain

Page 14: Topic 2 Agents, Animats and Game Platforms

Environments, simulations, platforms • According to the notion of embodiment, the best place for an AI in

immersed in the world, connected to it by many sensors and actuators Eg a robot roams about a house, sensing with cameras, microphones and using motorised limbs to move

• Game AI modifies this slightly, and says the ‘world’ doesn’t have to be physical – it can be a computer simulation of the real world

Advantages

- Cheaper and smaller than robots in the real world

- Can develop and make changes faster in simulation

- Can’t do any harm if it goes wrong

Disadvantages

- world may be too simple to properly challenge an AI program

- world may not be realistic, or even logically consistent

- may have to build - or at least configure - an artificial world; extra work

• In game AI, we are more or less forced use to a simulated world. But this is still better than prepared, cut-and-dried data sets

Page 15: Topic 2 Agents, Animats and Game Platforms

ICT219 15

FEAR Platform - Overview• To simplify writing of AI code, the environment and integrating the

two, we will use a standard development platform, called Flexible Embodied Animat aRchitecture (FEAR)

• Creates embodied animats ie that have a (simulated) body, are subject to physical constraints in the (simulated) world and do not have full information about the game

• Just as human game players has an avatar in the game world, so a disembodied AI software controls its own avatar

• FEAR is designed to work with the engine of Quake II, an old first person shooter

• The game developer specifies the interfaces, modules and architectures of an animat in a given world, in a domain-specific language called XML

Page 16: Topic 2 Agents, Animats and Game Platforms

ICT219 16

– Interfaces - provide a set of functions that can be called, messages that can be passed back, type definitions and constant declarations

– Modules - the implementation behind the interfaces. Usually run-time code, but you can store data in these too. To formalise dependencies between modules, each imports and exports interfaces

– Architectures – are built up from nested components ie a hierarchy or tree. The root of the hierarchy is usually the brain of an animat

• These high-level XML specifications are processed into C++ source code - ready for compilation - using customised templates

• This is called code generation or metaprogramming

• Think of FEAR as developing toward an “IDE for Games AI”

FEAR Platform

Page 17: Topic 2 Agents, Animats and Game Platforms

ICT219 17

Compiling an Animat

• Take a demo animat from the AIGameDev website

• Or write your own animat by generating your own XLM template and writing C++ code (usually called Brain)

• Unless you are an expert it is better to modify an existinganimat than make a new one completely from scratch

• Compile the animat using the MS Visual Studio 6.0

• Check that it has compiled, debug as necessary

Page 18: Topic 2 Agents, Animats and Game Platforms

ICT219 18

animats

customise anXML template

build using Visual StudioC++ compiler

use/modify an existing animat

and/or...

FEAR/Quake2

modules

(FEAR) Serversv add <name>

(FEAR) Server

Page 19: Topic 2 Agents, Animats and Game Platforms

ICT219 19

Running the Animat• Run the FEAR/Quake 2 server with a command line

prompt by double clicking (FEAR) Server. Force the animat under test in by typing sv add <name of animate directory>

====== Quake2 Initialized ======

==== InitGame ====------- Server Initialization -------49 entities inhibited0 teams with 0 entities-------- FEAR Initialisation --------obituaries disabledacceleration disabled0 bots requested-------------------------------------sv add 05-Dr.SpinDr. Spin connectedDr. Spin entered the game.bots = 1

• To observe the animat’s behaviour, enter the game as a human player clicking (FEAR) Player.

Page 20: Topic 2 Agents, Animats and Game Platforms

Evaluating Performance of Animat• It will be important to measure the performance of the animat in

order to compare brain designs (which is better?)

• Measuring behaviour can be difficult, as ethologists (scientists studying animal behaviour) or psychologists (scientists studying human behaviour) learned

• One advantage of a game platform is that it has a built-in measure for animats, which is their score

• In Quake II, press the F1 key to view the score for yourself (‘The Creator’) and your animat

• These statistics are crude, but might be enough to begin with

• To compare the scores of two animats, you need to have exposed them to the same challenges, for the same amount of time (a controlled experiment)

• We distinguish between single-trial measurements and tournaments (gathering statistics over multiple trials).

Page 21: Topic 2 Agents, Animats and Game Platforms

ICT219 21

Summary• Agents are an AI development which enables software to choose actions autonomously to

achieve one or more goals which it has

• Artificial life is an attempt to model the more biological aspects of life, such as reproduction (Life) or the digestion of food (eg Norns)

• Both these technologies can be used to make lifelike, believable and entertaining NPCs for computer games

• The software control of NPCs can be explicit (eg scripts) or implicit (eg rational agent)

• Good control of gameplay in interactive games is part of the art

• In conventional AI, accomplishment of goals required planning, which could be complex and processor-intensive

• Conventional AI planners were reflective, which means they did not excel in time critical situations (like games)

• Behavioural control in games tends to be reactive, which means less logical modeling of the world and more reacting directly to stimuli

Page 22: Topic 2 Agents, Animats and Game Platforms

ICT219 22

References

Newell, A. The Knowledge Level, Artificial Intelligence, 1982, 18, 87-127

Martin Gardner. The fantastic combination of John Conway's new solitaire game of “life”. Scientific American, 1970, 223, 120-123

Cliff D. & Grand S. The Creatures Global Digital Ecosystem. Artificial Life, 1999, 5, 1, 77-93. Available at http://citeseer.ist.psu.edu/cache/papers/cs/26466/http:zSzzSzwww-uk.hpl.hp.comzSzpeoplezSzdave_cliffzSzcreatures.pdf/cliff99creatures.pdf

Champandard, A. FEAR User Guide. Online Manual for FEAR/Quake 2 Platform Available at http://fear.sourceforge.net/docs/latest/guide/Guide.html