Tactical and Strategic Reasoning  Covers…  Deducing tactical situations from sketchy (limited) information  Using tactical situations to make decisions.

Slides:



Advertisements
Similar presentations
Artificial Intelligence in Game Design
Advertisements

AI Pathfinding Representing the Search Space
Pathfinding AI John See 29 Nov, 13 Dec 2010.
1 CO Games Development 2 Week 15 Terrain Analysis Gareth Bellaby.
Multi-tiered AI Patrick Schmid. Multi-tiered AI We already saw a presentation about this topic Remember Ke‘s presentation? Short recap.
Pathfinding Basic Methods.
Half life 2/ Counter Strike: Source bot Charlie Cross CIS
CSE 380 – Computer Game Programming Pathfinding AI
2-1 Chapter 2 - Data Representation Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring Computer Architecture.
Chapter 2: Data Representation
Best-First Search: Agendas
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Ant Colony Optimization. Brief introduction to ACO Ant colony optimization = ACO. Ants are capable of remarkably efficient discovery of short paths during.
1 AI for Computer Game Developers Finite state machines Path finding and waypoints A-Star path finding.
Dimensional Modeling CS 543 – Data Warehousing. CS Data Warehousing (Sp ) - Asim LUMS2 From Requirements to Data Models.
Simple Neural Nets For Pattern Classification
Prénom Nom Document Analysis: Linear Discrimination Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
Games Programming III (TGP2281) – T1, 2010/2011 Tactical & Strategic AI John See 10 Jan 2011.
Behavior Coordination Mechanisms – State-of-the- Art Paper by: Paolo Pirjanian (USC) Presented by: Chris Martin.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
16.5 Introduction to Cost- based plan selection Amith KC Student Id: 109.
Tactical AI in Real Time Supervisor: Aleks Jakulin Crew: Damir Arh, Matija Jekovec, Mitja Luštrek Gregor Leban, Martin Žnidaršič, Uroš Čibej Translation:
Radial Basis Function Networks
Clustering Unsupervised learning Generating “classes”
Neuro-fuzzy Systems Xinbo Gao School of Electronic Engineering Xidian University 2004,10.
The Greedy Wall Building algorithm Rami Khouri. Ideal definition of Wall Either keeps valuable assets in, or enemies out…mostly keep enemies out Impassable,
Artificial Intelligence in Game Design Problems and Goals.
CMSC 345 Fall 2000 Unit Testing. The testing process.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Introduction to AI Engine & Common Used AI Techniques Created by: Abdelrahman Al-Ogail Under Supervision of: Dr. Ibrahim Fathy.
1 The Use of Artificial Intelligence in the Computer Game Industry.
Situational Awareness Numerous aircraft and operational displays, when combined with effective and efficient communications and facilities, provide Air.
Artificial Intelligence in Game Design
SKULLS OF THE SHOGUn AI POST-MORTEM Borut Pfeifer Developer: Haunted Temple Studios Publisher: Microsoft Platforms: XBLA, Windows Phone, Windows 8 Release.
Motion Planning in Games Mark Overmars Utrecht University.
Artificial Intelligence in Game Design N-Grams and Decision Tree Learning.
Artificial Intelligence in Game Design Dynamic Path Planning Algorithms.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Qualitative Spatial Analysis Chris Mansley. Qualitative Quantitative items are known, definable quantities (x,y) coordinates Remaining health Location.
Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
WORLD NAVIGATION Don’t Fall Asleep Through These Topics  Tile Graphs  Points of Visibility  NavMesh  Path Smoothing  Hierarchical Pathfinding.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Decision Trees Binary output – easily extendible to multiple output classes. Takes a set of attributes for a given situation or object and outputs a yes/no.
AI Evaluation David Nowell CIS 588 2/14/05 Baldur’s Gate.
Robotics Club: 5:30 this evening
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.
Behavior-based Multirobot Architectures. Why Behavior Based Control for Multi-Robot Teams? Multi-Robot control naturally grew out of single robot control.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Artificial Intelligence in Game Design Influence Maps and Decision Making.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya.
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
1 CO Games Development 2 Week 13 Influence Maps Gareth Bellaby.
Team Member AI in an FPS and Goal Oriented Action Planning.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Decision Making: Decision Tree & State Machines Session 07
Movement in a full and dynamic environment using a limited influence map Paulo Lafeta Ferreira Artificial Intelligence for Games – CS 580 Professor: Steve.
Enemy and Friendly AIs Richard Gesick.
Schedule for next 2 weeks
CIS 488/588 Bruce R. Maxim UM-Dearborn
Chapter 2: Operating-System Structures
FUNCTION OF MANAGEMENT
Artificial Intelligence in Games Week 7
Chapter 2: Operating-System Structures
Presentation transcript:

