Какие задачи решают?
Формации объединяют врагов для совместного движения по заданной схеме. Комбинирование формаций и их вызов в случайном порядке создаёт одновременно разнообразие и даёт игроку возможность «предугадывать» дальнейшие действия врагов.
Как это работает
Штурмовики и транспорты (см. 9.3 Враги (Пришельцы)) двигаются в формациях (наподобие Space Invaders, только там одна единственная формация, которая движется по алгоритму «до конца вправо, на шаг шаг вниз, до конца влево, на шаг вниз», который уже не выглядит столь же интересно, как в 1978 году). Формация это такой GameObject, в который добавлены враги. Одновременно на экране могут находиться несколько формаций, каждая со своей схемой движения.
Пример формации "Кольцо"
- Несколько врагов располагаются по кругу. Например, 4.
- Круг вращается в заданном направлении и с заданной скоростью (float rotationSpeed, bool rotateCW). Например, по часовой стрелке (rotateCW = true;)
- Внутри формации враги также могут двигаться (маневрировать). Например, враги всегда «смотрят» в сторону -y глобальной системы координат.
- Формация спавнится за пределами экрана (bool spawnLeft), после чего начинает двигаться согласно схеме движения. Например, по синусоиде к противоположной стороне экрана.
- После выхода за пределы экрана игровой объект уничтожается (Destroy(gameObject);)
Рисунок: Пример движения врагов в формации «кольцо» по экрану
Задача
Разработать виды формаций, виды манёвров врагов внутри формаций, схемы движения формаций.