README.md

This commit is contained in:
Egor Deev 2025-06-30 02:25:23 +03:00 committed by GitHub
parent 22813827aa
commit e0841fc333
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

124
README.md Normal file
View file

@ -0,0 +1,124 @@
# Pixel Gamble
[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://python.org)
[![Pygame](https://img.shields.io/badge/Pygame-2.0+-green.svg)](https://pygame.org)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](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.
---
<div align="center">
<sub>Проект создан в рамках изучения игровой разработки и демонстрации навыков программирования на Python.</sub>
<p><sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub></p>
</div>