Stratagus - TIELT Integration

advertisement
Hierarchical Plan Representations
for Encoding Strategic Game AI
Hai Hoang
Stephen Lee-Urban
Héctor Muñoz-Avila
Lehigh University
http://www.cse.lehigh.edu/~munoz/projects/AIGames/
Outline

Motivation
Related Work

Background






Unreal Tournament© (UT)
Hierarchical task Network (HTN) Planning
Encoding Strategic Game AI in HTNs
 Coordinating teams of UT Bots using HTNs
 Video
Using Processes-Based Languages to Encode HTNs
Final Remarks
 Future work
Planning Operators
Motivation: FSM vs. Planning
FSM:
Monster In Sight
Patrol
Fight
No Monster
•Patrol
Preconditions:
No Monster
Effects:
patrolled
•Fight
Preconditions:
Monster in sight
Effects:
No Monster
A resulting plan:
Monster in sight
Fight
No Monster
patrolled
Patrol
Neither is
more
powerful
than the
other one
But Planning Gives More
Flexibility

“Separates implementation from data” --- Orkin
knowledge
Planning Operators
inference
•Patrol
Preconditions:
No Monster
Effects:
patrolled
•Fight
Preconditions:
Monster in sight
Effects:
No Monster
…
Many potential plans:
Fight
Fight
Fight
Fight
Fight
…
Patrol
Patrol
Patrol
Patrol
Patrol
Motivation: HTNs vs. GOAP



Goal-Oriented Action Planning (Orkin, 2004, 2005)
 characters can find alternate solutions to situations
encountered in the game
Goals &
 characters can handle dependencies that may not have
operators
been thought of at development time
HTNs provide distinct advantages over “STRIPS” planning,
on which GOAP is based
Key questions:
 What kinds of Game AI knowledge to represent in
Game developers should
HTNs?
Learn LISP?
 How to reason in dynamic game environments?
 How to encode the HTNs
Related Work: FPS and AI

Games have the potential to become testbed for different
AI algorithms (Laird & van Lent, 1999)

FPS-based system developed and used for actual
training of military personnel (Laird & Duchim, 2000)

Soar Bots for UT using the Soar Architecture (Laird &
Duchim, 2000)

GameBots: A group at USC-ISI and CMU jointly
developed the Gamebot project to create an API for
other clients to connect to the UT server.
Related Work: HTNs and
Game AI

Hierarchical planning can be useful in games (Wallace,
2003)

Bridge Baron game uses HTN ideas (Smith et al., 1998).

Hierarchical FSMs are an extension of FSMs in which
states can expand into their own sub-FSMs (Houlette &
Fu, 2003)

HTNs used for dialog generation (Cavazza & Charles,
2005)
Unreal Tournament©

Online FPS developed by Epic Games Inc.

Various gameplay modes including team deathmatch and
capture the flag

Provides a client-server
architecture for controlling
bots

High-level script
language: UnrealScript
(Sweeney, 2004)
Client-Server Architecture for
UT Bots

The UT server provides sensory information about
events in the UT world and controls all the gameplay
events.

Event-driven: The client program uses this information
to decide commands controlling the behavior of a Bot
and passes them to the server.

Two types of messages:
 Asynchronous: special events
 Synchronous: regular intervals

Variants: Enhanced server (USC/ISI), Java Bots (CMU),
Soar Bots (U. of Michigan).
Hierarchical Task Network (HTN)
Planning

Complex tasks are decomposed into simpler tasks.
task t
task t


task t
Seeks to decompose compound tasks into primitive
tasks, which define actions changing the world
The knowledge artifacts indicating how to decompose
task into subtasks are called methods
Why HTN Planning (1)?

HTN planning is provable more expressive than STRIPS
planning (Erol et al, 1994)

Even for those domains in which HTN representations can be
translated into STRIPS representations, a much larger number
of STRIPS operators is required to represent the HTN methods
(Lotem & Nau, 2000)

