2D action-RPG игра на Python/Pygame с продвинутой системой боя, ИИ противников и динамической камерой
Find a file
2025-06-30 12:41:32 +03:00
code Delete tile.py 2022-03-02 17:12:04 +07:00
data Delete coin_silver.png 2022-03-02 17:13:54 +07:00
icon.ico Add files via upload 2022-03-02 17:22:27 +07:00
project.pptx presentations 2022-03-08 00:30:50 +07:00
README.md README.md 2025-06-30 12:41:32 +03:00
requrements.txt pip 2022-03-02 18:25:00 +07:00

Pixel Gamble

Python Pygame 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. Клонирование репозитория:
git clone https://github.com/DeevEV/pixel_gamble.git
cd pixel_gamble
  1. Установка зависимостей:
pip install -r requirements.txt
  1. Запуск игры:
cd code
python main.py

Управление

  • W, A, S, D — Перемещение персонажа
  • ЛКМ — Атака
  • ESC — Выход из игры

Архитектурные решения

Система сущностей

Игра построена на базовом классе Entity, обеспечивающем унифицированный интерфейс для всех игровых объектов с поддержкой:

  • Движения и физики
  • Анимационной системы
  • Обработки столкновений

Управление ресурсами

  • CSV-файлы для описания структуры уровней
  • Модульная система загрузки графических ресурсов
  • Централизованное управление игровыми данными

Производительность

  • Оптимизированная система рендеринга с сортировкой по глубине
  • Эффективная обработка столкновений
  • Управление памятью через группы спрайтов Pygame

Возможности расширения

Проект спроектирован с учетом масштабируемости:

  • Легкое добавление новых типов противников
  • Расширяемая система оружия
  • Модульная архитектура уровней
  • Гибкая система анимаций

Контакты разработчика

Деев Егор Викторович

Лицензия

Этот проект распространяется под лицензией MIT.


Проект создан в рамках изучения игровой разработки и демонстрации навыков программирования на Python.

Создано с ❤️ от вашего дорогого - deev.space ©