pixel_gamble/README.md
2025-07-01 02:09:59 +03:00

124 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
## Возможности расширения
Проект спроектирован с учетом масштабируемости:
- Легкое добавление новых типов противников
- Расширяемая система оружия
- Модульная архитектура уровней
- Гибкая система анимаций
## Лицензия
Этот проект распространяется под лицензией MIT.
## Контакты разработчика
**Деев Егор Викторович** - Backend Developer
- GitHub: [@EDeev](https://github.com/EDeev)
- Email: egor@deev.space
- Telegram: [@Egor_Deev](https://t.me/Egor_Deev)
---
<div align="center">
<sub>Проект создан в рамках изучения игровой разработки и демонстрации навыков программирования на Python.</sub>
<p><sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub></p>
</div>