Toward Real-Time Planning in Games Jeff Orkin Monolith Productions.

Slides:



Advertisements
Similar presentations
Planning Module THREE: Planning, Production Systems,Expert Systems, Uncertainty Dr M M Awais.
Advertisements

Planning Module THREE: Planning, Production Systems,Expert Systems, Uncertainty Dr M M Awais.
CLASSICAL PLANNING What is planning ?  Planning is an AI approach to control  It is deliberation about actions  Key ideas  We have a model of the.
Artificial Intelligence for Games Patrick Olivier & John Shearer
Lecture 12: Revision Lecture Dr John Levine Algorithms and Complexity March 27th 2006.
Artificial Intelligence in Game Design Representing NPCs as Finite State Machines.
CSC 423 ARTIFICIAL INTELLIGENCE
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Automated Planning & Computer Games: Perspectives and Applications Hector Munoz-Avila.
Artificial Intelligence in Game Design Hierarchical Finite State Machines.
Planning systems and its’ applications in software engineering Saša Tošić, M. Ivanović Risan, 2007.
Artificial Intelligence in Video Games By: Renaldo Doe Kevin Lam.
Artificial Intelligence Chapter 11: Planning
Part 6 HMM in Practice CSE717, SPRING 2008 CUBS, Univ at Buffalo.
AI – Week 8 AI + 2 Player Games Lee McCluskey, room 3/10
Introduction to AI & AI Principles (Semester 1) WEEK 11 John Barnden Professor of Artificial Intelligence School of Computer Science University of Birmingham,
Applying Genetic Programming to Stratego Ryan Albarelli.
The Quiet Revolution in Building Design and Construction: BIM.
Adversarial Search: Game Playing Reading: Chess paper.
MAE 552 – Heuristic Optimization Lecture 5 February 1, 2002.
Nicholas Mifsud.  Behaviour Trees (BT) proposed as an improvement over Finite State Machines (FSM)  BTs are simple to design, implement, easily scalable,
AI – Week 10 AI and Games (2) Lee McCluskey, room 3/10
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Applying Blackboard Systems to First Person Shooters Jeff Orkin Monolith Productions
Collision and Animation Systems in Games Jani Kajala Lead Programmer / Chief Technology Officer, Pixelgene Ltd (0)
Raven Robin Burke GAM 376. Soccer standings Burke, 7 Ingebristen, 6 Buer, 6 Bukk, 6 Krishnaswamy, 4 Lobes, 3 Borys, 2 Rojas, 2 Bieneman, 2.
Artificial Intelligence in Game Design Problems and Goals.
Week 6: PDDL, itSIMPLE and running “state of the art” planners Lee McCluskey, room 3/10
1 Intelligent Systems ISCRAM 2013 Validating Procedural Knowledge in the Open Virtual Collaboration Environment Gerhard Wickler AIAI, University.
Ceg860 (Prasad)L6MR1 Modularity Extendibility Reusability.
Agent Architecture Considerations for Real-Time Planning in Games Jeff Orkin Monolith Productions.
CHA2555 Week2: Knowledge Representation, Logic and Planning Lee McCluskey First term:
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
AI Game Programming Wisdom 2 Chapter 3.3
1 CO Games Development 2 Week 17 – Goal-Oriented Action Planning Gareth Bellaby.
AI in games Roger Crawfis/Eric Fosler-Lussier CSE 786 Game Design.
Prepared By Ms.R.K.Dharme Head Computer Department.
Qualitative Spatial Analysis Chris Mansley. Qualitative Quantitative items are known, definable quantities (x,y) coordinates Remaining health Location.
Toward a Unified Scripting Language 1 Toward a Unified Scripting Language : Lessons Learned from Developing CML and AML Soft computing Laboratory Yonsei.
AI in games Roger Crawfis CSE 786 Game Design. AI vs. AI for games AI for games poses a number of unique design challenges AI for games poses a number.
RUN-Time Organization Compiler phase— Before writing a code generator, we must decide how to marshal the resources of the target machine (instructions,
Games Development 2 Overview & Entity IDs and Communication CO3301 Week 1.
On the data side of the application… In the beginning, we needed to translate the ideas for the game’s dialogue progression and how the player would interact.
Stephen Flockton.  What is my Project?  What is Planning?  Advantages and Disadvantages of Planning.  Description of the Product.  Product Demonstration.
3 States and a Plan: The AI of F.E.A.R. Jeff Orkin Monolith Productions/ MIT Media Lab.
F.E.A.R. Game AI Evaluation by Robert Rak. What is F.E.A.R. ? FEAR is a First Person Shooter game Player takes on the role of an elite strike force team.
CSCI 4310 Lecture 2: Search. Search Techniques Search is Fundamental to Many AI Techniques.
(c) , University of Washington18a-1 CSC 143 Java Searching and Recursion N&H Chapters 13, 17.
Dr Nick Mitchell (Room CM 224)
Natural Language Processing AI Revision Lee McCluskey, room 2/07
Domain Splitting, Local Search CPSC 322 – CSP 4 Textbook §4.6, §4.8 February 4, 2011.
Demonstration of Simple Movement using Python AI for Gaming 2013, SCU.
A Game AI Case Study Greg Alt Surreal Software
Goal-Oriented Game AI Purpose and Utilizations Research Organized by: Evan Schipellite.
Team Member AI in an FPS and Goal Oriented Action Planning.
Automated Planning & Computer Games: Perspectives and Applications
Structural testing, Path Testing
STATE SPACE REPRESENTATION
4-6 Formulizing Relations and Functions
Simple Techniques for Coordinated Behavior
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
Dr. Unnikrishnan P.C. Professor, EEE
STATE SPACE REPRESENTATION
CSE (c) S. Tanimoto, 2001 Search-Introduction
Some Additional Notes about GOAP
Search.
Unity Game Development
Search.
Project Behavior Tree IMGD 4000 Due: April 7th, 11:59pm.
Presentation transcript:

Toward Real-Time Planning in Games Jeff Orkin Monolith Productions

F.E.A.R.

Agenda What Why How

Agenda What do we mean by planning? Why use planning in games? How can we use planning in practice?

What do we mean by “planning?”

Typical Game AI

Goal-Oriented Planning

Regressive Planning

Dynamic Planning

P.Diddy

P.D.D.L. Planning Domain Definition Language Goals – Desired state Actions – Preconditions – Effects

PDDL Goal: (define (problem get-paid) (:domain briefcase-world) (:init (place home) (place office) (object p) (object d) (object b) (at B home) (at P home) (at D home) (in P)) (:goal (and (at B office) (at D office) (at P home))))

PDDL Action: (:action put-in :parameters (?x - physob ?l - location) :precondition (not (= ?x B)) :effect (when (and (at ?x ?l) (at B ?l)) (in ?x)) ) Other actions: take-out, move

PDDL Modular – Goals – Actions Decoupled Modules Related by symbols – World State – Preconditions – Effects Applied PDDL’s structure to C++ toolkit in game code.

Why use planning in games?

Sharing Behavior between NPCs

Sharing Behavior between Projects

Sharing Behavior: Data Points 7 Character types in FEAR 62 Actions 41 Actions shared between projects 20 Actions shared between characters in FEAR 35 Goals 21 Goals shared between projects 21 Goals shared between characters in FEAR

Workflow Division of Labor:

Workflow Division of Labor:

Workflow Division of Labor:

The Best Day of My Professional Life

Workflow

Robust Behavior

Maintenance

How can we use planning in practice?

Symbols Plan Formulation Planning Frequency Plan Granularity

F.E.A.R. Demo

Symbols Key-Value pairs Enumerated keys – kKey_WeaponLoaded – kKey_AtPosition Values – union of types – bool – int – float – enum – etc…

Symbols Array of Key-Value pairs represents: – State of world – Goal satisfaction conditions – Action preconditions – Action effects

Symbols

Plan Formulation A* search for sequence of actions – Action is neighbor if effect satisfies an existing precondition. – Actions hashed by effect. – Heuristic: minimize number of unsatisfied preconditions.

Symbolic Representation Strategies

Agent-centric representation.

Symbolic Representation Strategies Agent-centric representation – Subsystem handles target selection. – Less symbols to evaluate during plan formulation.

Symbolic Representation Strategies

Context preconditions.

Symbolic Representation Strategies Context preconditions – aka Filter conditions. – Alternative to symbolic preconditions. – Test precondition(s) with arbitrary piece(s) of code. – Prune search tree. Symbolic preconditions are only used when we want the planner to find a preceding action.

Planning Frequency Do NOT plan every frame! Plan may last seconds or minutes. Only re-plan when: – Goal changes. – Action invalidated. – Target changes.

Planning Frequency Action duration: – Finite (e.g. ReloadWeapon) – Variable (e.g. Goto) – Infinite (e.g. Attack)

Planning Frequency Action invalidation: – Out of ammo. – Target dead. – Path obstructed.

Planning Granularity Fine grained: – Look at target – Walk in range of target – Turn toward target – Move right hand to holster – Unholster weapon – Raise right hand – Aim weapon – Fire weapon – Move left hand to weapon – Reload weapon

Planning Granularity Course grained: – Defeat player

Planning Granularity Happy medium: – Goto target – Draw weapon – Attack – Reload Subsystems handle details: – Animation – NPC movement & rotation – Target selection & aiming

Take-Away Use planning in games! Minimize number of symbols with agent- centric representation. Prune search with context preconditions. Only re-plan when necessary. Delegate details to sub-systems.

Questions? Jeff Orkin Monolith Productions