Skip to content

2D action-RPG игра на Python/Pygame с продвинутой системой боя, ИИ противников и динамической камерой

Notifications You must be signed in to change notification settings

EDeev/pixel_gamble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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

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


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

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

About

2D action-RPG игра на Python/Pygame с продвинутой системой боя, ИИ противников и динамической камерой

Topics

Resources

Stars

Watchers

Forks

Languages