matt mitchell david pennenga john formica. topics to cover levels of threat straying from the...

52
Squad Tactics and Artificial Intelligence Matt Mitchell David Pennenga John Formica

Upload: kieran-burdock

Post on 14-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Squad Tactics and Artificial Intelligence

Matt MitchellDavid PennengaJohn Formica

Page 2: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Correct Movement

Topics to cover Levels of threat Straying from the team Use of caution Team context Speed of movement

Page 3: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Levels of Threat

The more targets, the greater the possibility of obstructing line of sight (LOS) How to fix this?

If the player is looking in the direction of NPC Move to the angle of

LOS that has less targets

Page 4: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Levels of Threat (cont.)

If the player is looking away from NPC NPC should move

in opposite direction that the player is looking

Page 5: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Levels of Threat (Cont.)

If above heuristics fail, prioritize obstruction Threat level of enemy

A player is more likely to target: enemies with greater threat levels▪ Obstruct view of enemies with lesser threat

levels Groups of enemies over individuals▪ Opt for obstructing view of smaller groups or

individuals▪ Threat level also should be considered

Page 6: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Straying from the team

NPCs should stay close to the team Set maximum radius from team

Why? Straying from the team could:▪ Alert enemy combatants▪ Distract player from game▪ Trying to find lost teammates

▪ Cause failure to assist player

Page 7: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Use of Caution

Teammates should avoid risking the welfare of the team

NPCs should not be the first to engage an enemy Explore a room Move over a hill or around a corner This could undermine the player’s play

style

Page 8: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Team Context

Take different play styles of the player into consideration Some games allow player to set play styles▪ Aggressive vs passive▪ E.G. Republic Commando▪ “search and destroy”▪ “form up”▪ “hold position”

Move at the same pace as player But not obstructing LOS Consider tactically sound behavior▪ We will cover more about this shortly

Page 9: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Correct Behavior

Types of behavior Use of cover Selective firing reloading

Page 10: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Use of Cover

Path-finding algorithm Prefer cover and the shadows▪ Causes player to believe in tactical prowess

of NPCs▪ Adds to realism of game play▪ Prevents accidentally alerting NPCs

Take player cues If NPC behavior does not match player behavior▪ E.G. Speed of player movement could cancel

priority for cover in path-finding algorithm if player appears to be in a rush

Page 11: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Selective Firing

Only fire when within range and in view Controlled bursts▪ Maintain accuracy▪ Conserve ammunition

Reaction times▪ Should be manipulated if individual combat-

related AI is too powerful▪ Balance high accuracy with low reaction times▪ Certain manipulations also make contextual sense:

Rainbow Six style squad games

▪ Team reaction time should not be lower than enemy team’s reaction time

Page 12: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Reloading

Cycling aggressive NPCs Reloading NPCs fall back or take cover▪ Return when finished

Stagger fire of NPCs So NPCs do not run out of ammunition at

the same time “taking turns” at attacking ensures that

player will most likely always have supporting fire

Page 13: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Supporting the Player

Close support of the player Protecting the rear Reporting to the player Selecting a target Responding to orders

Page 14: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Reporting to the Player

Protect player’s sides Report threats via audio or visual cues▪ Messages are a staple of squad game play▪ Do not overwhelm player▪ Reporting threats while in combat is not usually

necessary

Pick appropriate engagement times▪ Not in a fire fight▪ Do not aggravate more enemies than already

fighting

Page 15: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Selecting a target

Chose targets other than the player’s Chose targets farthest from the player’s

LOS NPCs are there to complement game

play not hinder it Also should take threat level into

account Player might need assistance▪ Health of player’s target versus player’s own

health Consider higher concentration of targets

Page 16: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

The player is most important Weapon selection

NPC weapon should not be more powerful than player’s unless dictated by player

Weapon and item selection Allow player first choice▪ Implemented by tracking player proximity to items▪ If the player approaches items and walks away

then NPCs may pick up items Reaction time

Allow player to attack enemies first▪ Unless team is under attack

Page 17: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Implementation

Line of sight avoidance hierarchy Each child avoids the line of sight of the parent Allows for easy restructuring in the event of

casualties▪ Node replacement algorithms

Threat awareness Use LOS algorithm to find and report targets▪ Maintain group awareness of threats by “looking around”

so that NPC LOS updates, player awareness of environment▪ Used in some groups’ Robocode this semester

Environment awareness Identify cover/restricted areas/straying from player

Page 18: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Implementation (cont.)

NPCs reference a team knowledge base that governs NPC behavior

Finding available NPCs Availability = (1+N)(1+O)(1+P)+(Q*[infinity])▪ N= # enemies in covering area (integer value)▪ O= # enemies within range (integer value)▪ P= # enemies threatening team (integer value)▪ Q= supporting another teammate (boolean value)

