42.32M

Sozdanie-igry-v-zhanre-Rogalik-1

1.

Создание игры в жанре
Рогалик
Проектная работа · Студент 2 курса Князев Д.В., группа 2251
Руководитель: Чайковская М.Г. · Краснодар, 2026
PYTHON + PYGAME
ГЕЙМДИЗАЙН
ПРОЦЕДУРНАЯ ГЕНЕРАЦИЯ

2.

Введение
Актуальность и цель работы
Почему рогалик?
Жанр рогалик приобрёл широкую
популярность благодаря процедурной
генерации уровней, высокой сложности
и непредсказуемости. Создание
собственной игры в этом жанре
позволяет освоить современные
подходы к геймдизайну и
программированию.
Цель работы
Разработать концепцию и прототип
игры в жанре рогалик, используя Python
и Pygame, реализовав ключевые
механики: генерацию карты,
управление персонажем, систему врагов
и прогрессии.

3.

Инструментарий
Язык программирования и стек
технологий
Python
Pygame
Простота и читаемость кода, быстрое
Библиотека для разработки игр: работа с
экосистема библиотек
таймерами
прототипирование игровых механик, богатая
графикой, звуком, вводом с клавиатуры и мыши,

4.

Практическая часть
Установка и настройка среды
разработки
Первым этапом стала установка Visual Studio Code — современной среды разработки с поддержкой
расширений. Через встроенный терминал был установлен Python и библиотека pygame командой pip
install pygame. Для управления версиями кода использовался GitHub — платформа для хранения
репозиториев и отслеживания изменений через систему Git.

5.

Практическая часть
Импорт библиотек и начальные настройки
Импортируемые модули
Настройка окна и цветов
import pygame
import sys
Графика, звук, ввод с
Системные функции,
таймеры
через sys.exit()
клавиатуры и мыши,
Размеры игрового поля: 800×600 пикселей. Определена
палитра цветов для различных элементов игры:
завершение программы
import random
Генерация случайных чисел для поведения врагов и
событий
Земля и природа
Интерфейс
Акценты
GREEN, FOREST_GREEN, BROWN
WHITE, BLACK, GRAY, DARK_GRAY
RED (враги), YELLOW (подсветка)

6.

Практическая часть
Основные игровые механики
Персонаж — Рыцарь
Система врагов
Размер 50px, старт в центре экрана,
Враги спавнятся с задержкой 60 кадров,
система атаки с кулдауном и
пикселя/кадр. Проверка столкновений
скорость 4 пикселя/кадр. Реализована
направлением удара мечом
преследуют героя со скоростью 1.5
через прямоугольные хитбоксы
Генерация карты
Прогрессия уровней
Функция random.choices() с весами: земля
Счётчик убийств и текущий уровень.
тайл отрисовывается соответствующим
меча. После зачистки уровня генерируется
— 60%, лес — 30%, горы — 10%. Каждый
цветом
Каждые 20 убийств увеличивается длина
новая карта

7.

Практическая часть
Структура игрового цикла
Ключевые функции
main() — централизованный запуск всех экранов
main_game() — основной цикл с обработкой событий и
отрисовкой
spawn_enemy() — создание врага в случайной позиции
attack(direction) — запуск атаки с запоминанием
направления
reset_level() — подготовка следующего уровня
Игровой цикл ограничен 60 FPS через clock.tick(60) для
стабильной производительности.

8.

Теоретическая часть
Процедурная генерация уровней
Процедурная генерация — автоматическое создание игровых уровней с помощью
алгоритмов, обеспечивающее уникальность каждого прохождения и высокую
реиграбельность.
Клеточные автоматы
Создают органичные формы пещер и руин, изменяя состояние клеток в
зависимости от соседей
Алгоритмы на графах
Строят связные маршруты, коридоры и комнаты, формируя логичную структуру
карты
BSP-разбиение
Делит уровень на части для размещения комнат и коридоров с балансом
сложности
Случайное блуждание
Генерирует лабиринты и пещеры путём случайных перемещений по карте

9.

Практическая часть
Игровой процесс в деталях
На данном этапе были собраны все ключевые механики, и игра приобрела свои первые очертания. Вот как
выглядит игровой процесс:
Динамичный
геймплей
Процедурная карта
Боевая система
Прогрессия и UI
Скриншот игрового
Пример
сгенерированной карты
Рыцарь в действии,
Элементы
с различными типами
Визуализация области
интерфейса,
процесса,
демонстрирующий бой
рыцаря с противниками
и элементы интерфейса.
тайлов — лес, земля,
горы, созданных
алгоритмом.
атакующий врага.
поражения мечом и
индикаторы здоровья.
пользовательского
отображающие
текущий уровень,
количество убийств и
бонусы.

10.

Заключение
Итоги проектной работы
В ходе проекта был создан полноценный прототип игры в жанре
рогалик на Python с использованием Pygame. Реализованы все
ключевые компоненты игровой логики.
Реализовано
Освоено
Отрисовка карты, управление
персонажем, система врагов,
механика атаки, уровни
сложности и прогрессия
Принципы работы
графического интерфейса,
обработка пользовательских
событий, взаимодействие
объектов в игровой среде
Перспективы
Проект служит основой для разработки более сложных игр:
добавление новых врагов, предметов, звукового оформления и
анимаций
English     Русский Rules