Presentation is loading. Please wait.

Presentation is loading. Please wait.

Games Programming III (TGP2281) – T1, 2010/2011 Tactical & Strategic AI John See 10 Jan 2011.

Similar presentations


Presentation on theme: "Games Programming III (TGP2281) – T1, 2010/2011 Tactical & Strategic AI John See 10 Jan 2011."— Presentation transcript:

1 Games Programming III (TGP2281) – T1, 2010/2011 Tactical & Strategic AI John See 10 Jan 2011

2 Games Programming III (TGP2281) – T1, 2010/2011 Tactical & Strategic AI in Millington’s Model

3 Games Programming III (TGP2281) – T1, 2010/2011 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) Some examples of use of waypoints to represent positions in the level with unusual tactical features Normally the level designer have some say in this

4 Games Programming III (TGP2281) – T1, 2010/2011 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!

5 Games Programming III (TGP2281) – T1, 2010/2011 Tactical Points NOT THE BEST pathfinding points 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

6 Games Programming III (TGP2281) – T1, 2010/2011 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.

7 Games Programming III (TGP2281) – T1, 2010/2011 Primitive and Compound Tactics For this e.g. how is an ambush point constructed from primitive tactical locations?

8 Games Programming III (TGP2281) – T1, 2010/2011 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? What are some problems using waypoint graphs?

9 Games Programming III (TGP2281) – T1, 2010/2011 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

10 Games Programming III (TGP2281) – T1, 2010/2011 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

11 Games Programming III (TGP2281) – T1, 2010/2011 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 This method: Action decision is carried out first, then apply tactical information to achieve its decision Some limitation in realism, and not able to use tactical information to influence decision-making due to limited use.

12 Games Programming III (TGP2281) – T1, 2010/2011 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) 2. Tactical Information in Decision-Making

13 Games Programming III (TGP2281) – T1, 2010/2011 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)

14 Games Programming III (TGP2281) – T1, 2010/2011 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.

15 Games Programming III (TGP2281) – T1, 2010/2011 Influence Maps Keeps track of current balance of military influence at each location in level Factors… E.g. proximity of military unit, proximity of well- defended base, duration since a unit last occupied a location, terrain, current financial state, weather, etc. In many games, simple influence maps are constructed based on these popular factors: 1.Proximity of enemy units and bases 2.Relative military power

16 Games Programming III (TGP2281) – T1, 2010/2011 Influence Calculations Concept: Influence is taken to drop off with distance. The farther away from a unit/base/etc., the lesser the value of their influence Linear model: Non-linear models: In practice, linear drop off is perfectly reasonable, and is also faster to compute

17 Games Programming III (TGP2281) – T1, 2010/2011 Influence Map Calculations To calculate the map, need to consider each unit in the game for each location in the level. Up to billions of calculations may be needed! Execution time: O(nm), Memory: O(m), where m number of locations, n number of units. 3 approaches: Limited Radius of Effect Convolution Filters Map Flooding

18 Games Programming III (TGP2281) – T1, 2010/2011 Limited Radius of Effect LIMIT the radius of influence effect for each unit Each unit has a maximum radius of influence, beyond that radius, no computation is required Use a threshold influence, I t (beyond which influence is zero), the radius is given by This approach results in O(nr) in time, where r is number of locations within the average radius of a unit. r << m Much faster! Any disadvantages?

19 Games Programming III (TGP2281) – T1, 2010/2011 Example: Influence Map

20 Games Programming III (TGP2281) – T1, 2010/2011 Influence Map: Examples Influence maps allows AI to see which areas of the game are safe, which areas to avoid, where the border between teams are weakest Example: Security influence map

21 Games Programming III (TGP2281) – T1, 2010/2011 Dealing with Unknowns Typically, games don’t allow players to see all the units in the game. Vision can be additionally limited by hills and other terrain features – Often known as “Fog-of-war” Should AIs have full knowledge of the entire map? Or should they be subjected to “fog-of-war” as well? With the partial knowledge, one set of tactical analyses is required per side in the game (incl. all AI sides).

22 Games Programming III (TGP2281) – T1, 2010/2011 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

23 Games Programming III (TGP2281) – T1, 2010/2011 Combining Tactical Analyses

24 Games Programming III (TGP2281) – T1, 2010/2011 Structure for Tactical Analyses Different types of tactical analyses can be distinguished by its properties and frequency of updating needed

25 Games Programming III (TGP2281) – T1, 2010/2011 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.

26 Games Programming III (TGP2281) – T1, 2010/2011 Tactic Weights & Concern Blending In the previous equation, the real-valued quality 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 favoured 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 must be updated time-to-time.

27 Games Programming III (TGP2281) – T1, 2010/2011 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

28 Games Programming III (TGP2281) – T1, 2010/2011 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. Customizing weights for different units

29 Games Programming III (TGP2281) – T1, 2010/2011 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

30 Games Programming III (TGP2281) – T1, 2010/2011 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?

31 Games Programming III (TGP2281) – T1, 2010/2011 Multi-Tier AI – Top-Down Approach 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

32 Games Programming III (TGP2281) – T1, 2010/2011 Multi-Tier AI – Bottom-Up Approach 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”

33 Games Programming III (TGP2281) – T1, 2010/2011 Multi-Tier AI – Structural Example At higher levels, decision making or tactics are performed. At lower levels, pathfinding and movement behaviors carry out high-level orders


Download ppt "Games Programming III (TGP2281) – T1, 2010/2011 Tactical & Strategic AI John See 10 Jan 2011."

Similar presentations


Ads by Google