Match-3 with Draw mechanic
Основная информация
Цель задачи - реализовать игру в стиле Match-3 в не совсем базовом ее понимании. Матчинг токенов будет происходить посредством движения пальца по токенам для создания цепочки.
Основные референсы
Описание
Приложение должно использовать Draw-механику как базовую для Match-3 геймплея. Игрок водит пальцем по экрану, составляя цепочку токенов одного цвета, пытаясь выполнить главные цели уровня (описание ниже). Помимо обычных токенов, на уровне могут присутствовать препятствия (описание ниже), мешающие игроку. Также, при создании цепочек достаточной длины, на поле могут появляться бонусы (описание ниже). Активация бонуса происходит по тапу на бонус, или при добавлении его в цепочку. Количество ходов ограничено, и должно отображаться в UI геймплея; значение задается в редакторе.
Ориентация - портретная. Направление гравитации - сверху вниз. Максимальный размер поля - ширина 7, высота 11.
Цвета токенов
В приложении должны быть реализованы токены 5 цветов:
- Красный
- Зеленый
- Синий
- Желтый
- Розовый
Цели
Возможные цели (выбираются в редакторе уровня):
- Уничтожить N токенов определенного цвета
- Уничтожить все препятствия определенного типа
- Набрать определенное количество очков (для такого типа цели, на уровне должен присутствовать индикатор очков в виде прогрессбара в формате current/target)
Препятствия
Возможные препятствия (выбираются и расставляются в редакторе уровней):
- Камень. Занимает целую клетку. Подвержен гравитации (падает так же как и обычные токены). Не может быть добавлен в цепочку. Для удаления его с поля, нужно сделать матч в одной из соседних клеткок (верхняя, нижняя, левая, правая). Может быть 2 уровня. Для уничтожения камня 1 уровня, нужно сделать 1 матч в соседней клетке. Для уничтожения камня 2 уровня, нужно сделать 2 матча в соседних клетках. При этом отображение камня 1 и 2 уровня должны отличаться (при составлении матча рядом с камнем, 1 уровень снимается, отображение меняется, остается 1 уровень для снятия).
- Лед. Аналогичен камню, единственное отличие - не подвержен гравитации, падающие токены должны огибать лед, в том числе заполняя пространство под ним.
Бонусы
Возможные бонусы:
- Горизонтальная ракета - появляется при добавлении в цепочку от 5 до 7 токенов включительно, уничтожает горизонтальную линию, на которой находится
- Бомба - появляется при добавлении в цепочку 8 и более токенов, уничтожает токены на расстоянии 2 ячейки от себя при активации (в итоге уничтожается площадь 5х5 вокруг бонуса)
Общий список задач
В рамках задания требуется реализовать:
- Редактор уровня с сохранением настроек (текстовый файл, бинарный файл, ScriptableObject и т.д., на выбор)
- Базовую Match-3 with Draw mechanic, уровень собирается из конфига, созданного в редакторе
- Окно настроек, которое можно открыть по нажатию на кнопку в верхнем правом углу в основном геймплее. В окне настроек должен быть реализован функционал включения/выключения музыки и звуков.
- Фоновая музыка (1 трек, loop, требуется найти самостоятельно)
- Звуки сопровождения (требуется найти самостоятельно, полная свобода воображения)
- Эффекты (предпочтительно, требуется найти ресурсы и создать самостоятельно, полная свобода воображения)
- Окно победы с отображением поздравления и кнопкой перезапуска уровня
- Окно поражения с отображением сообщения о провале и кнопкой перезапуска уровня