diff --git a/README.md b/README.md new file mode 100644 index 0000000..3aea437 --- /dev/null +++ b/README.md @@ -0,0 +1,124 @@ +# Pixel Gamble + +[](https://python.org) +[](https://pygame.org) +[](LICENSE) + +## Описание проекта + +Pixel Gamble — это полнофункциональная 2D action-RPG игра, разработанная на Python с использованием библиотеки Pygame. Проект демонстрирует реализацию классических игровых механик в современной объектно-ориентированной архитектуре. + +## Ключевые особенности + +### Игровые механики +- **Система боя**: Реализован динамический боевой процесс с различными типами атак +- **ИИ противников**: Интеллектуальные противники с различными поведенческими паттернами +- **Система прогрессии**: Механика получения опыта и развития персонажа +- **Физика столкновений**: Точная система коллизий с оптимизированными хитбоксами + +### Техническая архитектура +- **Модульная структура**: Четкое разделение логики игры по компонентам +- **Система камеры**: Следящая камера с плавным движением +- **Карты уровней**: CSV-основанная система генерации игрового мира +- **Аудиосистема**: Интегрированное воспроизведение звуковых эффектов + +## Технологический стек + +- **Язык программирования**: Python 3.8+ +- **Игровой движок**: Pygame 2.0+ +- **Управление ресурсами**: CSV для уровней, PNG для графики +- **Архитектурный паттерн**: Entity-Component-System (ECS) + +## Структура проекта + +``` +pixel_gamble/ +├── code/ +│ ├── main.py # Точка входа в приложение +│ ├── game.py # Основной игровой цикл +│ ├── level.py # Логика уровней и камеры +│ ├── player.py # Класс игрока +│ ├── enemy.py # Система противников +│ ├── entity.py # Базовый класс сущностей +│ └── data.py # Конфигурация и утилиты +├── data/ +│ ├── map/ # CSV файлы карт +│ ├── textures/ # Графические ресурсы +│ └── audio/ # Звуковые файлы +└── requirements.txt # Зависимости проекта +``` + +## Установка и запуск + +### Требования к системе +- Python 3.8 или выше +- Pygame 2.0+ + +### Процесс установки + +1. **Клонирование репозитория**: +```bash +git clone https://github.com/DeevEV/pixel_gamble.git +cd pixel_gamble +``` + +2. **Установка зависимостей**: +```bash +pip install -r requirements.txt +``` + +3. **Запуск игры**: +```bash +cd code +python main.py +``` + +## Управление + +- **W, A, S, D** — Перемещение персонажа +- **ЛКМ** — Атака +- **ESC** — Выход из игры + +## Архитектурные решения + +### Система сущностей +Игра построена на базовом классе `Entity`, обеспечивающем унифицированный интерфейс для всех игровых объектов с поддержкой: +- Движения и физики +- Анимационной системы +- Обработки столкновений + +### Управление ресурсами +- CSV-файлы для описания структуры уровней +- Модульная система загрузки графических ресурсов +- Централизованное управление игровыми данными + +### Производительность +- Оптимизированная система рендеринга с сортировкой по глубине +- Эффективная обработка столкновений +- Управление памятью через группы спрайтов Pygame + +## Возможности расширения + +Проект спроектирован с учетом масштабируемости: +- Легкое добавление новых типов противников +- Расширяемая система оружия +- Модульная архитектура уровней +- Гибкая система анимаций + +## Контакты разработчика + +**Деев Егор Викторович** +- GitHub: [@DeevEV](https://github.com/DeevEV) +- Email: egor@deev.space +- Веб-сайт: [deev.space](https://deev.space) + +## Лицензия + +Этот проект распространяется под лицензией MIT. + +--- + +
Создано с ❤️ от вашего дорогого - deev.space ©
+