Flocking (стая)— это алгоритм, моделирующий коллективное поведение сущностей, таких как стая птиц или рой рыб. В контексте RTS (Real-Time Strategy, стратегия в реальном времени) это может быть использовано для управления группами юнитов. Суть алгоритма в том, чтобы каждая сущность принимала решение о своем движении на основе состояний соседних сущностей. Простыми словами: Flocking — это когда каждый персонаж смотрит, что делают его соседи, и принимает решение, куда ему двигаться, чтобы вписаться в общую картину. Например, если все идут влево, то и он пойдет влево. ### Основные правила flocking включают 1. **Separation (Разделение)**: Каждый агент старается держаться на безопасном расстоянии от других, чтобы избежать столкновения. 2. **Alignment (Выравнивание)**: Агенты стараются двигаться в том же направлении, что и их соседи. 3. **Cohesion (Сцепление)**: Агенты стремятся оставаться близко к "центру масс" своей группы. ### Производительность Количество операций зависит от числа соседних юнитов, поэтому имеет смысл ограничивать радиус "видимости" для каждого юнита.