1. All boids are of equal size and move with the same speed
2. The boids have different sizes, but move with the same speed
3. The boids have different sizes and act by different behaviours. Small boids are fast and agile, big boids are slow and lazy.
4. Generally all boids are equal. If they get compressed by many neighbors, they get bigger and faster. When the compression is over, they get normal again.
I will post a link to the source code here as soon as its working online...