Files
ai-qpid-pvz/TODO.md
T
Antigravity 6457a8904e feat: Initial commit Plants vs Zombies Web Edition v2.4
- 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
2026-09-17 09:30:52 +00:00

18 KiB
Raw Blame History

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 через CSS aspect-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, статики, синтаксиса и бизнес-логики

🛠️ Спринт 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)

🪴 Спринт v1.8: Дзен-Сад (Пассивный доход и улитка Стинки) и Альманах (Запланировано)

  • Дзен-Сад (Zen Garden):
    • Выращивание растений в горшках (лейка, удобрения, граммофон)
    • Пассивный доход монет каждые несколько часов (начисление монет за время отсутствия)
    • Улитка Стинки (Stinky the Snail) пылесосит монеты при подкармливании шоколадом
  • Альманах пригородных растений и зомби (Suburban Almanac):
    • Энциклопедия с описанием, статистикой и лором всех персонажей
    • Секретный Зомби-Йети (дроп 4 алмазов)

🎲 Спринт v1.9: «Садовый Рогалик» и Достижения (Запланировано)

  • Режим «Садовый Рогалик» (Garden Roguelike):
    • Драфт семян и выбор 1 из 3 мощных реликвий после каждой волны (молнии, яд, взрывы)
  • Система Достижений (30+ ачивок с наградами):
    • Зал трофеев в профиле игрока

👑 Спринт v2.0: Туман, Крыша, Босс Зомбосс и Лидерборды (Запланировано)

  • Биомы Туман и Крыша с катапультами
  • Дерево Мудрости и клавиатурные чит-коды (mustache, future, dance, pinata)
  • Финальный босс Доктор Зомбосс на гигантском Zombot
  • Глобальные таблицы лидеров