Tactical and Strategic Reasoning  Covers…  Deducing tactical situations from sketchy (limited) information  Using tactical situations to make decisions  Coordinating between multiple characters  …and more….

Waypoint Tactics A waypoint – a single position in the game level (“nodes”, “representative points” used for pathfinding) To use waypoints tactically  need to add more data to the nodes (not just location info) Waypoints can be used to represent positions in the level with unusual tactical features (so that characters are better positioned tactically) Normally the level designer has some say in this…

Tactical Locations Waypoints used for tactical purposes are sometimes called – “rally points” e.g. To mark a fixed safe location for character to retreat if losing fight (defensive) To mark a pre-determined hiding spot that can ambush or snipe incoming enemy (offensive) To move secretly in shadow areas without being detected (stealth) Many more…

Tactical Locations

 A game level consists of a large set of waypoints, each labeled with tactical qualities  If waypoints used for pathfinding, they will also inherit other data such as connections etc.  Practically, tactical locations are not very useful as part of a pathfinding graph…  More efficient to have separate pathfinding graph and tactical location set

Tactical Locations Although common to combine two sets of waypoints (one for tactical, one for pathfinding), not efficient nor flexible E.g. Cover and sniping waypoint nodes are not useful for pathfinding! Result in unrealistic movements within level

Primitive and Compound Tactics Most games have a set of pre-defined tactical qualities (e.g. sniping, shadow, cover, etc.). These are primitive defined tactics Combination of these primitive tactics result in locations with compound tactical qualities. E.g. Sniper locations – Points that have combination of both cover points and high- visibility points. A point can have both defensive and offensive tactical features.

Primitive and Compound Tactics  For this e.g. how is an ambush point constructed from primitive tactical locations?

More Compound Tactics – Waypoint Graphs Waypoints can be CONNECTED to form waypoint graphs (similar to pathfinding graphs) when the waypoints defined are not isolated/separated Where is the best spot for a hit-and-run move? Topological analysis

Continuous Tactics Marking locations with numerical values (able to use fuzzy logic and probabilities) instead of Boolean values E.g. A waypoint will have a value for cover feature (0.7) and visibility feature (0.9) In choosing between a few cover points to go, choose one that has better/higher value Using fuzzy logic rules can allow us to combine these values, E.g. Sniper (value) = cover (value) AND visibility (value) Sniper = MIN(0.7, 0.9) = 0.7

Using Tactical Locations How do we build a tactical mechanism within the character AI? Three approaches: 1. Controlling tactical movement (simple method) 2. Incorporate tactical information into decision- making 3. Use tactical information during pathfinding to produce character motion that is always tactically aware

1. Tactical Movement Tactical waypoints are queried during game when the character AI needs to make a tactical move E.g. Character needs to reload bullets, it queries the tactical waypoints in the immediate area to look for “nearest suitable location” to stop and reload, before continuing Action decision is carried out first, then apply tactical information to achieve its decision Limitation: Some realism, not able to use tactical information to influence decision making

2. Tactical Information in Decision-Making Give the “decision-maker” access to tactical information, just like any other game world information DT example: SM: Trigger transitions only when certain waypoints are available and/or fulfill required numeric value (if used)

3. Tactical Information during Pathfinding Relatively simple extension of basic pathfinding. Rather than finding shortest/quickest path, it takes into consideration tactical situation of game Simplest way is to manipulate graph connection costs (by adding “tactical cost” to locations that are dangerous or reducing “tactical cost” at locations that are easy)

Finding nearby waypoints  To use any of these approaches, a fast method is needed to generate nearby waypoints  Given location of character, generate a list of suitable waypoints in order of distance  Methods to work out what objects are nearby  Binary space partitions (BSP), quad-trees, multi- resolution maps

Creating waypoints  So far we assumed the waypoints are pre- created (by developer or level designer), and the properties have been decided  This is the most common practice – 1) Actual properties are decided, 2) context-sensitive information placed at locations to be interpreted later  It is also possible to CALCULATE the tactical properties of each location automatically – cover, visibility, shadow points, etc.

