REFERENCES: FLOCKING.

Slides:



Advertisements
Similar presentations
7.2. AI E NGINE AND S TEERING B EHAVIOUR I Design of an AI Engine and introduction to steering in game AI.
Advertisements

7.3. S TEERING B EHAVIOUR II Steering behaviours in game AI.
Beyond the Centralized Mindset
Flocking and more.  NPC groups can move in cohesive groups not just independently ◦ Meadow of sheep grazing? ◦ Hunting flock of birds? ◦ Ants? Bees?
Lecture 4: Command and Behavior Fusion Gal A. Kaminka Introduction to Robots and Multi-Robot Systems Agents in Physical and Virtual Environments.
Evolving Flocking Simulation and Robotics Dan Sayers iotic.com.
Flocks, Herds and Schools Modeling and Analytic Approaches.
Flocks, Herds, and Schools: A Distributed Behavioral Model By: Craig Reynolds Presented by: Stephanie Grosvenor.
BOIDS by Craig Reynolds Cs 527 Computer Animation. Dr. Robert Kenyon. Vaidyasubramanian Chandrasekhar Vaidyasubramanian Chandrasekhar.
1 CO Games Development 2 Week 22 Flocking Gareth Bellaby.
OBJECT-ORIENTED THINKING CHAPTER Topics  The Object-Oriented Metaphor  Object-Oriented Flocks of Birds –Boids by Craig W. Reynolds  Modularity.
Optimizing Flocking Controllers using Gradient Descent
Florian Klein Flocking Cooperation with Limited Communication in Mobile Networks.
Behavioral Animation Procedural Animation Type?. Behavioral Animation Introduced by C. Reynolds (1987) Animating many things at one time –A group of the.
Rick Parent - CIS682 Flocking Geometric objects Many objects Simple motion - e.g., local rules, more physics, collision avoidance Consider other members.
Kristen Gardner. Outline Swarm Intelligence Flocking Basic Steering Swarms Applications Animals Vehicles People.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012.
Flocking References: xxx.
CITS4403 Computational Modelling Agent Based Models.
1 Reactive Pedestrian Path Following from Examples Ronald A. Metoyer Jessica K. Hodgins Presented by Stephen Allen.
1Notes  Assignment 2 is out  Flocking references  Reynolds, “Flocks, Herds, and Schools…”, SIGGRAPH’87  Tu and Terzopoulos, “Artificial Fishes…”, SIGGRAPH’94.
John S Gero Agents – Agent Simulations AGENT-BASED SIMULATIONS.
Particle Systems and Fuzzy Shapes Presented by Dan Cogswell.
Basic Math Vectors and Scalars Addition/Subtraction of Vectors Unit Vectors Dot Product.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Crowd Simulation Seminar ”Steering Behaviors For Autonomous Characters” By Craig W. Reynolds Rudi Bonfiglioli ( )
Steering Behaviors For Autonomous Characters
Games Programming III (TGP2281) – T1, 2010/2011 Movement AI John See 19, 26 Nov 2010.
Movement for Gaming Artificial Intelligence Spring 2008.
8.3a-Vectors Terms Operations Practice Problems.
Artificial Intelligence in Game Design Camera Control.
3-2 Vectors and Scalars  Is a number with units. It can be positive or negative. Example: distance, mass, speed, Temperature… Chapter 3 Vectors  Scalar.
Flow Fields Hao Li and Howard Hamilton. Motivation for Flow Fields Multiple AI algorithms in a computer game can produce conflicting results. The AI must.
Steering Autonomous Characters Spring 2005 Ref: Craig Reynolds.
Artificial Intelligence for Games Lecture 1 1 Minor Games Programming.
Math / Physics 101 GAM 376 Robin Burke Fall 2006.
Behavior. Autonomous Characters Self-Directed characters "puppets that pull their own strings" -Ann Marion.
Submitted by: Giorgio Tabarani, Christian Galinski Supervised by: Amir Geva CIS and ISL Laboratory, Technion.
DESCRIBING MOTION: Kinematics in One Dimension CHAPTER 2.
1 Game AI Steering Behavior & Group Movement ( 轉向行為 及 群體運動 )
CLASS 10 SCENE GRAPHS BASIC ANIMATION CS770/870. A scene Graph A data structure to hold components of a scene Usually a Tree of a Directed Acyclic Graph.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
Chasing, Evading, Intercepting, Pattern Movements
Controlling the Behavior of Swarm Systems Zachary Kurtz CMSC 601, 5/4/
Basic Steering of Game Agents Featuring Guest professors Stephen Sheneman & Michael Wilkens 1.
Study of Individual and Group responses of Mexican Free Tailed Bats Presented by Aruna Raghavan.
Particle Swarm Optimization † Spencer Vogel † This presentation contains cheesy graphics and animations and they will be awesome.
Any vector can be written as a linear combination of two standard unit vectors. The vector v is a linear combination of the vectors i and j. The scalar.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
CSCI 4310 Lecture 5: Steering Behaviors in Raven.
Vectors and scalars. weight and mass We have seen that weight is a force that results from the attraction of a mass towards another mass (eg the Earth).
Demonstration of Simple Movement using Python AI for Gaming 2013, SCU.
1 Computational Vision CSCI 363, Fall 2012 Lecture 29 Structure from motion, Heading.
The Stingray Example Program CMT3311. Stingray - an example 2D game May be useful as a simple case study Most 2D games need to solve generic problems.
11/13/03CS679 - Fall Copyright Univ. of Wisconsin Last Time A* Improvements Hierarchical planning Pre-Planning.
Obstacle Avoidance Manjulata Chivukula. Requirements Traversing the list of waypoints Traversing the list of waypoints Avoiding the obstacle in the path.
Behavioral animation CSE 3541 Matt Boggus.
Flocking Geometric objects Many objects
Advanced & Group Steering
Chapter 3: Kinematics in two Dimensions.
Centripetal Acceleration and Force
Swarm simulation using anti-Newtonian forces
Vectors Scalars and Vectors:
CIS 487/587 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
Steering behaviours in game AI
Pythagoras.
Find the velocity of a particle with the given position function
UMBC Graphics for Games
FLOSCAN: An Artificial Life Based Data Mining Algorithm
Presentation transcript:

