Presentation is loading. Please wait.

Presentation is loading. Please wait.

Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.

Similar presentations


Presentation on theme: "Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors."— Presentation transcript:

1 Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors

2 Path Following Examples: –Move from one location to another along known route –Patrol area cyclically –Implementation of high-level path planning Go to door of bookstore Go down hall Go into PC room Path following moves character along these steps

3 Path Following Note that will never follow path perfectly –Like arrive, can’t ever reach an exact location –More realistic to move in smooth curves –More realistic if don’t follow exact path every time (patrolling) Desired path Actual path

4 Path Following Break path down into set of points along path Seek each point in sequence –When “close enough” to point, seek next point Possibly defined as slowRadius

5 Path Following Choosing points on path –Seek next point fixed distance along curve from current target Easy to compute Can miss sharp curves –Seek next point at closest approach to path at current direction Most smooth, precise following Complex to compute Can miss major sections of complex path

6 Path Following Waypoints at important path points –Chosen manually by level designer –Most accurate to meet goal of path –Less automatic Desired path

7 Wall Avoidance Goal: keep character some avoidDistance from walls –Usually based on “bounding sphere” of object Most graphical objects represented this way safeDistance

8 Wall Avoidance Project path of character to some lookahead away –lookahead > minimum distance required for stop at maxAccel when traveling at maxSpeed –Projection can use same algorithms that graphics use for ray casting If wall within lookahead, steer away. lookahead

9 Wall Avoidance Determine collision point Project to point perpendicular to wall safeDistance away Seek that location safeDistance Collision point Seek this point

10 Wall Avoidance May still collide with wall Algorithm will keep steering until parallel to wall New collision point Seek this new point

11 Wall Avoidance Corners can be problem if not detected by ray trace –Very common problem in robotics One solution: “whiskers” Project three lines from character No collision detected collision detected Steer away

12 Collision Avoidance Goal: avoid collisions with other characters who are also in motion –Is collision going to occur? –If so, how should we steer? Location of closest approach –Not where paths intersect

13 Collision Avoidance If distance less than some safeRadius at that point Flee that point If already in collision with object, just Flee its current location safeRadius Collision detected Flee where obstacle will be at that point safeRadius In collision Flee

14 Collision Avoidance Much more difficult if multiple obstacles –Determine time to collision of all –Flee from location of first collision –No perfect solution to problem No collisionFirst collision Later collision

15 Collision Avoidance Expensive to compute if many obstacles –C characters checking for collisions with each other  C 2 checks One solution: only check characters within some search radius

16 Jumping NPC jumping over obstacles key to many games –Run towards obstacle to achieve needed speed –Jump over obstacle –Land on other side Must be convincing –Speed, launch point must look realistic –Character should not jump unless can succeed (unless player interrupts) Going too slow for realistic jump Jump fails

17 Jumping Jump points –Target for “run up” by NPC –Usually have corresponding “landing pad” Large enough so covers all landing points from all of jump point –Created by level designer Ideally room designed so jump point looks “natural” Jump point Landing pad

18 Jumping “Starting radius” for run up based on maxSpeed, maxAccel –Outside radius  Seek jump point –Inside radius  Arrive point outside radius Seek jump point Jump point Landing pad

19 Combining Steering Behaviors What if multiple steering rules fire? –What should resulting steering be? –Blending results of rules –Prioritizing some rules over others $ $ $ $ $ Flee player Arrive gold Avoid wall

20 Blended Steering Behaviors Weighted sum of steering from different rules –Weights = relative importance of action –Can depend on “strength of stimulus (distance, etc.) Example: –Flee player with weight 0.5/distance from player –Arrive gold with weight 1/distance from gold –Steering = sum of these $ $ $ $ $

21 Blended Steering Behaviors Can result in “intelligent” path choices $ $ $ $ $

22 Blended Steering Behaviors Flocking –Seek “center of gravity” of flock –Align with average direction –Avoid direct collisions Center of gravity Avoid collision Average direction

23 Blended Steering Behaviors Blending conflicting behaviors can give results that meet no goals pursue Wall avoid result seek flee Stimuli perfectly balanced – no motion at all!

24 Prioritized Steering Behaviors Often need to give one steering behavior total control Imminent collision with obstacle  avoid About to be caught by predator  flee –Bad idea to blend with other behaviors Example: wall avoid steering will only be half of total output Will only brake at half maximum speed pursue Wall avoid

25 Prioritized Steering Behaviors Often proximity based –Within safeRadius of wall  execute WallAvoid behavior –Within attackRadius of player  execute Flee behavior Pursue not considered Wall avoid has priority

26 Prioritized Steering Behaviors Can group similar behaviors –Give each unique priority Often based on “level of damage” to character if not handled –If total steering from high- priority group < threshold try next highest priority group Stimulus for high-priority behavior not strong enough to matter Avoid obstacles group Avoid walls to side Avoid wall on turns Avoid collisions group Avoid cars to side Avoid car in front Follow path group Seek next point on path around track

27 Prioritized Steering Behaviors Avoid obstacles group Avoid walls to side Avoid wall on turns Avoid collisions group Avoid cars to side Avoid car in front Follow path group Seek next point on path around track Next path point Steer away from wall has priority Ignore possible collisions with cars Ignore next point on path Steering

28 Prioritized Steering Behaviors Avoid obstacles group Avoid walls to side Avoid wall on turns Avoid collisions group Avoid cars to side Avoid car in front Follow path group Seek next point on path around track Avoid collision has priority Avoid obstacles steering below threshold Ignore next point on path Next path point Collision detected Minimal steering from walls Steering

29 Prioritized Steering Behaviors Avoid obstacles group Avoid walls to side Avoid wall on turns Avoid collisions group Avoid cars to side Avoid car in front Follow path group Seek next point on path around track Seek next path point has priority Avoid obstacles steering below threshold Avoid collisions steering below threshold Next path point Minimal steering from walls Steering Minimal steering from other cars

30 Prioritized Steering Behaviors Can still get stuck in cycles –Steer for one high-priority behavior Far enough away so no longer priority –Other behavior becomes priority Steers back toward first problem flee Flee enemies Seek target seek

31 Higher Level Control of Steering Conflicts best resolved by higher-level reasoning –What is current state? –What overall goal are we attempting to accomplish? Same room as player Seek player Different room as player Arrive door Player exits room Enter room where player is Arrive door Seek player


Download ppt "Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors."

Similar presentations


Ads by Google