Простой арканоид на Unity.
WebGL: https://avikittenco.itch.io/unity-arkanoid
Также протестировано на Android.
Фичи:
- Бесконечная генерация кирпичей
- 4 типа кирпичей:
-
- Жёлтые - базовые кирпичи, ломаются с 3 ударов
- Зелёные и красные - дропают положительные/отрицательные эффекты соответственно
- Оранжевые - при ударе взрываются, нанося урон окружающим кирпичам, ломаются с 2 ударов
- Эффекты:
-
- Увеличение/уменьшение длины платформы
- Замедление/ускорение всех мячей
- Утроение всех мячей
- Визуальные эффекты:
-
- Простая анимация тряски при ударе кирпича, подсвечивание белым (понадобился простой кастомный шейдер + ещё один для частиц), частицы
-
- Процедурная анимация наклона платформы
- Техническое:
-
- Для GameController придумана простая система "очереди действий" (action queue). Она вдохновлена игрой Nubby's Number Factory, где множество различных обьектов могут вызывать колоссальное количество цепных реакций, в таком случае все эти эффекты стреляют с определённой частотой (а не все сразу в один кадр, уничтожая уши звуками). Здесь это нужно, чтобы приятнее себя вели взрывные кирпичи - наносимый ими урон происходит очередью по одному кирпичу. Кроме того, взорвавшийся кирпич перестаёт получать урон, пока очередь не опустела - благодаря этому цепочки взрывных кирпичей не обмениваются ударами друг с другом и самоуничтожаются, а взрываются по одному разу.
-
- Ракетка игрока использует PolygonCollider2D, генерируется дуга окружности. (спрайт хотелось бы тоже соответственно изогнутый, не было возможности сделать).
-
- Спрайты https://schwarnhild.itch.io/brick-breaker-asset-pack
- Звуки ударов https://kenney.nl/assets/impact-sounds
- Звук взрыва https://www.youtube.com/watch?v=rxgc0Xb7Suw
- Музыка из Ricochet Lost Worlds
- Используется ZenJect