This one builds on the last video and adds flocking, object avoidance and predator boids to the mix..
Inspiration was taken from the implementation located here. Note that its written in antiquated VB6
https://github.com/miorsoft/VB63DFl...
also
https://eater.net/boids
Lots of Boids info located here:
http://www.red3d.com/cwr/boids/
Music :
https://www.bensound.com/
Boids
From Wikipedia, the free encyclopedia : https://en.wikipedia.org/wiki/Boids
Boids is an artificial life program, developed by Craig Reynolds in 1986, which simulates the flocking behaviour of birds. His paper on this topic was published in 1987 in the proceedings of the ACM SIGGRAPH conference. [1] The name "boid" corresponds to a shortened version of "birdoid object", which refers to a birdlike object.[2] Incidentally, "boid" is also a New York Metropolitan dialect pronunciation for "bird."
Rules applied in simple Boids
Separation
Alignment
Cohesion
As with most artificial life simulations, Boids is an example of emergent behavior; that is, the complexity of Boids arises from the interaction of individual agents (the boids, in this case) adhering to a set of simple rules. The rules applied in the simplest Boids world are as follows:
separation: steer to avoid crowding local flockmates
alignment: steer towards the average heading of local flockmates
cohesion: steer to move towards the average position (center of mass) of local flockmates
More complex rules can be added, such as obstacle avoidance and goal seeking.
The basic model has been extended in several different ways since Reynolds proposed it. For instance, DelgadoMata et al.[3] extended the basic model to incorporate the effects of fear. Olfaction was used to transmit emotion between animals, through pheromones modelled as particles in a free expansion gas. Hartman and Benes[4] introduced a complementary force to the alignment that they call the change of leadership. This steer defines the chance of the boid to become a leader and try to escape.
The movement of Boids can be characterized as either chaotic (splitting groups and wild behaviour) or orderly. Unexpected behaviours, such as splitting flocks and reuniting after avoiding obstacles, can be considered emergent.
The boids framework is often used in computer graphics, providing realisticlooking representations of flocks of birds and other creatures, such as schools of fish or herds of animals. It was for instance used in the 1998 video game HalfLife for the flying birdlike creatures seen at the end of the game on Xen, named "boid" in the game files.
The Boids model can be used for direct control and stabilization of teams of simple Unmanned Ground Vehicles (UGV)[5] or Micro Aerial Vehicles (MAV)[6] in swarm robotics. For stabilization of heterogeneous UAVUGV teams, the model was adapted for using onboard relative localization by Saska et al.[7]
At the time of proposal, Reynolds' approach represented a giant step forward compared to the traditional techniques used in computer animation for motion pictures. The first animation created with the model was Stanley and Stella in: Breaking the Ice (1987), followed by a feature film debut in Tim Burton's film Batman Returns (1992) with computer generated bat swarms and armies of penguins marching through the streets of Gotham City.[8]
The boids model has been used for other interesting applications. It has been applied to automatically program Internet multichannel radio stations.[9] It has also been used for visualizing information[10] and for optimization tasks.[1
Swarm intelligence (SI) is the collective behavior of decentralized, selforganized systems, natural or artificial. The concept is employed in work on artificial intelligence. The expression was introduced by Gerardo Beni and Jing Wang in 1989, in the context of cellular robotic systems.[1]
SI systems consist typically of a population of simple agents or boids interacting locally with one another and with their environment. The inspiration often comes from nature, especially biological systems. The agents follow very simple rules, and although there is no centralized control structure dictating how individual agents should behave, local, and to a certain degree random, interactions between such agents lead to the emergence of "intelligent" global behavior, unknown to the individual agents. Examples of swarm intelligence in natural systems include ant colonies, bee colonies, bird flocking, hawks hunting, animal herding, bacterial growth, fish schooling and microbial intelligence.
The application of swarm principles to robots is called swarm robotics while swarm intelligence refers to the more general set of algorithms. Swarm prediction has been used in the context of forecasting problems. Similar approaches to those proposed for swarm robotics are considered for genetically modified organisms in synthetic collective intelligence.[2]