🔥 HOT: Cwr/boids - Uncensored 2025
Background and Update
by Craig Reynolds
(more information about this applet (and others) is available)
In 1986 I made a computer model of coordinated animal motion such as bird flocks and fish schools. It was based on three dimensional computational geometry of the sort normally used in computer animation or computer aided design. I called the generic simulated flocking creatures boids. The basic flocking model consists of three simple steering behaviors which describe how an individual boid maneuvers based on the positions and velocities its nearby flockmates:
|
|
Separation: steer to avoid crowding local flockmates |
|
|
Alignment: steer towards the average heading of local flockmates |
|
|
Cohesion: steer to move toward the average position of local flockmates |
Each boid has direct access to the whole scene's geometric description, but flocking requires that it reacts only to flockmates within a certain small neighborhood around itself. The neighborhood is characterized by a distance (measured from the center of the boid) and an angle, measured from the boid's direction of flight. Flockmates outside this local neighborhood are ignored. The neighborhood could be considered a model of limited perception (as by fish in murky water) but it is probably more correct to think of it as defining the region in which flockmates influence a boids steering.

a boid's neighborhood
A slightly more elaborate behavioral model was used in the early experiments. It included predictive obstacle avoidance and goal seeking. Obstacle avoidance allowed the boids to fly through simulated environments while dodging static objects. For applications in computer animation, a low priority goal seeking behavior caused the flock to follow a scripted path.

