LaggyBird
Simple app that simulates bird flocks using the distributed behavioral model. Done following the paper: http://www.cs.toronto.edu/~dt/siggraph97-course/cwr87/
Behavior
Each bird is described by position, orientation, speed vector and customizable FOV.
Three simple behaviors are available:
- Collision avoidance - each bird tries to avoid collision with the closest birds
- Direction matching - each bird tries to match own speed with the speed of all nearby neighbours
- Flocking - each bird tries to keep closer to the center of the nearby flock
Each of these modes can be switched separately using hotkeys.
Hotkeys
- 'Esc' - exit app
- 'Space' - pause
- 'F1' - show / hide tooltip
- '~' - show metadata (FOV, direction, flock center, collisions avoidance weight)
- '1' - switch collision avoidance mode
- '2' - switch direction matching mode
- '3' - switch flocking mode
- '-' - decrease FOV
- '+' - increase FOV
- '0' - reset FOV
Used code
LaggyDx is used as a DirectX framework.
LaggySdk is used as an SDK framework.