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
Проект спроектирован с учетом масштабируемости:
- Легкое добавление новых типов противников
- Расширяемая система оружия
- Модульная архитектура уровней
- Гибкая система анимаций
Этот проект распространяется под лицензией MIT.
Деев Егор Викторович - Backend Developer
- GitHub: @EDeev
- Email: egor@deev.space
- Telegram: @Egor_Deev
Создано с ❤️ от вашего дорогого - deev.space ©