Game Requirements
Overview
Хардкорный roguelite-платформер с процедурной генерацией уровней. Игрок собирает монетки, избегая врагов и ловушек. Уникальная механика оружия — оглушающие "газовые" снаряды. Между забегами игрок тратит накопленную валюту на апгрейды в магазине.
Core Gameplay
Цель игры
- Собрать все монетки на уровне
- Избегать контакта с врагами и ловушками
- Пройти как можно больше уровней
- Накопить валюту для покупки апгрейдов
Персонаж
- Базовое управление: движение влево/вправо, прыжок
- Оружие: выпускает оглушающие снаряды ("пуки")
- Смерть при любом контакте с активным врагом (one-hit kill по умолчанию)
Система снарядов
- Максимум 3 снаряда в запасе (базовое значение)
- После использования снаряд восстанавливается через время (~3 сек)
- Нельзя "спамить" — требуется тактическое использование
- Снаряд оглушает врага при попадании
- Направление выстрела: в сторону движения персонажа
Враги
Типы врагов
| Тип |
Поведение |
Появляется с уровня |
| Патрульный |
Ходит туда-сюда по платформе |
1 |
| Прыгун |
Прыгает по платформам вертикально |
3 |
| Летун |
Летает по фиксированной траектории |
5 |
| Преследователь |
Медленно движется к игроку |
7 |
| Спринтер |
Патрульный, но быстрый |
10 |
Состояния врагов
- Активное: опасны, убивают при контакте
- Оглушённое: безопасны, можно проходить сквозь
- Оглушение действует 3 секунды (базовое значение), затем враг восстанавливается
- Визуальный индикатор времени оглушения над врагом (круговой таймер)
Ловушки
| Тип |
Поведение |
Появляется с уровня |
| Шипы |
Статичные, мгновенная смерть |
2 |
| Падающая платформа |
Падает через 0.5сек после наступания |
4 |
| Пила |
Движется по траектории |
6 |
| Турель |
Стреляет снарядами с интервалом |
8 |
| Лазер |
Включается/выключается по таймеру |
10 |
Прогрессия уровней
- После сбора всех монеток — переход на следующий уровень
- С каждым уровнем сложность увеличивается:
- Больше врагов
- Новые типы врагов
- Появляются ловушки
- Больше монеток (нужно больше собрать)
- Сложнее структура уровня
Game Feel (Критически важно)
Coyote Time
- Игрок может прыгнуть в течение 100мс после схода с платформы
- Незаметно для игрока, но убирает фрустрацию от "несправедливых" смертей
Input Buffering (Jump Buffer)
- Если прыжок нажат за 100мс до приземления — прыжок выполнится автоматически
- Предотвращает ощущение "съеденных" инпутов
Variable Jump Height
- Короткое нажатие = низкий прыжок
- Длинное нажатие = высокий прыжок
- Даёт точный контроль над персонажем
Edge Correction
- Если персонаж чуть-чуть не допрыгнул до края платформы — подтянуть на ~4 пикселя
- Работает только для небольших расстояний
Responsive Controls
- Минимальное время разгона/торможения
- Мгновенная смена направления
- Никакой "скользкости"
Visual Juice
Частицы
- Пыль при приземлении
- Пыль при беге (каждые N кадров)
- Облачко при выстреле снарядом
- "Звёздочки" при оглушении врага
- Блеск/свечение монеток
- Взрыв частиц при смерти персонажа
Screen Shake
- Лёгкая тряска при смерти
- Микро-тряска при оглушении врага
- Обязательно: опция отключения в настройках
Squash & Stretch
- Персонаж вытягивается вертикально при прыжке
- Сжимается горизонтально при приземлении
- Враги "сплющиваются" при оглушении
- Монетки слегка пульсируют
Хитстоп (Freeze Frame)
- Микро-пауза (2-3 кадра) при попадании снарядом во врага
- Усиливает ощущение импакта
Meta-Progression System
Валюта
- Газокоины — основная мета-валюта
- Все монетки собранные за забег конвертируются в газокоины после смерти
- Конверсия: 1 монетка = 1 газокоин
- Бонус за пройденные уровни: +10% за каждый уровень
Магазин апгрейдов
Философия: апгрейды разнообразят игру и дают небольшие преимущества, но НЕ делают её лёгкой. Многие апгрейды — это tradeoff'ы (плюс в одном, минус в другом).
Категория: Персонаж
| Апгрейд |
Эффект |
Цена |
Примечание |
| Лёгкие ботинки |
+10% скорость бега |
100 |
— |
| Пружинные ботинки |
+15% высота прыжка |
150 |
— |
| Тяжёлая броня |
+1 жизнь за забег |
500 |
-15% скорость |
| Двойной прыжок |
Можно прыгнуть в воздухе |
800 |
— |
| Dash |
Рывок по нажатию, 2сек кулдаун |
600 |
— |
| Скользкий |
Неуязвим 0.5сек после урона |
400 |
Работает только с доп. жизнями |
Категория: Оружие
| Апгрейд |
Эффект |
Цена |
Примечание |
| Большой запас |
+1 снаряд (макс. 4) |
300 |
— |
| Быстрая перезарядка |
-20% время восстановления |
250 |
— |
| Дальнобойность |
+30% дальность полёта снаряда |
200 |
— |
| Мощное оглушение |
+1сек время оглушения |
350 |
— |
| Разрывной снаряд |
Снаряд оглушает врагов в радиусе |
700 |
-1 снаряд в запасе |
| Рикошет |
Снаряд отскакивает от стен 1 раз |
450 |
— |
| Скорострел |
-40% время перезарядки |
400 |
-30% время оглушения |
Категория: Выживание
| Апгрейд |
Эффект |
Цена |
Примечание |
| Второй шанс |
1 раз за забег: воскрешение на месте |
1000 |
Одноразовый за забег |
| Магнит |
Монетки притягиваются с расстояния |
200 |
— |
| Орлиный глаз |
Видно весь уровень на мини-карте |
300 |
— |
| Чутьё опасности |
Враги подсвечиваются за экраном |
250 |
— |
| Ловкач |
Hitbox персонажа уменьшен на 10% |
600 |
— |
Категория: Риск/Награда
| Апгрейд |
Эффект |
Цена |
Примечание |
| Жадность |
+50% монеток на уровне |
400 |
+25% врагов |
| Хардкор |
x2 очки |
300 |
Нет coyote time |
| Берсерк |
+30% скорость, бесконечные снаряды |
500 |
Активируется на 10сек при 0 HP (перед смертью) |
| Пацифист |
x3 очки за уровень |
350 |
Нельзя использовать снаряды |
| Спидран |
+100 очков за каждые 10сек до таймера |
200 |
Таймер 60сек на уровень, смерть по истечении |
Категория: Косметика (не влияет на геймплей)
| Апгрейд |
Эффект |
Цена |
| Скин: Космонавт |
Новый вид персонажа |
150 |
| Скин: Рыцарь |
Новый вид персонажа |
150 |
| Скин: Ниндзя |
Новый вид персонажа |
150 |
| След: Радуга |
Радужный след при беге |
100 |
| След: Огонь |
Огненный след |
100 |
| Снаряд: Облачко |
Другой вид снаряда |
50 |
| Снаряд: Сердечко |
Другой вид снаряда |
50 |
Система разблокировок
Некоторые апгрейды требуют достижений для разблокировки покупки:
| Апгрейд |
Требование |
| Двойной прыжок |
Дойти до уровня 5 |
| Dash |
Собрать 500 монеток за один забег |
| Второй шанс |
Умереть 50 раз |
| Хардкор |
Пройти уровень без использования снарядов |
| Берсерк |
Оглушить 100 врагов |
| Пацифист |
Дойти до уровня 3 без снарядов |
Баланс хардкорности
Принципы сохранения сложности:
- Базовая игра остаётся one-hit kill — доп. жизни дорогие и имеют штрафы
- Tradeoff'ы — большинство сильных апгрейдов имеют минусы
- Сложность масштабируется — чем больше апгрейдов, тем сложнее уровни
- Потолок силы — апгрейды не стакаются бесконечно
- Риск/награда — самые выгодные апгрейды усложняют игру
Level Generation
Подход: комнатная генерация (Spelunky-style)
- Уровень — сетка из "комнат" (например, 4x4)
- Каждая комната — готовый шаблон
- Алгоритм гарантирует путь от входа до всех монеток
- Шаблоны подбираются по сложности уровня
Параметры генерации по уровням
| Уровень |
Комнат |
Монеток |
Врагов |
Ловушек |
| 1-2 |
6-8 |
5-8 |
2-3 |
0 |
| 3-5 |
8-10 |
8-12 |
4-6 |
1-2 |
| 6-9 |
10-12 |
12-16 |
6-8 |
3-4 |
| 10+ |
12-16 |
16-20 |
8-12 |
5-6 |
Seed система
- Каждый уровень имеет seed
- Seed отображается на экране паузы
- Можно ввести seed для воспроизведения уровня (отдельный режим, без влияния на лидерборд)
Scoring System
Базовые очки
- Монетка: 10 очков
- Завершение уровня: 100 очков × номер уровня
- Оглушение врага: 5 очков
Комбо-система
- Сбор монеток без паузы увеличивает множитель
- Пауза >2сек сбрасывает комбо
- Множители: x1 → x2 → x3 → x5 → x10 (макс)
- Попадание снарядом во врага не сбрасывает комбо
Бонусы за уровень
- Быстрое прохождение (<30 сек): +50% очков за уровень
- Без урона (если есть доп. жизни): +25% очков
- Без снарядов: +100% очков
UI/UX
HUD (во время игры)
- Счётчик монеток: "собрано / всего"
- Индикатор снарядов (иконки с cooldown-анимацией)
- Текущее комбо (если активно)
- Номер уровня
- Очки
- Мини-карта (если куплен апгрейд)
- HP (если есть доп. жизни)
Экран паузы
- Продолжить
- Настройки
- Seed уровня
- Выход в меню (с подтверждением)
Game Over экран
- Финальный счёт
- Статистика забега:
- Пройдено уровней
- Собрано монеток
- Оглушено врагов
- Время игры
- Заработано газокоинов
- Кнопка "В магазин"
- Кнопка "Играть снова"
- Таблица лидеров
Главное меню
- Играть
- Магазин
- Лидерборд
- Настройки
- Достижения
Настройки
- Громкость музыки
- Громкость звуков
- Screen shake: вкл/выкл
- Показывать FPS
- Сбросить прогресс (с подтверждением)
Power-ups (внутри забега)
Редкие предметы, появляющиеся на уровнях:
| Power-up |
Эффект |
Длительность |
| Щит |
Защита от 1 удара |
До использования |
| Магнит |
Притягивает монетки |
15 сек |
| Часы |
Замедляет врагов на 50% |
10 сек |
| Кофе |
+50% скорость персонажа |
10 сек |
| Бесконечность |
Бесконечные снаряды |
8 сек |
| Призрак |
Проход сквозь врагов |
5 сек |
Появление: 10% шанс на уровне, максимум 1 power-up на уровень.
Technical Requirements
Платформа
- Браузер (desktop)
- Поддержка клавиатуры
- Возможно: геймпад (future)
Управление
| Действие |
Клавиатура |
Геймпад (future) |
| Движение |
A/D или ←/→ |
Left Stick / D-Pad |
| Прыжок |
W / ↑ / Space |
A / X |
| Стрельба |
F / J / Enter |
B / Square |
| Dash (если куплен) |
Shift / K |
RB / R1 |
| Пауза |
Escape / P |
Start |
Производительность
- 60 FPS на современных браузерах
- Минимальное разрешение: 800x600
- Рекомендуемое: 1280x720
Хранение данных (MVP)
- localStorage для:
- Газокоины (валюта)
- Купленные апгрейды
- Активные апгрейды
- Лидерборд (топ-10)
- Достижения
- Настройки
MVP Scope
Фаза 1: Core Loop
Фаза 2: Juice & Polish
Фаза 3: Meta-Progression
Фаза 4: Content
Фаза 5: Polish
Отложено на будущее
Достижения
| Достижение |
Условие |
Награда |
| Первые шаги |
Пройти уровень 1 |
10 газокоинов |
| Коллекционер |
Собрать 1000 монеток (всего) |
50 газокоинов |
| Мастер оглушения |
Оглушить 100 врагов |
Разблокировка "Берсерк" |
| Пацифист |
Пройти уровень без снарядов |
Разблокировка "Пацифист" |
| Марафонец |
Дойти до уровня 10 |
100 газокоинов |
| Скоростной забег |
Пройти 5 уровней за 3 минуты |
75 газокоинов |
| Неубиваемый |
Пройти 3 уровня с 1HP без урона |
150 газокоинов |
| Богач |
Накопить 5000 газокоинов |
Скин "Золотой" |
| Комбо-мастер |
Собрать x10 комбо |
50 газокоинов |
| Умер 100 раз |
Умереть 100 раз |
Скин "Призрак" |