The above formula▪ Provides a return value of greatest value in the event that the

NPC in query is supporting a teammate (optimal behavior)▪ If the NPC is not supporting teammate, it provides a finite

return value which can easily be compared with the availability of other NPCs

Page 19: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Example of Correct NPC Behavior

Rainbow Six: Raven Shield Team of AI finish a mission

http://www.youtube.com/watch?v=-9f3cXBB-Nc

Visible in this video Maintaining constant awareness of environment Reaction time alterations for context▪ Very fast for mimicking elite soldier behavior

“Stick to the shadows” path-finding Controlled fire NPCs stay close to the team Appears to use LOS dominance hierarchy

Page 20: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Team AI and Emergent Maneuvers

Decentralized approach Squad members exchange info equally▪ Messages!

No commanding force▪ Instead, equally shared knowledge bases for reference

of each member Squad behavior is an extension of individual AI

Centralized approach Leader receives and interprets info from soldiers Orders soldier behavior▪ Differing strength of orders▪ This will be covered shortly

Page 21: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

The Decentralized Approach Pros

Extension of individual AI (easier to implement)▪ All AI simply must communicate with each other either directly (messages)

or indirectly (communicating with an abstract knowledge base) Robustly handles situations▪ Emergent behavior facilitates problem solving without having to

specifically code for given tasks Deals well with variations in capabilities of teammates▪ Individual AI is permitted to interpret or act upon supplied info differently

▪ hence this approach being an extension of individual AI

Easily combined with scripted AI▪ Same reason as above

Cons Weak at autonomy or tight coordination▪ Lack of specific plans for problems hinders team cohesion

Cannot deal with individual strengths/weaknesses

Page 22: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Squad Maneuvers

Tightly coordinated Members rely on detailed, repeatedly

rehearsed drills, and continuous flow of info▪ In CSE terms, events are anticipated and

coded specifically to be solved Loosely coordinated

Does not rely on planned maneuvers Relies more on verbal communications

Page 23: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Emergent Behavior

Fire and maneuver behavior individual behavior of either firing or moving

▪ Communicate this within the squad▪ Emergent behavior of position cycling

Goal behavior achieved via communication Stay close to cover

▪ Communicate info of cover whereabouts Prevent blocking LOS of others

▪ Communicate direction of LOS Take weapon capabilities into account

▪ Damage, area of effect, etc. Maintain group cohesion

▪ NPC location and intentions Spread out

▪ Communicate distance from other NPCs Keep LOS on targets

▪ Target locations, if the target is moving in the direction of another NPC

Page 24: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Squad Member’s Mental Picture

For each member Current position and activity Claimed destination position LOS

For each opponent Last known position/state Estimated current position Members engaging opponent Members able to observe opponent LOS

For other hazards/threats Known/estimated position Damage radius

Page 25: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Messages

Why so preferred? Model communication latency by queuing messages Present the message in game play Can filter messages for player benefit▪ Prioritize info of messages

Sends to dead members assumed alive for realism▪ Only serves a purpose when player witnesses it

Can use scripted entities to direct members▪ The content of messages serves a purpose whether the

source of the info is adaptable AI or not Accommodates human members

Page 26: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Ambush Example

Goals Wait for enemy to enter kill zone Pull back to predefined rally point after

engagement Fall back when discovered

How does a decentralized approach handle ambushing?

Page 27: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Ambush Example (cont.)

Decentralized approach… Returns fire well Can prefer being near rally point BUT▪ Cannot reach unanimous behavior on

attacking because each agent will carry out its own behavior▪ Cannot orchestrate movement well because

there is no central executive force to create a consensus of behavior

Page 28: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Planned Maneuvers

Centralized approach styles Authoritarian command style▪ Focuses team performance by forcing agents

to perform commands▪ Cannot be ignored by individual AI

Coaching command style▪ Advises, rather than forces, agents▪ Allows for agents to override commands

▪ Problems could arise from agents wanting to always perform their own behavior

Page 29: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

The Squad’s Situation

Things to consider Force ratio ▪ ratio of allies to enemies

Line of fire ratio ▪ ratio of # of enemies in allies’ line of fire to

the opposite Consider Boolean states to make

judgment calls Knowledge bases First order logic conjunctions

Page 30: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

A Good Maneuver

Chosen path is a good combination of Short travel time Concealment from pursuing enemies Sufficient space to maneuver

Page 31: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Maneuvering

Progress should be monitored Arriving at position informs the squad Provides individuals with a new

command Pros of this approach

Allows for changes in squad behavior mid-maneuver▪ E.G. a member is trapped in a spot which

forces a reevaluation of the path finding algorithm and sends it far away from the squad

Page 32: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Pulling Back

Use maps or an alteration of the A* function

New cost function considers Nodes that can be fired at from

preceding nodes Nodes that provide insufficient space to

