Водопад — это физический ремейк Breakout, где классический «мячик» заменён на камешек, падающий сквозь водопад. Платформа внизу отбивает камень вверх, но на его путь постоянно действуют две силы: гравитация тянет вниз, а течение воды толкает вбок. Камень летит не по прямой, а по параболе.
Вверху экрана — каменные блоки на скале над водопадом. Игрок должен рассчитывать угол и силу удара, чтобы камешек описал нужную дугу и попал в цель. Перед выстрелом показывается предсказательная траектория с учётом всех сил.
Камешок подчиняется трём силам одновременно: гравитация (вниз), течение водопада (вправо или влево), импульс от платформы (вверх под углом). Итог — полёт по параболе. Угол отскока от платформы влияет на форму траектории сильнее, чем в классике.
Камешок «сидит» на платформе. Игрок удерживает пробел — растёт сила выстрела, а пунктирная линия показывает предполагаемую траекторию с отскоками от стен. ← → наклоняют платформу, меняя угол вылета. Отпускание — выстрел.
Течение воды — не статичный ветер. Оно имеет слои: внизу поля течение сильнее, вверху слабее. Кроме того, при разрушении блоков вода «прорывается» сквозь бреши, создавая локальные водовороты и струи, которые меняют физику уровня прямо во время игры.
Блоки висят на скале и держат друг друга. Если разрушить нижний ряд, верхние блоки падают вниз под тяжестью и встают на освободившееся место. Это меняет раскладку поля — иногда помогает, иногда мешает.
На некоторых уровнях в поле появляются водовороты — круговые зоны, которые закручивают траекторию камешка по спирали. Можно использовать их для сложных обходных манёвров.
| Действие | Клавиатура | Тач / Мышь |
|---|---|---|
| Движение платформы | ← → / A D | Перетаскивание пальцем / мышью |
| Наклон платформы (угол) | ↑ ↓ / W S | Свайп вверх/вниз во время прицеливания |
| Заряд силы + выстрел | Удержание Пробел → отпускание | Удержание → отпускание |
| Форсированный отбив | Shift + отбив | Удержание вторым пальцем |
| Пауза | P / Esc | Кнопка паузы |
HTML5 Canvas 2D — рендер воды, частиц, блоков, траекторий.
Физика камешка — Euler integration: vx, vy, gravity (0.15), flowForce (0.02–0.08 по слоям), dampening (0.995).
Предсказание траектории — отдельный симулятор на 120 шагов без отрисовки, результат — массив точек для пунктира.
Web Audio API — процедурный синтез всех звуков. Фоновый шум воды через BufferSource + фильтры.
localStorage — рекорды, прогресс уровней, разблокированные скины камешка.
Адаптивность — на мобильных платформа шире, прицел упрощён, течение слегка ослаблено.
Разблокируются за достижения: