- 5 Biomes: Day, Night, Pool, Fog, Roof (25 Campaign levels) - Minigames: Wall-nut Bowling, I Zombie, Roguelike, Boss Rush & Dr. Zomboss - Systems: Zen Garden, Workshop Crafting, Almanac, Tree of Wisdom, Achievements - Backend: REST API + SQLite Accounts & Save Synchronization - Infrastructure: Nginx HTTPS & Docker deployment
17 KiB
17 KiB
Plants vs. Zombies (ai.qpid.pro) — Backlog & To-Do List
Текущий статус: v1.7 Released (Production)
- Разведка окружения и настройка DNS (
ai.qpid.pro->31.77.203.213) - Docker + Nginx + Certbot контейнеризация
- SSL Let's Encrypt автоматизация и скрипт обновления
- Базовый игровой движок на HTML5 Canvas (5x9 сетка, дорожки)
- Газонокосилки (по одной на каждую линию)
- Экономика солнца (падающее солнце + подсолнухи)
- Базовые растения: Подсолнух, Горохострел, Ледяной горохострел, Стеноорех, Вишневая бомба, Лопата
- Базовые зомби: Обычный, Зомби с конусом, Зомби с ведром, Зомби с флагом
- Боевая система: регистрация урона, эффекты замедления, частицы взрывов
- 4 волны с предупреждающими баннерами и экранами победы/поражения
- Web Audio API синтезатор звуковых эффектов
🎯 Спринт v1.1: Мобильная адаптация, UX и Музыка (Released)
- Исправление багов:
- Зомби корректно продолжают движение после съедения растения (сброс флага
isEatingпри гибели или отсутствии цели) - Peashooter стреляет только по живым целям (
!z.toRemove)
- Зомби корректно продолжают движение после съедения растения (сброс флага
- Сенсорное управление (Touch Controls)
- Тач-события
touchstart,touchmove,touchendдля смартфонов - Автоматический сбор солнц свайпом (проведение пальцем по экрану)
- Увеличенные хитбоксы интерактивных элементов для мобильных пальцев
- Тач-события
- Графика и рендеринг (HiDPI / Retina)
- Поддержка
window.devicePixelRatioдля четкости Canvas на смартфонах и 4K дисплеях - Адаптивное масштабирование
#game-containerчерез CSSaspect-ratioиmax-width: 98vw
- Поддержка
- Фоновое музыкальное сопровождение
- Синтез 8-битной полифонической темы «Grasswalk» на Web Audio API
- Кнопка включения/выключения музыки
btn-musicна панели HUD
- Локальные сохранения рекордов
- Сохранение очков и лучшего рекорда в
localStorage - Отображение рекорда на стартовом, победном и финальном экранах
- Сохранение очков и лучшего рекорда в
🌻 Спринт v1.2: Тактический арсенал и Новые зомби (Released)
- Новые растения
- Картофельная мина (Potato Mine) — 25 ☀️, время взведения 14 сек, взрыв Spudow!
- Повторитель (Repeater) — 200 ☀️, двойной залп горохом
- Зубастик (Chomper) — 150 ☀️, моментальное заглатывание зомби и жевание
- Халапеньо (Jalapeno) — 125 ☀️, выжигание всей горизонтальной полосы огнем
- Новые зомби
- Зомби с шестом (Pole Vaulter) — быстрый бег, перепрыгивание через 1-е растение с шестом
- Зомби с газетой (Newspaper Zombie) — газета поглощает урон, ярость при уничтожении газеты
- Зомби-футболист (Football Zombie) — тяжелый шлем, высокая скорость
- Индикатор волны (HUD)
- Шкала волны с визуальным индикатором прогресса
🌙 Спринт v1.3: Новые биомы (Ночь и Бассейн) (Released)
- Ночной газон (Night Stage)
- Отключение падения солнца с неба
- Грибная экономика: Солнцегриб (Sun-shroom) и Дымогриб (Fume-shroom с пробивающими спорами)
- Надгробия на поле и растение Могилоед (Grave Buster)
- Ночной темный визуальный фон газона и подъем зомби из могил
- Бассейн (Pool Stage)
- 6 дорожек (две центральные дорожки с анимированной водой)
- Растение Кувшинка (Lily Pad) для посадки наземных юнитов на воду
- Водные зомби на кругах (Ducky Tube Zombies)
- Плавающие очистители бассейна (Pool Cleaners)
🛒 Спринт v1.4: Кампания, Прогрессия и Магазин Дэйва (Released)
- Карта уровней (1-1 ... 1-10)
- Поэтапная кампания с автоматическим переходом на новый уровень
- Автоматическая смена биома: День (1-5) -> Ночь (6-8) -> Бассейн (9-10)
- Экономика монет и Магазин Безумного Дэйва
- Выпадение серебряных (10), золотых (50) и алмазных (200) монет из поверженных зомби
- Интерфейс магазина: покупка 6-го слота под семена (500 💰), садовых грабель (150 💰)
- Механика грабель: автоматическое уничтожение первого зомби на газоне
- Профили игроков
- Сохранение монет, апгрейдов магазина, разблокированных уровней и рекорда в
localStorage
- Сохранение монет, апгрейдов магазина, разблокированных уровней и рекорда в
🏆 Спринт v1.5: Режимы игры и Мини-игры (Released)
- Бесконечный режим (Endless Survival)
- Бесконечные волны с постоянно возрастающей интенсивностью и флагами
- Отслеживание числа отбитых флагов и рекорда
- Мини-игра: Боулинг орехами (Wall-nut Bowling)
- Конвейерная подача орехов и вишен бесплатно
- Механика рикошета катящихся орехов по диагоналям при ударе о зомби
- Переключатель режимов прямо на стартовом экране («Приключение», «Выживание», «Боулинг», «Я, Зомби»)
🚀 Спринт v1.6: Исправление «Я, Зомби», Навбар без наложений, Меню, Профили/Гость и Автономное Test API (Released)
- Исправление бага режима «Я, Зомби»:
- Устранение мгновенной ложной победы: синхронная расстановка обороны газона без асинхронных задержек
setTimeout - Размещение 5 целевых подсолнухов в колонке 0 и защитной линии растений (Горохострелы, Повторители, Стеноорехи, Мины)
- Начисление +150 солнца за каждый съеденный подсолнух со звуковым эффектом
- Корректное условие поражения: солнце < 50 и отсутствие живых зомби на газоне при уцелевших подсолнухах
- Отключение автоматических волн и газонокосилок в режиме зомби
- Проход зомби до левого края газона считается захватом мозгов и не вызывает проигрыш
- Устранение мгновенной ложной победы: синхронная расстановка обороны газона без асинхронных задержек
- Полная переработка интерфейса (Устранение наложений элементов):
- Создание независимой верхней панели
.top-nav-barна Flexbox над игровым холстом - Исключение абсолютного позиционирования кнопок поверх игрового Canvas, шкалы волн и слотов семян
- Равномерное размещение элементов: слева «🏠 Меню» и плашка профиля; справа кнопки скорости «⚡ 1x/2x», музыки «🎵 Вкл/Выкл» и звука «🔊 Вкл/Выкл»
- Создание независимой верхней панели
- Главное меню и перезапуск:
- Кнопка «🏠 Меню» доступна в любой момент игры: ставит игру на паузу и открывает окно выбора режима, уровня и магазина
- Кнопки «В МЕНЮ» на экранах поражения и победы для мгновенного перезапуска или смены сценария
- Система авторизации и профилей (Логин/Пароль + Гость):
- Реализована система
PvZAuthвjs/systems/auth.js - Модальное окно авторизации игрока: вход / быстрая регистрация по логину и паролю
- Режим «Гость»: полноценная сессионная игра без сохранения прогресса на диск
- Изоляция данных пользователя: сохраненные монеты, открытые уровни и покупки магазина привязаны к аккаунту
- Индикатор текущего статуса игрока в верхнем тулбаре
- Реализована система
- Автономное тестирование игры (Test API & CLI Runner):
- Встроенный движковый API
window.PvZTestAPIвjs/utils/test_api.js(симуляция тиков, спавн сущностей, проверка боя, мины, косилок, победы в «Я, Зомби» и авторизации) - Автономный CLI скрипт
scripts/test_game.pyс 46 автоматическими проверками HTTP/2, статики, синтаксиса и бизнес-логики
- Встроенный движковый API
🛠️ Спринт v1.7: Локация «Садовая Мастерская» — Крафт, 3 Уровня прокачки растений и Пассивные перки (Released)
- Новая игровая локация «Сад-Мастерская» (Garden Workshop & Lab):
- Отдельный интерактивный экран/модальное окно Сада с верстаком прокачки и деревом перков
- Переход в Сад одной кнопкой из верхнего меню и стартового окна («🧪 Сад-Мастерская»)
- Система ремесленных материалов (Drop & Craft):
- Сбор ресурсов в процессе боя во всех режимах игры:
- 🧪 Био-гумус (Bio-Humus) — выпадает из поверженных базовых зомби
- ⚙️ Зомби-детали (Scrap Metal) — выпадает из бронированных врагов (ведра, конусы, футболисты)
- ☀️ Солнечная эссенция (Sun Essence) — накапливается за активный сбор солнечных капель
- 💎 Алмазные кристаллы (Crystals) — редкий дроп из волн флагов и элиты
- Визуальные летающие дропы материалов с физикой падения, анимацией и подсветкой
- Сбор материалов кликом мыши или автосбором через перк магнетизма
- Сбор ресурсов в процессе боя во всех режимах игры:
- Система 3 уровней прокачки каждого растения (Tier 1 ➔ Tier 2 ➔ Tier 3):
- Индивидуальный прогресс каждого растения за монеты + материалы:
- Горохострел:
- Ур. 1: Базовый горох (урон 20)
- Ур. 2 («Скорострел»): Урон 25, скорость атаки +20%, шанс крита 15% (x2 урон)
- Ур. 3 («Плазменный стрелок»): Плазменный шар пробивает первого зомби насквозь и ранит идущего сзади
- Подсолнух:
- Ур. 1: Базовое солнце (25 ☀️)
- Ур. 2 («Крупный подсолнух»): Дает 35 ☀️, ускоренное появление
- Ур. 3 («Благодатный свет»): Каждая генерация солнца лечит +30 HP соседним растениям
- Стеноорех:
- Ур. 1: 400 HP
- Ур. 2 («Каменный монолит»): 700 HP + поглощение 15% урона
- Ур. 3 («Шипованный бастион»): 1000 HP + возврат 30% урона атакующим зомби при каждом укусе
- Картофельная мина:
- Ур. 1: Взведение 15 сек, взрыв в 1 клетке
- Ур. 2: Быстрое взведение всего за 6 сек
- Ур. 3 («Атомный Spudow»): Взрыв по площади 3x3 клетки + лавовая зона
- Повторитель, Ледяной горох, Зубастик — расширенные деревья прокачки до 3 уровней
- Горохострел:
- Визуальное отображение уровней: звездочки (★★ / ★★★) над карточками в колоде и световые ауры на газоне
- Индивидуальный прогресс каждого растения за монеты + материалы:
- Пассивные Перки Садовника (Глобальное дерево технологий):
- 5 пассивных улучшений профиля:
- 🧲 «Магнитный газон» — увеличенный радиус автосбора монет, солнц и лута (до полного экрана на ур. 3)
- ☀️ «Стартовый капитал» — старт каждого боя с +50/+100/+150 ☀️
- ⏳ «Ускоренный полив» — сокращение кулдауна семян на -10%/-20%/-30%
- 🛡️ «Упорные корни» — запас здоровья всех посадок +20%/+35%/+50%
- 🍀 «Золотая рука» — шанс дропа золотых монет и редких материалов повышен на +30%/+60%/+100%
- Сохранение уровней растений, ресурсов и купленных перков в профиле игрока (
PvZAuth)
- 5 пассивных улучшений профиля:
🪴 Спринт v1.8: Дзен-Сад (Пассивный доход и улитка Стинки) и Альманах (Запланировано)
- Дзен-Сад (Zen Garden):
- Выращивание растений в горшках (лейка, удобрения, граммофон)
- Пассивный доход монет каждые несколько часов (начисление монет за время отсутствия)
- Улитка Стинки (Stinky the Snail) пылесосит монеты при подкармливании шоколадом
- Альманах пригородных растений и зомби (Suburban Almanac):
- Энциклопедия с описанием, статистикой и лором всех персонажей
- Секретный Зомби-Йети (дроп 4 алмазов)
🎲 Спринт v1.9: «Садовый Рогалик» и Достижения (Запланировано)
- Режим «Садовый Рогалик» (Garden Roguelike):
- Драфт семян и выбор 1 из 3 мощных реликвий после каждой волны (молнии, яд, взрывы)
- Система Достижений (30+ ачивок с наградами):
- Зал трофеев в профиле игрока
👑 Спринт v2.0: Туман, Крыша, Босс Зомбосс и Лидерборды (Запланировано)
- Биомы Туман и Крыша с катапультами
- Дерево Мудрости и клавиатурные чит-коды (
mustache,future,dance,pinata) - Финальный босс Доктор Зомбосс на гигантском Zombot
- Глобальные таблицы лидеров