Tactical Analyses Sometimes known as influence maps – a technique pioneered and widely used in RTS games where the AI keeps track of areas of military influence in game Can also be used in simulation/evolution games, FPSs or MMOs Overwhelming majority of current implementations are based on tile-based grid worlds. Even for non- tile-based worlds, a grid can be imposed over the geometry for tactical analyses. Already discussed In Pathfinding lesson

Revising Influence Maps  Keeps track of “military” influence at each location level  Calculations – Linear/non-linear drop-off  Limited radius of effect – to constrain calculations to a finite circular area  Allows game AI to analyze the game level, for strategic decision making  “Fog-of-war”

Combining Tactical Analyses Multi-layer analyses involved combining a few influence maps into a composite influence map. Example: To find best location to build tower, consider: Wide range of visibility, secured location, far from other towers to avoid redundancy (3 maps) To get a single influence value, the 3 base tactical analyses can be combined by multiplication (or addition, etc.) Quality = Security x Visibility x Distance (or if tower influence is used instead of distance) Quality = Security x Visibility Tower Influence

Combining Tactical Analyses

Structure for Tactical Analyses  Different types of tactical analyses can be distinguished by its properties and frequency of updating needed

Tactical Pathfinding Similar to regular pathfinding (same techniques/ algos), only modification is the cost function used – extended to tactical info Cost function influenced by two criteria: 1. Distance/time 2. Tactical Information Cost of a connection given by a formula where D is the distance/time of connection, w i is the weighing factor for each tactic T i and i is the number of tactics supported.

Tactic Weights and Blending The value for each tactic is multiplied by a weighting factor before summing into the final cost value. Locations with high tactics weight will be avoided Locations with low tactics weight will be favored Weights can be negative, BUT careful not to have negative overall weight, which may result in negative overall cost! Tactical costs can be pre-calculated if they are static (terrain, visibility). If they are dynamic (military power, number of units), they should be updated from time-to-time

Customizing Weights In certain games, different units can have different sets of tactical weights (w) based on their characteristic. Example: Reconnaissance units, light infantry, heavy artillery. Tactical info: terrain difficulty, visibility, proximity of enemy units

Customizing Weights Weights can also be customized according to a unit’s aggression E.g. Healthy units finds paths in normal way. When it is injured, the weight for proximity to enemy can be increased to make the unit choose a more conservative route back to base.

Implications on heuristic- based pathfinding When modifying pathfinding heuristics (especially for A*), make sure heuristic measure is not reduced too much due to subtraction of tactical costs, or increased too much due to addition of tactical costs.  May result in underestimating or overestimating heuristic

Coordinated Action To coordinate multiple characters to cooperate together to get their job done, some structure need to be in place. Two categories: 1. Team/Group AI (a group of AI NPCs, fully AI) 2. Cooperative AI (AI cooperates with a human player in a team) Common Qs: Should individual AIs “speak” to each other, and make collective decisions? Should a central “command center/brain” give orders and instructions to each individual AI? Can we have a bit of both?

Multi-Tier AI – Top-Down Highest level AI makes a decision, passes it down to next level, which uses its instruction to make its decision, and pass again down to the lowest level Example: Military Hierarchy

Multi-Tier AI – Bottom-Up Lowest level AI algorithms take their own initiative to make decisions, then use higher level algorithms to provide information on which they can base their actions Example: Autonomous decision making by individual characters that can influence the overall game: Squad-based Strategy games, Evolution-based games “Emergent cooperation”

Multi-Tier AI – Example  Multiple levels – Each character ha s its own AI, squads of characters together will have a different set of AI algorithms

Multi-Tier AI – Example  Player involvement in group AI: Recognition of player actions and passing down to next layers  Intermediate layers between player and individual AIs should rely on player action  Decision making can act to complement player

Structuring Multi-Tier AI  2 infrastructure components:  A communication mechanism to transfer orders from higher layers in the hierarchy downward: Overall strategy, assigned targets, areas of avoid, etc.  A hierarchical scheduling system to execute the correct behaviors at the right time, in the right order, and only when required

Emergent Cooperation  Less centralized, more free-flowing  Characters take into account what other characters are doing (e.g. moving together)

Emergent Cooperation  E.g. FSM for four characters in a team – provide mutual cover and working coherently  If any member is removed, team operates as usual