bypass Nodes that are a bad position from

which to fight The time and spatial complexity of

this new function force it to be applied to the squad aggregate for practicality

Page 33: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Pulling Back (cont.)

To properly pull back Mark each position just before a bend in

the path that blocks the LOS of many preceding positions on the path

Features sufficient room for members to bypass it▪ If first choice of bypass is obstructed some

how, a second choice should be available Is a good position from which to fire▪ Pulling back across an open field versus a

rocky hillside

Page 34: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Command Hierarchies

Chain of command: Commander -> captain -> sergeant -> soldier More subdivisions are allowed if necessary

Creates an organized and efficient way of commanding soldiers

Page 35: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Example: Outflanking Maneuvers

Strategic Decision Process Check if maneuver is possible/appropriate▪ Doors are accessible (referencing door IDs so

there are no duplicate actions) Compare▪ Distance between opponent and door with

distance between soldier and door Maneuver organization

Consider distance to closest door so maneuver is as fast as possible

Page 36: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Example: Covering Exits Maneuver

Strategic decision process Try to determine whether the maneuver

is possible/advantageous▪ Check if ally must cross a specific room in

order to get from their room to a target

Page 37: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Example (cont.)

Maneuver organization Find how many soldiers are needed to

cover exits Order soldiers to cover designated

positions Decide on a room to search Order soldiers to move to reachable

doors of the first room When all of the above have been

completed, a search command is sent to squad

Page 38: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Formations

Types of formations Line Left flank Right flank Column Box Wedge Vee

Page 39: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Facing in Formations

Different facing applies to different tactics Defense vs offense LOS Friendly fire Project more firepower

Staggered line Outward facing vs inward facing

Page 40: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Ordering

Mixed unit type ordering Weaker/longer-ranged units in the back of

the line or center of a box Faster units placed at flanks

Closest position Calculating the best match of unites to

positions▪ Sort units based on their minimum distance to

the closest position▪ Iterate through the sorted list▪ Assign each unit the closest unused position

Page 41: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Unit mobility

Direction may play a role if turning is difficult

Create formation positions that avoid crossing paths of units Use movement vector and parallel paths

Arriving time Fix variations in arrival time by making

all units’ paths lead to the center of the formation and order is determined by arrival time (illustration on next slide)

Page 42: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Unit Mobility (cont.)

Page 43: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Unit Mobility (cont.)

Spacing distance Must be scaled so that the size difference in

units is considered Ranks

Each formation has a maximum occupant limit▪ Start new formation once reached

Playbook If certain places are reserved for specific units

restrictions must be coded▪ If no match found for a position, slot may be skipped

(hole is made)

Page 44: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Moving Out

When do the units fall into formation?

Upon initial movement Might delay movement Might cause unit backtracking

Just before destination Might give player impression that

nothing is happening Might be best choice for coordinated

attack

Page 45: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Moving out (cont.)

do formation at destination Faster movement/no delays Formations made as distance to

destination decreases Not as effective while en route Not as organized upon arrival

Page 46: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Moving out (cont.)

Group path finding and movement Calculate path for lead, others apply

formation offsets to path Flocking style where group follows

slightly behind lead in rough formation When mixed units move as a group,

differences in locomotion can break formation integrity▪ Solution: all units move like the slowest unit▪ Problem -> faster units might appear to move in slow

motion

Page 47: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Moving out (cont.)

React to ambush Spread out to avoid area of effect or

converge to chase down an enemy After passing obstacle or attack

regroup in the same fashion that the group was originally formed Reassign positions to make up for lost

units if necessary

Page 48: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Influence vectors

Algorithms capable of tactical assessments in a dynamic environment

Modification of influence mapping Cells of influence are calculated from unit

positions outward Total influence: a factor which assesses bot

tactical situation in the engagement area Each “cell” superimposed on the influence

map has a calculated value associated with agent and environmental qualities

Page 49: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Genetic Programming

Learning algorithms that give an NPC the ability to adapt to opponents’ playing styles in real time

Pros Provide more challenge as opponents

because they are unpredictable Facilitate the discovery of new strategies

Cons Developers cannot test what behaviors

the NPCs will exhibit

Page 50: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Genetic Programming (cont.) Entire team of NPCs view as one chromosome

Each agent derived from a different part of the chromosome▪ Creates heterogeneous teams

Five node sets, total of fifty nodes used in evolution

Page 51: Matt Mitchell David Pennenga John Formica.  Topics to cover  Levels of threat  Straying from the team  Use of caution  Team context  Speed of movement

Genetic Programming (cont.)

Fitness calculation Takes into consideration the game’s

duration and remaining health of team and enemy agents

Selection Elitism: m copies of the best n

chromosomes from each generation are copied directly into the next generation

Roulette wheel selection▪ Any chromosomes selected are subject to

randomness