mirror of
https://github.com/EDeev/pixel_gamble.git
synced 2026-06-18 14:11:03 +03:00
README.md
This commit is contained in:
parent
22813827aa
commit
e0841fc333
1 changed files with 124 additions and 0 deletions
124
README.md
Normal file
124
README.md
Normal file
|
|
@ -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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<sub>Проект создан в рамках изучения игровой разработки и демонстрации навыков программирования на Python.</sub>
|
||||||
|
<p><sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub></p>
|
||||||
|
</div>
|
||||||
Loading…
Add table
Reference in a new issue