building a better battle - academics |...
TRANSCRIPT
![Page 1: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/1.jpg)
Building a Better BattleThe Halo 3 AI Objectives System
Damián IslaBungie Studios
![Page 2: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/2.jpg)
Building A Better Battle
Designer tools
AI is an integral part of it
An interesting Next‐Gen problem
![Page 3: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/3.jpg)
![Page 4: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/4.jpg)
“Big Battle” Technology
Scalable perceptionFlocking
EffectsTargeting groups
Encounter logic
Combat dialogue
Mission dialogue
Precombat
In‐game cinematics
Ambient sound
Scalable AI
![Page 5: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/5.jpg)
“Big Battle” Technology
Scalable perceptionFlocking
EffectsTargeting groups
Encounter logic
Combat dialogue
Mission dialogue
Activities
In‐game cinematics
Ambient sound
Scalable AI
![Page 6: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/6.jpg)
![Page 7: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/7.jpg)
Encounter Design
• Encounters are systems• Lots of guys• Lots of things to do• The system reacts in interesting
ways• The system collapses in
interesting ways
An encounter is a complicated dance with lots of dancers
How is this dance choreographed?
![Page 8: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/8.jpg)
Choreography 101
• The dance is about the illusion of strategic intelligence
• Strategy is environment‐ story‐ and pacing‐dependent
AI acts smart within the confines of the plan provided by the designer
Designer provides the strategic intelligence
![Page 9: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/9.jpg)
The Canonical Encounter
Two‐stage fallback• Enemies occupy a territory• Pushed to “fallback” point• Pushed to “last‐stand” point• Player “breaks” them• Player finishes them off
... plus a little “spice”• snipers• turrets• dropships
![Page 10: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/10.jpg)
TaskThe mission designers’
language for telling the AI what it should be doing
Halo: • Territory• Behavior
– aggressiveness– rules of engagement– player following
Changing task moves AI around the encounter space
![Page 11: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/11.jpg)
The Control Stack
Squad
Task
Encounter Logic Mission‐designers script
sequence of tasks
Within the task, theAI behaves autonomously
AI engineers, AI designers
Mission designers
![Page 12: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/12.jpg)
The Control Stack
Squad
Task
Encounter Logic Mission‐designers script
sequence of tasks
Within the task, theAI behaves autonomously
![Page 13: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/13.jpg)
Halo 2: The Imperative Method
![Page 14: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/14.jpg)
The Imperative Method
< 75% alive?
< 25% alive?
Give the designers an FSM construction tool
![Page 15: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/15.jpg)
Problems with the Imperative Method
![Page 16: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/16.jpg)
Problems with the Imperative Method
Explicit transitions n2 complexity
Generator 2Generator 3
Generator 1
![Page 17: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/17.jpg)
Problems with the Imperative Method
For Halo 3:• Larger encounters• More characters• More open spaces • More avenues of attack
![Page 18: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/18.jpg)
Halo 3: The Declarative Method
![Page 19: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/19.jpg)
The Declarative Method
The new approach:
Enumerate “tasks that need doing” in the environment
Let the system figure out who should perform them
![Page 20: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/20.jpg)
The Declarative Method
Not without precedent
Similar to “affordances”
![Page 21: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/21.jpg)
The Declarative Method
Tasks have structure
• Relative priorities– “The most important thing is to
guard the door, but if you can, also guard the hallway”
• Are made up of sub‐tasks– “Guarding the hallway means
guarding the front, the middle and the rear of the hallway.”
![Page 22: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/22.jpg)
Behavior Trees
(Handling Complexity in the Halo 2 AI, GDC 2005)
Takeaways:1. Prioritized‐list decision scheme2. Behaviors are self‐describing
We are not making a single choice. We are finding a distribution across all choices.
melee
shoot
grenade
uncover
pursue
cover
sleep
fight
search
hide
idle
root
![Page 23: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/23.jpg)
Task Trees?
Generator 2Generator 3
Generator 1
![Page 24: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/24.jpg)
Task Trees?
24 guys
root fallback
forward
laststand
fallback
forward
laststand
fallback
forward
laststand
generator 2
generator 3
generator 1
8
8
8
800
800
800
![Page 25: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/25.jpg)
Halo 3 AI Objectives System
The structure:• A Tree of Prioritized Tasks• Tasks are self‐describing
– priority– activation script‐fragments– capacities
The Algorithm:• Pour squads in at the top• Allow them to filter down to the most
important tasks to be filling RIGHT NOW
Basically, it’s a plinko machine.
![Page 26: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/26.jpg)
The Dynamic Plinko Machine
• Tasks turn themselves on and off
• Squads pulled UP, on activation of a higher‐priority task
• Squads pushed DOWN, on deactivation of the task they’re in
![Page 27: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/27.jpg)
g3 laststand
3 GeneratorsRevisited
g1_group g1 alive max 10
root
g1 forward >75%
g1 fallback >50%
g2_group g2 alive max 10
g2 fallback >50%
g2 forward >75%
g3_group g3 alive max10
g3 fallback >50%
g3 forward >75%
g1 laststand
g2 laststand
g1_group g1 alive max 10
root
g2_group g2 alive max 10
g2 fallback >50%
g2 forward >75%
g3_group
g3 alive max10
g1 forward >75%
g1 fallback >50%
g1 laststand
g2 laststand
g3 fallback >50%
g3 forward >75%
g3 laststand
![Page 28: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/28.jpg)
Designer UI
• Integration with HaloScript• Run‐time feedback
![Page 29: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/29.jpg)
The Algorithm
![Page 30: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/30.jpg)
The Algorithm• Consider a subtree fragment• Determine which children are active
– Squads in inactive tasks assigned back up to parent
• Consider top priority group• Collect squads to attempt to distribute
– Squads currently in parent– Squads in lower‐priority tasks
• Distribute Squads• Recurse for children in top priority‐group• Iterate to next “priority group”
![Page 31: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/31.jpg)
Squad Distribution
Formally, we have• set S of n squads• set T of m tasks
Now, find a mapping
Two parts:1. Respect Task‐Capacity Constraints2. Minimize cost function H(F)
![Page 32: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/32.jpg)
Squad Distribution
1. Respect Task‐Capacity Constraints
# guys assigned to task t ≤ capacity(t)
... but remember, we’re bucketing by squads.
This is called bin‐packing. And it’s NP‐Hard.
5 81
12 15 8
![Page 33: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/33.jpg)
Squad Distribution
1. Respect Task‐Capacity Constraints
Fortunatelya) there’s always Wikipediab) we can live with sub‐optimalc) we’re optimizing not for m, but for H(F)
![Page 34: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/34.jpg)
Squad Distribution
2. Minimize cost function H(F)
Why a cost function?• Gives us a basis for choosing one
distribution over another• Weigh different concerns
– don’t want to travel far– want to act coordinated– want to balance the tree– want to get near to the player
![Page 35: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/35.jpg)
Squad Distribution
2. Minimize cost function H(F)
DANGER: AI can look really stupid with wrong H(f)
OPPORTUNITY: Designer has abdicated his decision‐making authority
![Page 36: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/36.jpg)
Squad Distribution
2. Minimize cost function H(F)
A class of cost functions:
We use
![Page 37: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/37.jpg)
A Greedy Approach
while (S is not empty)
find pair (s,t) that give the minimum H(s,t) for all S x T (where adding s to t would not exceed t’s capacity)
if (s,t)assign(s, t)capacity(t) = capacity(t) size(s)S = S – s
else end
![Page 38: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/38.jpg)
A note on Perf
Our algorithm may be O(n2m), but we are redeemed by the fact that n and m are small
Other perf measures• Cache H(s,t) results• Timeslice entire trees Halo3• Timeslice nodes within trees
![Page 39: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/39.jpg)
Refinements
![Page 40: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/40.jpg)
Filters
Particular tasks only available to particular kinds of guys
E.g.– Must be of character type X– Must be in vehicles– Must NOT be in vehicles– Snipers
“Filters”• Specify occupation conditions (as opposed to activation
conditions)• “Trivially” implemented as an inf return value from H(s, t)• Helpful for the “spice”
![Page 41: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/41.jpg)
Further Task Refinements
Activation behavior• Latch on• Latch off / exhaustion
Exhaustion behavior• Death count• Living count
Assignment behavior• One‐time assignment
All of these were designer requests
![Page 42: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/42.jpg)
Case Studies
![Page 43: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/43.jpg)
Case Study #1: Leadership
Want to have leaders and followers
• Brute and three grunts• Brute Chieftan and brute pack
Gameplay• Leaders provide structure to
encounter• Leader death “breaks” followers
![Page 44: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/44.jpg)
Case Study #1: Leadership
Two Parts:
1. Leadership‐based filters– Core task: “leader” filter– Peripheral tasks: “NO leader” filter
2. Task “broken” state– Task does not allow redistribution in or out while broken– NPCs have “broken” behaviors
![Page 45: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/45.jpg)
Case Study #2: Player pickup
Vehicle encounters are not fun without a vehicle
Gameplay• When the player needs a vehicle, allies go pick him up
![Page 46: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/46.jpg)
Case Study #2: Player pickup
Implementation: one dedicated player‐pickup task per encounter
Four parts:1. vehicle filter2. player_needs_vehicle() script function3. “follow player” task option4. driver player_pickup behavior
And that’s it!
![Page 47: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/47.jpg)
Demo(Max Dyckhoff, everybody)
![Page 48: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/48.jpg)
Summaries
![Page 49: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/49.jpg)
Badness Summary
• Requires designer training
• Sometimes awkward relationship between scripting system and Objectives
• Tying together allied and enemy “fronts” was complicated.
• The squad wasn’t always the best level at which to do the bucketing
– e.g. give a guy a sniper rifle ... shouldn’t he then be allowed to occupy a “sniper” task?
![Page 50: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/50.jpg)
Technique Summary
• Declarative approaches are great– less direct control, more manageability
• Hierarchies are great– more modular– better scalability
• Self‐describing tasks makes this whole thing O(n) complexity rather than O(n2) (conceptually)
![Page 51: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/51.jpg)
Production Summary
• The Goal: provide a powerful tool for designers to control strategy‐level decision‐making for a large group of characters
• Flexible enough to incorporate plenty of designer‐requested features / modifications
• Great for Prototyping– became much more complicated as we neared shippable encounter state
• One‐stop‐shop for encounter construction
• Design of the system driven from the UI outwards
![Page 52: Building a Better Battle - Academics | WPIweb.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/halo3.pdf · • The dance is about the illusion of strategic intelligence • Strategy](https://reader034.vdocument.in/reader034/viewer/2022050603/5faa68094d927225a02edcae/html5/thumbnails/52.jpg)
Summary Summary
Not a problem isolated to Halo
As number of NPCs grows, these kinds of techniques will become more and more important
All you need ...... is H(s,t)