mirror of
https://github.com/EDeev/pixel_gamble.git
synced 2026-06-15 19:11:02 +03:00
2D action-RPG игра на Python/Pygame с продвинутой системой боя, ИИ противников и динамической камерой
2d-gameaction-rpgcollision-detectioncsv-mapsentity-systemgame-developmentgame-enginepygamepythonsprite-animation
| code | ||
| data | ||
| icon.ico | ||
| project.pptx | ||
| README.md | ||
| requrements.txt | ||
Pixel Gamble
Описание проекта
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+
Процесс установки
- Клонирование репозитория:
git clone https://github.com/DeevEV/pixel_gamble.git
cd pixel_gamble
- Установка зависимостей:
pip install -r requirements.txt
- Запуск игры:
cd code
python main.py
Управление
- W, A, S, D — Перемещение персонажа
- ЛКМ — Атака
- ESC — Выход из игры
Архитектурные решения
Система сущностей
Игра построена на базовом классе Entity, обеспечивающем унифицированный интерфейс для всех игровых объектов с поддержкой:
- Движения и физики
- Анимационной системы
- Обработки столкновений
Управление ресурсами
- CSV-файлы для описания структуры уровней
- Модульная система загрузки графических ресурсов
- Централизованное управление игровыми данными
Производительность
- Оптимизированная система рендеринга с сортировкой по глубине
- Эффективная обработка столкновений
- Управление памятью через группы спрайтов Pygame
Возможности расширения
Проект спроектирован с учетом масштабируемости:
- Легкое добавление новых типов противников
- Расширяемая система оружия
- Модульная архитектура уровней
- Гибкая система анимаций
Контакты разработчика
Деев Егор Викторович
- GitHub: @EDeev
- Email: egor@deev.space
- Веб-сайт: deev.space
Лицензия
Этот проект распространяется под лицензией MIT.
Проект создан в рамках изучения игровой разработки и демонстрации навыков программирования на Python.
Создано с ❤️ от вашего дорогого - deev.space ©