REFERENCES: FLOCKING

WHAT IS IT? A way to simulate "herds": Flock of birds Flock of fish Herd of wildebeest A group of enemies First image: Second image: Third image: Fourth image:

BOID REPRESENTATION

BOID REPRESENTATION, CONT. Independent Steering? For most characters, the orientation should match the direction of the linear velocity Need a refresher on the math? Sometimes, you do want a separate facing direction… [optional] Max Speed (a scalar) Useful to keep speed under control Refresher (with vectors)? Image:

STEERING

STEERING, CONT.

FLOCKING OVERVIEW Every frame: Generate 0 or more steerings (force vectors) From a set of low-level behaviors Seek Flee Wander Avoid-another-boid Align Obstacle-avoid Each force vector is created considering only that behavior Combine these steerings into a single force vector Apply it using the position-/velocity-update formula.

LOW-LEVEL BEHAVIOR: SEEK max_accel

LOW-LEVEL BEHAVIOR: FLEE max_accel

LOW-LEVEL BEHAVIOR: WANDER Approach #1: Add random.uniform(-m, m) to heading. Generate a force vector in this direction Problem: tends to be "jittery" Approach #2: Every few seconds generate a new seek target. Problem: can be abrupt. Approach #3: Place a target n units in the heading direction Add random.uniform(-m,m) to it's rotation This is relative to the heading direction Seek towards this target Usually a little less "jittery" Even though the target itself is "jittery"

LOW-LEVEL BEHAVIOR: AVOID- ANOTHER-BOID Simple: If within n units, flee More advanced: Predict if we'll collide, and if so steer to avoid "Problem" cases: Moving parallel to each other -- no collision! Intersecting paths, but no hit. Calculating the correction force vector. Can also consider a "cone of vision"

LOW-LEVEL BEHAVIOR: ALIGN Given: a direction vector. Simple -- just accelerate in this direction!

LOW-LEVEL BEHAVIOR: OBSTACLE AVOID One approach: Usually you want to modulate the force based on distance.

BLENDING

BLENDING, CONT. Problems: Contradictory forces (Equlibria) Oscillating: If you gradually adjust weights, this shouldn't happen. Near-sightedness E.g. taking the wrong route in a maze. Combine this with A* to get around this. Behaviors that should take precedence: E.g. Wall-avoid if we're close; otherwise, 0.5 wander, 0.5 seek. Use a decision tree.

ADVANCED TOPICS Unit Coordination Formation (echelon, disc, etc.) Only using cone-of-vision Incorporation with A*