simulated boid flock avoiding cylindrical obstacles (1986)
(early motion tests, 20 second clip, QuickTime, 10 MB)
In cooperation with many coworkers at the Symbolics Graphics Division and Whitney / Demos Productions, we made an animated short featuring the boids model called Stanley and Stella in: Breaking the Ice. This film was first shown at the Electronic Theater at SIGGRAPH '87. There was a technical paper on boids published at the same conference. In the course notes for SIGGRAPH '88 there was an informal paper about obstacle avoidance.
Since 1987 there have been many other applications of the boids model in the realm of behavioral animation. The 1992 Tim Burton film Batman Returns was the first. It contained computer simulated bat swarms and penguin flocks which were created with modified versions of the original boids software developed at Symbolics. Andy Kopra (then at VIFX, which later merged with Rhythm & Hues) produced realistic imagery of bat swarms. Andrea Losch (then at Boss Films) and Paul Ashdown created animation of an "army" of penguins marching through the streets of Gotham City.
As luck would have it, Chris Langton organized the original ground-breaking Artificial Life Workshop a few months after the boids paper was published in 1987. A helpful go-between got word to Chris and he let me give an informal presentation on boids at the Workshop. The boids model has become an oft-cited example of principles of Artificial Life. Flocking is a particularly evocative example of emergence: where complex global behavior can arise from the interaction of simple local rules.
In the boids model (and related systems like the multi-agent steering behavior demos) interaction between simple behaviors of individuals produce complex yet organized group behavior. The component behaviors are inherently nonlinear, so mixing them gives the emergent group dynamics a chaotic aspect. At the same time, the negative feedback provided by the behavioral controllers tends to keep the group dynamics ordered. The result is life-like group behavior.
A significant property of life-like behavior is unpredictability over moderate time scales. For example at one moment, the boids in the applet above might be flying primarily from left to right. It would be all but impossible to predict which direction they will be moving (say) five minutes later. At very short time scales the motion is quite predictable: one second from now a boid will be traveling in approximately the same direction. This property is unique to complex systems and contrasts with both chaotic behavior (which has neither short nor long term predictability) and ordered (static or periodic) behavior. This fits with Langton's 1990 observation that life-like phenomena exist poised at the edge of chaos.
The boids model is an example of an individual-based model, a class of simulation used to capture the global behavior of a large number of interacting autonomous agents. Individual-based models are being used in biology, ecology, economics and other fields of study.
Note that the straightforward implementation of the boids algorithm has an asymptotic complexity of O(n2). Each boid needs to consider each other boid, if only to determine if it is not a nearby flockmate. However it is possible to reduce this cost down to nearly O(n) by the use of a suitable spatial data structure which allows the boids to be kept sorted by their location. Finding the nearby flockmates of a given boid then requires examining only the portion of the flock which is within the general vicinity. Using such algorithmic speed-ups and modern fast hardware, large flocks can be simulated in real time, allowing for interactive applications. [new]
Online resources related to boids
- Flocks, Herds, and Schools: A Distributed Behavioral Model the SIGGRAPH '87 boids paper.
- An email interview where I describe a little about how the boid model came about. [new]
- Another page about boids in a report about ALife and GAs by Sophia Smith.
- Notes on the 1987 boids paper in a literature review by Andrew Gildfind.
- A summary of Flocks, Herds, and Schools in the report on Artificial Life in Computer Animation in the HyperGraph project of the ACM SIGGRAPH Education Committee.
- Books and articles that describe boids
- Artificial Life (1993) the book by Steven Levy
- An Epistemological Flock (1995) in Zmagazine by Kees Vuik.
- Artificial Life (1994) in Cornell's SciTech Magazine by Kai Wu
- An Introduction To Artificial Life by Moshe Sipper.
- Life Forms part of an "interactive essay on aLife" by Stewart Dean.
- Particle Systems (in computer graphics) by Allen Martin.
- The Darwin Machine: Artificial Life and Art by Simon Penny
- Out of Control: The New Biology of Machines, Social Systems and the Economic World (specifically, chapter 2B) by Kevin Kelly
- Artificial Life (1992) by Bruce Sterlingfrom F&SF.
- Artificial Life meets Entertainment: Lifelike Autonomous Agents (1995) by Pattie Maes
- Complexity: The Emerging Science at the Edge of Order and Chaos (1992) by M. Mitchell Waldrop
- Great Mambo Chicken and the Transhuman Condition (1991) by Ed Regis
- Its Alive "Scientists play god in a binary universe of their own making" (1998) by Curt Suplee [new]
- Flocking Birds and Schooling Fish by Jason Hagey
- Life as an Abstract Phenomenon: Is Artificial Life Possible? by Claus Emmeche
- Emergent Behavior: Particles and Flocks by Rick Parent
- The Adaptive Behavior Approach to Psychology (2000) by Bram Bakker describes adaptive behavior, including boids, for a cognitive psychology audience. (PDF) [new]
- Artificial Life: Boids of a Feather Flock Together (2000) by Shawn Carlson. This Scientific American Amateur Scientist column discusses the role of software experiments as a tool in understanding biological phenomena. [new]
- Articles on other topics that mention boids as example or
metaphor:
- Self-organization and its catalysts in Human Values as Strange Attractors: Coevolution of classes of governance principles (1993) by Anthony Judge [new]
- Empowering the Child: Nurturing the Hungry Mind (1995) by Raymond H. Hartjen.
- Chaos and the IS Executive (1996) by Christopher Meyer
- Chaos, Complexity, and Flocking Behavior: Metaphors for Learning (1996) by Stephanie Pace Marshall. [new]
- Rules for "Flocking Behavior" in the Web (1997) is an attempt to apply concepts of emergent behavior to problems of business management.
- Messy, Exciting and Anxiety-Ridden: Adaptive Software Development (1997) by Jim Highsmith draws a parallel between complex adaptive systems and flexible software development practices. [new]
- Some Emerging Principles for Managing in Complex Adaptive Systems (1997) by Paul Plsek, Curt Lindberg, and Brenda Zimmerman. [new]
- Complexity Theory: Fact-Free Science Or Business Tool? (1998) by David Berreby reports on the fifth Chaos in Manufacturing conference. The boids model is described (albeit incorrectly) on page 2. [new]
- Thriving at the Edge of Chaos: What HealthCare Organizations Can Learn from Complexity Science (2000) by Sheri M. Gon. [new]
Other computational models of group motion
- Computer animation
- Eurythmy by Susan Amkraut and Michael Girard contained the first procedural animation of flocks when it was shown at the Film & Video Show of SIGGRAPH '85. It is available on SIGGRAPH Video review (SVR Issue 21, Entry 2). Some imagery from the final version appear on this page from Ars Electronica 89. Amkraut and Girard also created flocking and herding in the 1993 VR production Menagerie.
- Jessica Hodgins and colleagues at Georgia Tech's GVU have created several physically-based models of group behaviors such as herding one-legged hoppers and a pack of bicyclists.
- Disney's The
Lion King (1994) included a wildebeest stampede by Kiran Joshi,
MJ Turner, et al.. Here are two stampede-related items from Brian Tiemann's excellent
The Lion King WWW Archive:
- Lion King production notes (search for second occurrence of stampede)
- Stampede sequence (QuickTime Movie, 21.9 MB. Also available as low res QT (1.2 MB) and MPEG1 (28.7 MB))
- Xiaoyuan
Tu implemented a realistic, physically-based model of fish
schooling as part of her dissertation research on artificial animals.
See also:
- Tu and Terzopoulos. "Artificial Fishes: Physics, Locomotion, Perception, Behavior", ACM Computer Graphics, Proceedings of SIGGRAPH'94, July 1994.
- A non-technical article called Fishes of the Silicon Sea, by Gene Levinson which appeared in The World & I Magazine.
- While at Santa Barbara Studios, Mark Wendell used the Dynamation particle system software to create animation of flocking space creatures for Elogium an episode of Star Trek: Voyager.
- Course CS206 at George Washington University includes an assignment to implement a Behavioral Motion Control System like boids. You can see some of the student's animations from: 1997, 1998 and 1999. [new]
- Games, Interactive graphics and virtual reality
- Rip-Off (1980) a video arcade game designed by Tim Skelly featured a group of three autonomous "enemy tanks" which exhibited coordinated group motion. They avoided collisions with each other and would seek the goal objects ("canisters"), or if they got too close, the player controlled vehicles. The combination of goal seeking and collision avoidance produced a motion like flocking. For more details, read Tim Skelly's own description of the behavior. See also this Rip-Off screenshot and this page about an emulator. [new]
- Plasm: A Fish Sample (1985) by PeterBroadwell , Rob Myers, Robin Schaufler, Eva Manolis, et al., premiered at the SIGGRAPH 85 art show. On at least one occasion, a school accidentally arose in this "virtual fish tank".
- Parallel Bird Flocking Simulation (1993) by Helmut Lorek and Matthew White. Describes an implementation of boids using up to 50 parallel Transputer processors to simulate flocks of up to 100 boids at interactive rates (6 frames per second or better). The simulation included obstacle avoidance. The full article is available in PDF. [new]
- The Virtual Fishtank introduces visitors to the sciences of complexity, artificial life and related fields. It is an online version of a project that started as an installation at The Computer Museum in Boston. Its goal is to introduce visitors to the sciences of complexity and artificial life. The original project was jointly developed by the MIT Media Lab (see their project page) and NearLife Inc. (see their recent projects page).
- Virtual Great Barrier Reef: A theoretical approach towards an evolving, interactive VR environment using a distributed DOME and CAVE System (1998) by Scot Thrane Refsland, Takeo Ojika, Tom Defanti, Andy Johnson, Jason Leigh, Carl Loeffler, and Xiaoyuan Tu in Proceedings of Virtual Worlds '98. Paris, France, July 1-3, 1998. Also available in PDF.
- Robotics
- Maja Mataric heads The Interaction Lab at the University of Southern California which studies robotic group behaviors. See also Maja's dissertation and these videos of robots performing various group behaviors, including flocking. (Some press clippings from WIRED and CNN. And see this delightful story about Maja (the second paragraph))
- Cooperative Mobile Robotics: Antecedents and Directions by Y. Uny Cao, Alex S. Fukunaga, and Andrew B. Kahng (UCLA 1996) surveys research in robot groups.
- The Robot Sheepdog Project by Richard Vaughan et al. provides an interesting contrast to much of the work cited on this page: the flocking/herding involved is of natural animals while a robot plays a role similar to a sheepdog. As is done when training real sheepdogs, ducks are used here as a less challenging stand-in for sheep. Read the delightful paper for more detail. See also Neil Sumpter's pages about the vision research related to robo-sheepdog.
- The Examination and Exploration of Algorithms and Complex Behaviour to Realistically Control Multiple Mobile Robots (1997) by Duncan Crombie, examines algorithms to control multiple mobile robots, focuses on behaviors that can be obtained through local control, and demonstrates createing complex behaviours with simple algorithms. [new]
- Self-Organization in Large Populations of Mobile Robots (1993) by Cem Ünsal Describes the use of a homogeneous population of robots, an Army-ant swarm, for transportation of material. Investigates both spatial and behaviroal self-organization. [new]
- Social Behavior in The Ants a community of cubic-inch microrobots which form a structured robotic community capable of task such as clustering, following the leader, and playing tag. [new]
- Distributed Ant Robotics a collection of publication and resources by Israel Wagner [new]
- Collective Locomotion (1998) by Pierre Arnaud of the LAMI Collective Robotics Group. Includes papers and Labot, a Java demonstation applet. [new]
- Calculating Swarms (2000) by Ivars Peterson (in Science News) discusses swarm intelligence, emergent computation and collective robotics. [new]
- Aerospace (coordinated groups of aircraft or spacecraft)
- Subsumptive Architecture of Populous Satellite Constellations (1995) by Brian J. Mork discusses potential applications and designs for groups of reactive communicating satellites: "design goals are embedded in the constellation rather than individual satellites, and the constellation exhibits emergent behavior." [new]
- Solar-Powered Ultralight Aircraft Designed To Fly in Formation (1996) describes early test of a potential fleet of solar-powered autonomous aircraft that fly at high altitude in "V" formations like geese, and this press release of the test flight of a prototype.
- Birds Inspire Formation-Flying Satellites (1999), US Air Force press release describing the US AFRL's "Technology Satellite of the 21st Century" (TechSat 21) program, including plans for a system of "formation-flying" satellites that can quickly adapt to rapidly changing mission requirements. See also Space Missions Using Satellite Clusters. [new]
- Education (about distributed and complex systems)
- Mitchel Resnick developed StarLogo a programmable modeling environment for exploring the behaviors of decentralized systems such as bird flocks, traffic jams, and ant colonies. For more information see Mitchel's book Turtles, Termites, and Traffic Jams
- OK, while not strictly a "computational model of group motion," Schools are for Fish is a collection of participatory activities for young students to help them learn about group motion and complex systems.
- Artificial life and Evolutionary computation
- (Not) Evolving Collective Behaviours in Synthetic Fish by Nahum Zaera, Dave Cliff, and Janet Bruten. Published in From Animals to Animats 4 (SAB96).
- An Investigation Into Computational Flocking Techniques (1999) by Phil Pocknell investigates flocking (herding) under the influence of a predator. Specifically, it models a situation very much like the interaction between a sheep-dog and a flock of sheep, such as in a sheep-dog trial. See the Tadpoids applet, and the related Pest Control applet. [new]
- Behavioural Simulation in Voxel Space (1997) by Hongwen Zhang and Brian Wyvill uses as its example a group of butterflies navigating by olfactory sensors. Based on Zhang's 1996 Ph.D. thesis. See the full paper in PDF. [new]
- Art
- As part of this MFA work, Terry Franguiadakis created a virtual reality art piece called Swallows of Capistrano which included a flock of swallows that would fly over to eat food dispensed from the user's 3d wand.
- At SIGGRAPH 93 Ken Rinaldo's Emergent Systems presented The Flock, a robotic art installation composed of reactive sculptural and musical elements.
- EIDEA (Environment for the Interactive Design of Emergent Art, by John Mitchell and Robb Lovell) is an art piece based on artificial life which includes a flock of birds.
- An art piece called A Flock of Words by Doris Vila, Robert Rowe and Eric L. Singer, performed at NYU in 1995, and another version installed that same year in Bonn under the title Opera Clones. It was also presented at the SIGGRAPH 96 Applications venue.
- Emergence is the system underlying the 1997 and 1998 installations known as The Bush Soul by Rebecca Allen et al. This interactive 3D world is full of autonomous objects and characters, including flock-like groups.
- Biology
- Ornithologist Frank Heppner and mathematician Ulf Grenander describe a model of flocking and roosting in A Stochastic Nonlinear Model for Coordinated Bird Flocks (1990) appearing in The Ubiquity of Chaos edited by Saul Krasner.
- The EcoTools project uses individual-based models to study animal behavior and ecological issues. Models of schooling fish and flocking birds have been created in EcoTools. There is also a Java-based fish school simulation at this site.
- Physics
- Tamás Vicsek published an analysis of flocking particles in Physical Review Letters on August 7, 1995, which focused on transitions in collective behavior. (I will provide a more complete description here when I better understand Prof. Vicsek's work.)
- J Dana Eckart implemented a cellular automata model of flocking using his Cellular system based on Vicsek's work.
- Work by Yu-hai Tu and John Toner published in Physical Review Letters (Volume 75, page 4326, December 4, 1995) includes a proof that motion of a flock or herd is essential to its collective ability to align. That is, group alignment is not possible with local perception in the absence of motion.
- Surprises in Nonequilibrium Critical Phenomena: From Flocking Dynamics to Chemical Reactions (0.7 MB gzipped Postscript) by Yu-hai Tu presented at the 1996 Santa Fe Workshop on Nonequilibrium Phase Transitions.
- Flocks, Herds, and Schools: A quantitative theory of flocking by Toner and Tu in Physical Review E, October 1998, Volume 58, Issue 4, pp. 4828-4858. See the AIP summary: Birds of a Feather: The Physics of Flocks, this summary from Academic Press, and this article from Newsweek.
- Physics of Flocks (Part 1 and Part 2) by Karl Kruszelnicki, transcripts and audio recordings from Great Moments in Science on the Australian Broadcasting Corporation.
- Search, optimization and visualization techniques inspired by
flocks and swarms
- Particle Swarm Optimization (and see the original 1995 PSO paper by James Kennedy and Russ Eberhart) searchs a multidimensional solution space. Somewhat like a genetic algorithm, but the PSO's search points move as a swarm through the space with a velocity, altered by steering accelerations. See also this PSO demo applet.
- The use of Flocks to drive a Geographic Analysis Machine (1998) by James Macgill and Stan Openshaw, uses a flock model, with communication between boids, to better search for clusters in spacial datasets, just as a natural flock provides better foraging than individual birds could manage. See this demo applet.
- Ant Colony Optimization introduced in 1992 by Marco Dorigo "...studies artificial systems that take inspiration from the behavior of real ant colonies and which are used to solve function or combinatorial optimization problems..."
- Information Retrieval in the World-Wide Web: Making Client-based searching feasible (1994) by Paul De Bra and Reinier Post, uses a school of fish metaphor to search the web.
- Information Flocking by Glenn Proctor is a data visualization technique that portrays datapoints as fish that school through a 3d space, revealing correlations in the data by their motion and clustering. See the paper Information Flocking: Data Visualisation in Shared Worlds Using Emergent Behaviours (1998, PDF 91KB) by Glenn Proctor and Chris Winter. [new]
- Ant-based Load Balancing in Telecommunications Networks (1996) by Ruud Schoonderwoerd, Owen Holland. Janet Bruten and Leon Rothkrantz. See also these related links: There's an ant in my phone (1998) by Mark Ward in New Scientist, British Telecom: Notes from the Ant Colony (1997) by Julia Flynn in BusinessWeek, and Collective Intelligence for Network Control. [new]
- Other emergent, collective behavior
- Amorphous Computing HomePage a research group exploring the question: "How do we obtain coherent behavior from the cooperation of large numbers of unreliable parts that are interconnected in unknown, irregular, and time-varying ways?" [new]
- Swarm Intelligence: Payman Arabshahi's page of links on emergent computation by swarms of simple agents. [new]
- Other topics...
- John Mee's term report on software to simulate the movement of a flock of birds.
- G. Keith Still has developed a system called Legion to simulate the motion of large crowds of people. It can handle crowds of more than 100,000 people. See also these related pages, and these articles by Sheryl Canter in PC Magazine from April 1996 and May 1996.
- A page of Java-based demos by the Biological Model Simulation group at Keio University. The demos are in 2d and include basic schooling, predation, interactive feeding, and schooling with two species.
- Animation Science Corporation sells tools to model the motion of large crowds with their Rampage software, based on an efficient engine for interacting particle systems.
- Daniel Bullok wrote a fishtank simulation as a class project.
- An introduction called Complexity and Social Behaviour and a computational model of resource-deprived termites by Octavio Miramontes
- A Flocking-Strategy for a programmable multi-agent shell VehicleGuide by Jan Beutler
- Jonathan Robbins' page The Boids is the report from his Science Project -- his 8th grade Science Project, mind you. (Yikes! Kids these days!)
- Simulation of Herding with Dynamics by Howard Zhang uses a simple spring-mass model of animal bodies and simulates herding on the plane. This report contains good diagrams and descriptions of the implementation of component steering behaviors.
- The Computational Beauty of Nature is the web site for a book of the same name by Gary W. Flake (shop for the book here). He implemented boids and added another rule which cause the boids to attempt to maintain a clear view ahead of them. This resulted in flocks which form the classic "V" formations of migrating geese. See the Java demonstration.
- In a class project called A-Life Foodchain Simulation Leon Blackwell extends a boid-like model to include predator-prey interactions.
- The Duck Pond: Following, Flocking and Herding a 1977 class project by Brian O'Connor. Includes source code and animations. (Although there seem to be access problems for some of the files.)
- E Pluribus Unum (the January 1999 installment of Brian Hayes' column on Computing Science in American Scientist) talks about emergence using examples such as flocks, schools, herds, traffic jams, ant colonies, and forest fires.
- An attempt to replicate the main findings of Craig Reynolds's (1987) 'Boids' by Harry Brignull, reports on a project to implement boids using the POPBUGS package by Chris Thornton. Includes diagrams of the resulting group motion and source code.
- Flocking, Boids and Tag (1998) by Aron Helser. This class project involved an interactive flock which plays the game of tag and allows the use to either ride along passively with a member of the flock, or take control and pilot the boid. [new]
- GOIDS Project a study of flocking geese objects (1999) by Cathryn J Polinsky. Presentation slides for a Senior Project called "Flight Simulation of Flocking Geese Using Particle Set Animation" [new]
Natural flocks, herds, and schools
- Some seminal papers from the (hardcopy) literature:
- The Structure and Function of Fish Schools (1982) by Brian Partridge in Scientific American, June 1982, pages 114-123.
- The Chorus Line Hypothesis of Manoeuvre Coordination in Avian Flocks (1984) by Wayne Potts, in Nature, Volume 309, May 24, 1984, pages 344-345.
- Animal Groups in Three Dimensions: How Species Aggregate (1997) edited by Julia K. Parrish and William M. Hamner. A collection of papers related to a 1991 workshop on measuring and modeling animal aggregations. Use this link to shop for the book.
- A 22 second movie of a school of anchovies (160x120 pixels, in JPEG (1.1 Mb) and Quicktime (1.8 Mb) formats) swimming in the Kelp Forest tank at the Monterey Bay Aquarium from a page of fish videos at FINS. See also the live Kelp Cam view of this tank.
- Here are some other flock/herd/school pictures on the web: schooling anchovies, school from below, crowded fish, orca and herring, herd of running Akhalteke, school of spadefish, Gallimimuses flock (Jurassic Park), V formation of geese, herd of wild asses, wildebeest herd, herring schooling (MPEG, 0.5 Mb), herring school turning (MPEG, 1.0 Mb) ...
- Temple Grandin's interesting site on behavior of livestock and other subjects, contains a section on Recommended Basic Livestock Handling which covers topics such as: each of which contain pictures and diagrams on geometrical relationships between herds of livestock, the shapes of their enclosures, and the positions of human handlers.
- William H. Calvin's book The Ascent of Mind discusses the predation on herds of early humans in Chapter 8: Hand-Ax Heaven (you may wish to search for the first occurance of herd).
- Lessons from Geese: on the structure of migratory goose flocks, and folksy thoughts on applying these ideas to groups of humans.
- V formations: at the bottom of Jim Rible's page about the Canada Goose there is a discussion about the mixed evidence for an aerodynamic explanation of the "V" formations often seen in migrating ducks and geese. See also the cited references.
- A page by Uwe Kils illustrating how individual fish in a school benefit from reduced predation due to optical confusion.
- An essay called Migration Advantages of Shoaling by Tony J. Pritcher in his book Behaviour of Teleost Fishes describes research by Uwe Kils into the effect he calls synchrokinesis whereby small movements of individuals copied through the shoal provide an accurate movement towards better conditions. (Contrast this with the work of Toner and Tu (above) which suggests that individual errors are damped out by interaction with the rest of the group.)
- Vigilance, Flock Size, and Flock Geometry: Information Gathering by Western Evening Grosbeaks (1995) by Marc Bekoff a field ethology study of how the size and relative positioning of this bird affect the vigilance (scanning) behavior of individuals in the group. [new]
- Cutting horses and herding dogs: these two types
of trained animal behaviors have evolved into modern sport
competitions. Their origin was to assist humans raising stock animals,
and they can still be found in this role today. Both are related to
herding behavior in special ways.
- The job of a herding dog (stockdog, sheepdog) is to help a shepherd contain and control a herd of stock animals (especially sheep, goats or cattle). A herding dog uses its understanding of the stock animal's herding behavior to be able to move the whole group as a unit. For more information see: The Stockdog Server, Dog-Play: Herding and The Herding Page [new]
- The cutting horse derived from the American cowboy culture and is specifically trained to handle cattle. A cutting horse's skill is in being able to defeat the cattle's herding instinct, allowing it to separate off (cut) one individual at a time. The site of the National Cutting Horse Association includes history and videos of the sport. [new]
- Some general information about these animals:
- Fish from the WWW Virtual Library.
- Birdlinks by Rolf Anthony de By
- From Cornell's Biodiversity and Biological Collections:
- From the Department of Vertebrate Zoology in the National Museum of Natural History at the Smithsonian Institution:
- From the Electronic Zoo: collections on birds and fish
- From Animal Pictures Archive pictures of: flocks, herds and schools. [new]
- Biomechanics:
- How Birds Fly by David Goodnow
- Natural Flight: Biology & Physics by Roy Beckemeyer
- From the about.com site on Birding:
- Fish Swimming (1993) by J.J. Videler [new]
- The Virtual Whale Project includes simulated swarms of prey, see Cool School below.
- Satellite Tracking of Threatened Species from NASA (see also Argos).
- An exhibit on Vertebrate Flight in the online Museum of Paleontology of The University of California at Berkeley.
- Birds in Flight very high speed photography by Ralph W. Scott
- A large collection of Animal Behavior Sites [new]
Software
(There is additional source code for Java implementations listed on the boids applet page.)
- Boids
- This is the original 1986-1988 implementation, written in Symbolics Common Lisp, and based on Symbolics' S-Geometry 3d modeling system and S-Dynamics animation system. (Modern versions of those applications are available from Winged Edge Technologies, see: Mirai Modeling and Mirai Animation. Your browser may not recognize this file as Lisp source code and try to reformat it as filled text. If so use [View / Page Source] or equivalent, or download the file.)
- C++ Boids
- This platform-independent boids implementation by Christopher Kline includes C++ source code and an Inventor-based binary executable demo for SGI machines. These boids support both flocking and obstacle avoidance.
- Buzzz!
- An After Dark screen saver module for Macintosh computers by Simon Fraser. This very nice package implements a parameterized version of boids including several species of creatures (wasps, birds, fish, sheep...) based on altering the parameters. There are control panels that allow you to experiment with the parameters. For other sources of this software see Simon's AD page.
- boids.exe
- by Jürgen Schmitz. Version 1.0 of a Windows application featuring three distinct species of flocking birds and nice control panels for adjusting their parameters. See the readme file for more information.
- SchoolView
- This is a screen saver for NeXT computers by David Lambert based on the boids model. C code and related files are available for FTP. See the readme file for details.
- A-Quarium
- A screen saver for Windows by Ric Colasanti. A-Quarium is a fish tank simulator somewhat related to boids. "...a fish will try to swim with a close neighbour if it is of the same species, and will try to swim away if it is of a different species. The behaviour of the fish tank is an emergent property of all the individual fish actions..."
- Max Boids
- There is an implementation of boids for MAX, an interactive real-time graphic programming environment, from IRCAM and Opcode.
- Boppers
- This Windows 3.1 software originally accompanied the book Artificial Life Lab by Rudy Rucker, Waite Group Press, 1993, now out of print. It includes an implementation of boids and related ALife models.
- Imagine Flock 3D
- A commercial "IPAS plug-in" for 3D Studio from CBL Technology.
- Stone's Mac Boids
- This is an application for a PowerPC Macintosh using QD3D. Other versions exist for 68000 Macs with FPU, and as After Dark modules. See the main page by Stone (Ishihama Yoshiaki) for other alife-related Mac and Java software.
- MatFa's Boids 0.1
- Mattias Fagerlund wrote this very nice 2D implementation of boids for Windows 95 or WindowsNT and provides both executable and source code. A screen shot on the web page shows the interactive slider controls and a large flock flying around several obstacles.
- Boids: DirectX Flocking Sample
- A boids implementation by Stephen Coy has been included in the DirectX sample code since version 5. Stephen suggests that better source code is included with DMBoids the DirectMusic demo based on boids.
- Boids for Apprentice
- A boids demo based on Christopher Kline's implementation (see above) is included in Eric Powers's OpenGL/OpenInventor tool called Apprentice which is free for non-commercial, educational use.
- Cool School
- By David S. Hooper, Cool School simulates a school of fish and predators using behavioral modeling. The O(n2) cost of the naive boids algorithm is reduced by by subdividing the population into a hierarchy of "subschools". He reports running at interactive rates with 32 subschools each containing 33 fish on a 200MHz Pentium-class machine. Cool School was developed as part of the Virtual Whale project mentioned above.
- Simulation of a Flock of Birds
- A 1997 class project at Stanford by Chris Quartetti and Eng-Shien Wu, includes a movie file showing flocking and collision avoidance, and C++ source code.
- Boids Demos in VRML, Java3D, and C
- Anthony Steed (of University College London) developed the first two implementations to compare VRML and Java3D, and the third to test the DIVE multi-user VR system. Source is includes for all three.
- Flock This!
- A commercial plug-in from Northern Lights Productions for the Electric Image animation system, creates herds and flocks of animated characters. [new]
- Gnat Cloud and Mega Flies
- Keith Wiley created these Mac applications to simulate extremely large swarm-like populations, using modifications of the basic boid algorithms. See also his Flock With Obstacles applet. [new]
- vbBoid
- Richard Lowe wrote this boids implementation in Visual Basic and provided the source code at PlanetSourceCode's VB repository. (I have not seen it run but:) It apparently provides for interactive specification of obstacles. [new]
- 3D Boids
- Robert Platt wrote a boids implementation as a Windows application for a Final Year Project in college. The original version used Direct3D and he later rewrote it to use OpenGL. Binaries and source are available for download from his page. [new]
- The Birds
- Olcay Cirit wrote this 2d shooter game based on boids. It runs under Windows 95, 98, and NT and is available for free download. You can shot at the flocking birds, but watch out, because they can shoot back! And since they are a flock, they can make coordinated group attacks. [new]
- Crowd simulation
- Bill Powers developed these models of "people moving in relation to other people and things" as part of a suite of (Windows PC based) demonstrations of his Perceptual Control Theory. Powers and his colleagues in the Control Systems Group seek to model and understanding the purposeful behavior of living organisms. [new]
- Creature Behaviour Simulator
- James Greenbank wrote this ecological simulation of a three species system using individual-based local rules. It is written as a Java application. This page contains links to a paper, the source code and both platform-independent and Windows-specific executables. [new]
- CM: Flocking Model
- a StarLogoT implementation of flocking from Connected Mathematics ("Making Sense of Complex Phenomena Through Building Object-Based Parallel Models.") Includes links to a movie of the simulation and a page of background. [new]
- flock v1.0
- John Kundert-Gibbs wrote this flocking plug-in for Maya in its scripting language MEL. It is available at the HIGHEND3D repository. [new]
- Greg's boids
- Greg Johnson wrote this boids code to use with the Persistence of Vision Raytracer, the page contains links to the code, a movie, and some diagrams of the steering force vectors used in the boids model. [new]
Lexicological note: in addition to common terms like flock, herd, and school, English has a rich history of specific words to describe groups of various animals, sometimes known as collective nouns or venereal terms. These words were used more frequently when hunting wild animals was a major source of food. For an amusing discussion of these words see the book An Exaltation of Larks by James Lipton (Viking Penguin, 1993, ISBN 0140170960). Here are some web pages that provide similar information:
- Venereal Terms by Kreme
- Collective Nouns in A Beastly Garden Of Wordy Delights by Melissa Kaplan
- Collective Nouns: A (re-)collection. by David Featherston
- Group Names and bird groups by Terry Ross
- Fave collective nouns by Lizzie Bailey
- See also The Collective Noun Page by Ojophoyimbo
- Animal Terms For: Baby, Male, Female and Group by R-Zu-2-U [new]
- Birds in Numbers by Neil E. Taylor [new]
- Animal Congregations from the USGS NPWRC [new]
- What do you call a..... by Kimberly Beer [new]
- The Name Game by Janice Welsh [new]
Send comments to Craig Reynolds
<[email protected]>
visitors since June 29, 1995
Last update: September 6, 2001
(fixed the "early motion tests"
link December 6, 2006)
(fixed links to Brian J. Mork's work July 30, 2007)
