🎮 PokeTD - Pokémon Tower Defense Game
🏰 Стратегическая Tower Defense игра в мире Pokémon с прокачкой, коллекционированием и PvP элементами!
⚡ ЖИВАЯ ДЕМО • 🚀 Быстрый старт • 📊 Особенности • 🎯 Геймплей
Особенность
Описание
🏰 Tower Defense
Классическая механика TD с покемонами вместо башен
🌊 Динамические волны
Постепенно усиливающиеся волны противников
⚡ Система элементов
18 типов покемонов с преимуществами и слабостями
🔗 Комбинирование
Объединение покемонов для усиленных атак
Система
Детали
🎯 Уровни и опыт
Прокачка покемонов через сражения
💰 PokeCoins
Игровая валюта за победы и достижения
📚 Коллекционирование
150+ покемонов с разной редкостью
🏆 Достижения
Награды за выполнение особых условий
🏅 Лидерборды - глобальные и еженедельные
⚔️ PvP режим - сражения с другими игроками (в разработке)
👥 Система друзей - сравнение прогресса и совместные игры
Современный интерфейс с быстрым доступом ко всем режимам
Стратегическое размещение покемонов для защиты
Собирайте и улучшайте свою коллекцию
📋 Предварительные требования
Компонент
Версия
Python
3.9+
PostgreSQL
12+
Git
2.20+
# 1. Клонируйте репозиторий
git clone https://github.com/Gabryelf/PokeTD.git
cd PokeTD
# 2. Создайте виртуальное окружение
python -m venv venv
# Активация:
# Windows:
venv\S cripts\a ctivate
# Linux/Mac:
source venv/bin/activate
# 3. Установите зависимости
pip install -r requirements.txt
# 4. Настройте окружение
cp .env.example .env
# Отредактируйте .env файл
# 5. Запустите приложение
cd backend
python run.py
version : ' 3.8'
services :
postgres :
image : postgres:15-alpine
environment :
POSTGRES_DB : poketd
POSTGRES_USER : admin
POSTGRES_PASSWORD : password
ports :
- " 5432:5432"
volumes :
- postgres_data:/var/lib/postgresql/data
backend :
build : ./backend
ports :
- " 8000:8000"
environment :
DATABASE_URL : postgresql://admin:password@postgres:5432/poketd
SECRET_KEY : your-secret-key-here
depends_on :
- postgres
volumes :
postgres_data :
После запуска сервера доступны:
Ресурс
Ссылка
Описание
🔍 Swagger UI
http://localhost:8000/docs
Интерактивная документация
📖 ReDoc
http://localhost:8000/redoc
Альтернативная документация
💚 Health Check
http://localhost:8000/health
Проверка состояния
POST /api/v1/auth/register # 📝 Регистрация пользователя
POST /api/v1/auth/login # 🔐 Вход в систему
GET /api/v1/users/me # 👤 Информация о пользователе
POST /api/v1/game/start # 🎮 Начать новую игру
POST /api/v1/game/action # ⚡ Выполнить игровое действие
POST /api/v1/game/end # 🏁 Завершить игру
GET /api/v1/leaderboard # 🏆 Получить лидерборд
Подготовка репозитория
git add .
git commit -m " 🚀 Подготовка к деплою"
git push origin main
Создание Web Service
Перейдите на render.com
Нажмите "New +" → "Web Service"
Подключите GitHub репозиторий
Настройки деплоя:
Name : poketd-api
Environment : Python 3
Build Command : pip install -r requirements.txt
Start Command : gunicorn backend.app.main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:10000
Настройка PostgreSQL
Создайте базу данных на Render
Добавьте переменную окружения:
DATABASE_URL = postgresql://user:password@host:port/dbname
Переменные окружения
SECRET_KEY = your-super-secret-key-here
DATABASE_URL = postgresql://...
ACCESS_TOKEN_EXPIRE_MINUTES = 10080
ENVIRONMENT = production
JWT_ALGORITHM = HS256
# Преимущества элементов
ELEMENT_ADVANTAGES = {
"fire" : ["grass" , "bug" , "ice" , "steel" ],
"water" : ["fire" , "ground" , "rock" ],
"grass" : ["water" , "ground" , "rock" ],
"electric" : ["water" , "flying" ],
"ice" : ["grass" , "ground" , "flying" , "dragon" ],
"fighting" : ["normal" , "ice" , "rock" , "dark" , "steel" ],
# ... и другие элементы
}
Урон = Базовая атака × Множитель уровня × Множитель элемента × Критический множитель
Аспект
Описание
Уровень
Повышается за опыт с побед
Эволюция
При достижении определенного уровня
Навыки
Уникальные способности каждого покемона
Предметы
Усиление характеристик
Технология
Назначение
FastAPI
Современный Python фреймворк
SQLAlchemy
ORM для работы с БД
Pydantic
Валидация данных
PostgreSQL
Основная база данных
JWT
Аутентификация
bcrypt
Хеширование паролей
Сервис
Использование
Render.com
Хостинг и база данных
GitHub Actions
CI/CD пайплайн
Docker
Контейнеризация
🛠️ Инструменты разработки
Black - Форматирование кода
Flake8 - Линтинг
Pytest - Тестирование
Swagger/ReDoc - Документация API
Этап
Функции
Статус
Q1 2024
PvP режим
🚧 В разработке
Q2 2024
Гильдии и кланы
📅 Запланировано
Q3 2024
Сезонные события
📅 Запланировано
Q4 2024
Торговля покемонами
📅 Запланировано
📱 Мобильное приложение (React Native)
🖥️ Десктоп версия (Electron)
🌐 Веб-версия с WebGL графикой
Redis для кэширования
WebSocket для реального времени
Микросервисная архитектура
ML для баланса игры
Роль
Участник
Контакты
🧑💻 Основатель & Lead Dev
Gabryelf
GitHub
🎨 Game Designer
@PROJECTSLV
GitHub
🎮 Frontend Developer
@PROJECTSLV
GitHub
🚀 DevOps Engineer
Gabryelf
GitHub
Мы приветствуем contributions! Вот как вы можете помочь:
# 1. Форкните репозиторий
# 2. Создайте ветку для фичи
git checkout -b feature/amazing-feature
# 3. Закоммитьте изменения
git commit -m ' ✨ Add some amazing feature'
# 4. Запушьте в ветку
git push origin feature/amazing-feature
# 5. Откройте Pull Request
Используйте Black для форматирования
Пишите документацию для новых функций
Добавляйте тесты для нового кода
Следуйте PEP 8
⭐ Не забудьте поставить звезду репозиторию!
"Gotta Catch 'Em All in Tower Defense Style!" 🎮✨
Присоединяйтесь к приключению сегодня!