Tetro Puzzle DevLog #0 - Кровь, Пот и Кубики
Привет, Пикабу!
Решил я запилить очередную Unity-поделку на Android да подумал, почему бы не начать вести об этом ДевЛог? 🤔 Штош, прошу под кат!
0. Идея
В очередной раз свайпая ленту /RANDOM/ соц сети наткнулся на статью о Тетрамино с ссылкой на Вики. Как рядовой любитель порелаксировать и пособирать пазлы, зацепился за данный фрагмент статьи:
В голове щелкнуло - Надо пилить!
1. Концепт
Концептуально идея проста: на уровне есть генерируемая доска пустых ячеек, под доской - 3 буферки с рандомными фигурами и кнопками поворота + кнопка сброса текущего набора элементов. Задача - из предлагаемых игрой фигур заполнить доску полностью путем перетаскивания соответствующей фигуры на поле.
Над предсозданием уровней решил в данном MVP не заморачиваться - игра линейна, после каждого пройденного уровня генерируется следующий с увеличением отображаемого в верху счетчика уровней на +1
Поле необходимо генерировать таким образом, чтобы стороны ячейки +/- были равны, допуская небольшую погрешность.
Макет 1. Примеры вариантов игрового поля
При тапе на элемент в буферке - произойдет создание элемента, идентичного изображенному, но с размерами ячеек равными размеру ячейки на игровом поле. Свайпом пальца элемент будет размещаться на доске и, если ячейки, над которыми находится элемент, пусты - при отпускании пальца элемент разместится в соответствующей части поля. В случае, если минимум одна ячейка поля занята - элемент анимированно вернется в область буферки и уничтожится.
При необходимости фигуры в буферках можно вращать/удалять. Так же необходимо предусмотреть возможность удаления/перемещения уже установленной фигуры на поле.
Макет 2. Буферки под игровой доской, содержащие элементы конструктора
Планирую добавить рейтинговую таблицу игроков, в которой:
Вариант 1 - Отображается список игроков, отсортированный по количеству пройденных уровней. Все просто
Вариант 2 - Отображается список игроков, отсортированный по показателю успешности прохождения уровней. Для этого необходимо придумать систему штрафов и вознаграждений. Как пример - вознаграждение за размещение элемента на доске, равное количеству блоков в элементе, и штраф за удаление элемента с доски, равный количеству блоков в элементе X2
За идеи, советы, или просто голос за один из вариантов в комменты буду благодарен!
На этом #0 ВСЁ!
План на #1 - закодить генератор доски, описать логику и разместить фрагменты C# кода
__
Ставьте лайки, подписывайтесь на колокольчик и всё в таком духе)