Продолжаем улучшать уровни в физическом арканоиде

Недавно релизнул игру "Физический арканоид". Сделал насколько уровней с прямоугольниками, кругами и "пиксельные" уровни - с квадратными кирпичами. Например вот такими.

Продолжаем улучшать уровни в физическом арканоиде

Данные уровни на старте выглядят хорошо, но быстро разлетаются, после нескольких попаданий. Поэтому, делаю их с небольшим количеством кирпичей.

Но было желание сохранить "рисунок" уровня. Идею сделать кирпичи статическими отбросил. Хотелось сделать так, что бы кирпичи пружинили на своем месте: при попадании(столкновении) отлетали и возвращались.

Приступаем: физический движок box2d, в котором присутствуют соединения (joint-ы). Их много, но нам нужен distance joint. Данное соединение связывает два объекта друг с другом, на определенном расстоянии. На месте каждого кирпича создаем статический объект, к которому будем joint-ом крепить наш кирпич, с нулевым расстоянием. Поигравшись с настройками получаем нужный нам результат (эффект пружинного соединения). Далее, нужно возвращать вращение объекта в начальный угол. Тут все просто - изменился угол, начинаем его уменьшать, пока не станет нулевым (с погрешность 0.01), но линейное вращение не совсем красивое, поэтому преобразовываем его по одной из easing функций

Я выбрал easeOutCubic.
Так же для статических объектов добавил полупрозрачную текстуру.

На первом видео у кирпичей слишком много жизней, уменьшил до 2. Результат

Ну и поскольку, теперь сохраняется "рисунок" уровня, то открываем Pinterest, вбиваем pixel art и срисовываем. Пример некоторых уровней

Продолжаем улучшать уровни в физическом арканоиде
1111
4 комментария

Помню... В последний раз в такое играл в лет 12 🥴

Ответить

Я такое в Шкилбоксе делал. Только хуже всё было у меня...А у тебя круто!

Ответить

А как тебе такая идея: применять падающие бонусы не только на саму платформу, но и на словивший их шарик? Стреляющий вперёд себя шарик - это же круто! Ещё можно уворачиваться от него, когда тот летит назад и стреляет в платформу)

Ответить