Fast planning through domain-configurable HTN planners
(SHOP system)
Why HTN Planning (2)?

Hierarchical planning is natural in many domains
 Military planning
Strategic
National
Strategic
Theater
Operational
Tactical
JCS / NCA
CINC
JTF
Application: UT Domination
Games




A number of fixed domination
locations.
When a team member steps into
one of these locations, the status
of the location changes to be
under the control of his/her team.
The team gets a point for every
five seconds that each
domination location remains
under the control of that team.
The game is won by the first team
that gets a pre-specified amount
of points.
Idea


Use of hierarchical task network (HTN) planning
techniques to laid out a grand strategy to accomplish
gaming tasks
Use standard event-driven programming allowing the
bots to react in highly dynamic environments while
contributing to the grand task
UT task: Domination
Strategy:
secure most
locations
UT action: move Bot1 to
location B
Technical Difficulties of using an
HTN Planner (1)
UT task: Domination
Strategy:
secure most
locations
UT action: move Bot1 to
location B
2. Dealing with
contingencies while
Bots are executing
actions
1. Declarative language
for expressing
conditions
Solution to 1: use builtin predicates to
represent conditions
Solution to 2: use Java
Bots to represent
actions (event-driven)
Data Flow to generate HTNs
(i.e., HTN Planning)
Selected method’s
subtasks
task
compound?
Yes
Select applicable
method
Evaluate method’s
preconditions
No
Execute action
Method
library
UT Bot
UT Bot
…
UT Server
Video
Empirical Results
60
50
40
30
HTN
Improved
20
10
0
1
2
3
4
5
avg
It is possible to encode strategies that coordinate
teams of bots in FPS games using HTNs
Using Processes to Encode
Game AI
Think-Act Cycle
Shoot Something
Go Somewhere Else
Call Shoot
Operator
Ask Decision System:
Where Do I Go?
Ask Decision System:
Where Do I Go?
Pick up a Healthpack
Call Pickup
Operator
TIELT Project: Middleware between
Games and AI Decision Systems
TIELT’s User Interface
Game
Engine
Library
Evaluation
Interface
Selected
Game
Engine
Processed
State
Action
TIELT’s
Internal
Communication
Modules
Decision
Learned
Knowledge
(inspectable)
Game
Player(s)
TIELT’s
KB
Editors
Game
Model
Game
Interface
Model
Decision
System
Interface
Model
Selected
Decision
System
Agent
Description
Experiment
Methodology
Selected/Developed Knowledge Bases
Knowledge
Base
Libraries
GM
GM
GM
GIM
GIM
GIM
DSIM
DSIM
DSIM
AD
AD
AD
Decision
Reasoning
System
Reasoning
System
System
Learning
Learning
Module
Learning
Module
Module
...
...
...
TIELT
User
Coordination
Interface
Raw State
...
Full
Spectrum
Command
Prediction
Interface
TIELT
User
Stratagus
EE2
Advice
Interface
Decision
System
Library
EM
EM
EM
Learning
Learning
Module
Learning
Module
Module
Result: Processes can Be Translated
into HTNs
TIELT
HTN
Iterations (while)
Recursion
Iterations (for)
Convert to while, recursion
Tasks: preconditions and effects
Methods + operators
If-elseIf-else
Method
Functions
Parameters of task (or call to
external code, or Horn clause)
Set-statement
= command
Priorities
If-then-else
Final Remarks



HTNs can be used to model effective team strategies for
Unreal Tournament (UT) bots.
A grand strategy is laid out by the HTNs and eventdriven programming allows the bots to react in this highly
dynamic environment while contributing to the grand
task.
Processes languages (e.g., TMKLs) can be translated
into HTNs
Future Work



Reinforcement learning to learn adequate task
decomposition
Case-based reasoning techniques to capture and reuse
HTNs
Experiment to measure performance of translated
processes
Download