In this project, each vehicle acts as an independent agent with three key behaviors:
- Cohesion: Vehicles steer toward the average position of nearby flockmates.
- Separation: To avoid collisions, vehicles steer away from those that come too close.
- Alignment: Vehicles match their direction and speed with nearby flockmates, creating a collective flow.
These behaviors produce an emergent, cohesive movement across the system as vehicles move together as a group while avoiding overcrowding and maintaining some alignment. We also added a wander
function with Perlin noise to generate more organic, smooth changes in direction, which softened the rigidness of purely algorithmic steering.
Challenges and Discoveries
One challenge was balancing the behaviors, as the vehicles could either clump together too tightly or spread out too widely. Adjusting the perception radii and scaling each behavior’s force was key in achieving the desired balance, allowing each vehicle to respond naturally to its neighbors while still participating in a larger, collective pattern.
I also experimented with Perlin noise to influence movement subtly. By introducing this form of randomness, each vehicle gained a more fluid, organic quality, reminiscent of natural systems where movement isn’t perfectly uniform. This approach has inspired further experimentation, such as adding color shifts or trails to visualize the vehicles’ paths.