Разработка игры «Ёхор» с использованием языка программирования Python

XXIV Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Разработка игры «Ёхор» с использованием языка программирования Python

Очиров Ц.Б. 1
1МАОУ «Агинская СОШ№2» городского округа «Поселок Агинское» Забайкальского края
Дондоков Т.Д. 1Чимитова С.Ц. 2
1МАОУ «Агинская окружная гимназия-интернат»
2МАОУ «Многопрофильный лицей» г.Муравленко ЯНАО
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Актуальность: несмотря, на простоту исполнения, аркадные игры имеют свою неубывающую аудиторию и не собираются уходить в прошлое. Мы знаем такие игры как тетрис, змейка и т.д., которые до сих пор привлекают внимание людей.

Существуют также аркадные игры, которые завоевали своих поклонников, исполненные в национальных стилях. Но на сегодня нет игр в стиле бурятской культуры. Поэтому я решил создать такую игру.

За основу моей игры я решил взять бурятский народный танец «Ехор».

Гипотеза: написать игру можно самому и воплотить в ней свои идеи.

Цель работы: создать игру «Ёхор» на языке Python.

Задачи:

  1. Изучить необходимую информацию для написания игры.

  2. Выбрать среду разработки.

  3. Изучить необходимые библиотеки в Python для реализации игры.

  4. Создать дизайн игры.

  5. Написать игру «Ёхор» на языке Python, используя полученные знания.

Объект работы: разработка аркадных игр.

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

Методы: сбор и анализ информации, обобщение, проектирование, разработка, тестирование.

  1. Теоретическое исследование разработки игр и программирования

Разработка компьютерных игр стала одной из самых динамично развивающихся областей в мире программирования и технологий. В условиях постоянно растущей аудитории и значительного влияния игр на культуру изучение Gamedev является актуальным и важным. Моя работа, в том числе, направлена на изучение теоретических основ разработки игр, технологий программирования и лучших практик в этой области.

    1. Основы и этапы разработки игр

Основные этапы разработки игр включают:

  • Концепция: на этом этапе формируется идея игры, жанр и ключевые механики.

  • Дизайн: здесь, создаются детализированные модели игры, описывающие персонажей и интерфейс пользователя.

  • Программирование: этот этап включает в себя выбор языка программирования и создание кода.

  • Тестирование: важный этап, на котором выявляются и исправляются ошибки, а также тестируется удобство игрового геймплея.

Разработка игр — это сложный и многогранный процесс, требующий знаний и навыков в различных областях — от программирования до дизайна и психологии. Понимание этого позволяет разработчику создавать качественные и увлекательные игры.

Игры могут служить инструментом для обучения, развивать критическое мышление и способствовать социальным взаимодействиям. Они открывают новые формы самовыражения и творчества, что является значимым для молодежной культуры.

Будущее индустрии игр выглядит многообещающим, с развитием технологий, таких как виртуальная и дополненная реальность, а также искусственного интеллекта. Эти технологии способны изменить способ взаимодействия игроков с играми, обеспечивая более глубокое погружение и интерактивность.

С каждым годом игровая индустрия становится более разнообразной, открывая двери для новых талантов и идей.

    1. Этапы разработки игры

Любое начало разработки игр начинается с выбора языка программирования, который является основным инструментом разработчика. Наиболее распространенные языки включают:

  • C++: этот язык часто используется в разработке высокопроизводительных игр, особенно с использованием таких движков, как Unreal Engine. C++ позволяет программистам управлять памятью и производительностью, что критически важно для создания игр с высоким уровнем графики и сложной логикой.

  • C#: облегчает разработку благодаря своей гибкости и простоте, что делает его подходящим как для начинающих, так и для опытных разработчиков.

  • Java: используется для создания мобильных игр на платформе Android. Java является языком высокого уровня, который облегчает создание кроссплатформенных приложений.

  • Python: находит применение в создании прототипов и в образовательных играх, благодаря простоте и читабельности синтаксиса.

  • JavaScript: широко применим в разработке веб-игр, особенно с использованием технологий, таких как HTML5 и WebGL.

Проектирование игр.

Проектирование игр требует креативного подхода вместе с техническими знаниями. Этот процесс включает в себя создание концепции, игровых механик, интерфейса и уровня сложности. Здесь важно не только понимать, как должна выглядеть игра, но и каким образом игрок будет взаимодействовать с миром игры. Навыки в проектировании помогают программисту принимать осознанные решения на ранних этапах разработки и выстраивать структуру проекта, что предотвращает потенциальные проблемы на более поздних стадиях. Основные аспекты проектирования:

  • Игровая механика: это набор правил и систем, которые определяют поведение игры и взаимодействие игрока с игровым миром.

  • Пользовательский интерфейс (UI): это важный аспект, который обеспечивает взаимодействие игрока с игрой. Программисты должны знать основы проектирования интерфейса и уметь реализовывать его в игре.

Тестирование.

Тестирование — это неотъемлемая часть разработки игр, которая позволяет выявить и устранить ошибки, до выхода продукта на рынок. Процесс тестирования должен быть систематичным, охватывая различные аспекты игры, такие как механики, производительность и взаимодействие пользователей. Знание различных методов тестирования, начиная от юнит-тестирования и заканчивая тестированием пользовательского опыта, позволяет программистам создавать более качественные продукты

Разработка игр требует от программиста широкого спектра знаний и навыков. Все аспекты - от языков программирования и до проектирования и тестирования — являются критически важными для создания качественных игр.

  1. Разработка игры «Ёхор»: программирование и моделирование

Разработка игры начинается с определения дизайна и механики игры. Ехор – (бур. Ёохор) – народный бурятский танец. Исполняется в кругу, в котором участники танца, держась за руки, ведут хоровод. Было решено создать игру в формате Аркады с простым и понятным интерфейсом, который будет понятен каждому.

Арка́да (англ. arcade game, arcade genre) — жанр компьютерных игр, характеризующийся коротким по времени, но интенсивным игровым процессом.

Механика игры представляет собой строевой ряд хоровода, длинной которого управляет игрок. Дизайн и модель управляемого ряда связаны с традиционной символикой бурятского народа.

    1. Дизайн игры

Дизайн игры — это ключевой элемент, который определяет, как игровая механика, визуальность, оформление и пользовательский интерфейс взаимодействуют друг с другом, создавая целостный и увлекательный опыт для игрока.

Модель игрока была разработана в виде головного убора традиционной бурятской культуры – малгай.

Головной убор бурят (бур. малгай) — это шапка конической формы, отороченная бархатом или мехом. От нижней части «дэнзэ» вниз струятся красные шелковые кисти (бур. улаан залаа).

Модель была выполнена с помощью сервиса Piskel. Простота и понятность, в то же время функциональность интерфейса позволяет создать арт-объект дизайнеру/программисту даже с самыми базовыми навыками в области рисования и дизайна.

Рис 1. Интерфейс и рабочая область сервиса Piskel.

    1. Программирование

Ни один игра не работает без внутренней программы. Программы пишут в специальных редакторах кода. Мы будем писать код в PyCharm. Эта среда разработки полностью бесплатна для образовательных целей, ее основной язык - Python.

Рис 2. Установка среды разработки PyCharm.

Для начала следует определиться с тем, с помощью какой библиотеки начать описывать игру. Библиоте́ка в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО). Я буду использовать библиотеку PyGame. PyGame — это «игровая библиотека», набор инструментов, помогающих программистам создавать игры. К ним относятся: графика и анимация, управление (мышь, клавиатура, геймпад и так далее). В начале программы нужно импортировать необходимые библиотеки и задать базовые переменные настроек игры:

Рис 3. Импортирование библиотеки и построение структуры игры

Зададим параметры для игрового окна главного экрана меню. Для этого следует открыть окно игры:

Рис 4. Функция, открывающая окно игры

Pygame.init() – это команда, которая запускает pygame. Self.ventana – окно программы, которое создается, когда мы задаем его параметры в настройках в width, visata. Информация с каждым разом должна обновляться. Для этого потребуется расписать отдельную функцию для программы, в которой информация менялась в зависимости от пополнения хоровода или завершения игры.

Рис 5. Функция для обновления экрана

Неотъемлемой частью игры является механика управления игровой модели. Для этого я также прописал дополнительную функцию, в которой передвижение хоровода запрограммированы на клавиши – стрелки клавиатуры. К тому же нужно определить время движения ряда, это выполнено с помощью time.sleep

Рис 6. Функция для управления хора

Теперь остается дописать финальную функцию кода, которая идет в самом конце, так как она отвечает за запуск игры. За это отвечает строчка кода - self.on_init()

Рис 7. Функция запуска программы

    1. Тестирование игры «Ёхор»

Игра «Ёхор» — это первый игровой проект на Python в моей жизни, который я написал самостоятельно, изучив всю нужную информацию.

Перед тем как начать программировать робота, мне нужно было ознакомиться с языком программирования Python. Такие понятия как переменная, функция, объект и класс в документации объяснили очень просто и понятно.

После изучения нужного материала я приступил к написанию кода и постепенного изучения языка на практике. Экспериментировал с переменными и их значениями, чтобы добиться желаемого результата. Разобрался в последовательности функций для корректного функционирования программного кода. Постепенно, шаг за шагом, усложняя код я написал свою первую игру «Ёхор».

Рис 8. Главное меню программы

Рис 9. Игровое поле

В процессе разработки было проведено множество тестирований: пробовал разное время для движения хора, менял цветовую палитру и следил за корректной работой игры.

Теперь я знаю как устроена библиотека pygame и основы программирования на Python. И могу создавать игры разного формата с изменением параметров под мои фантазии.

Заключение

Разработка игры «Ёхор» позволила мне освоить базовые навыки программирования на языке Python, а также понять принципы создания компьютерных игр. Этот проект стал отличным стартом для дальнейшего изучения программирования и создания более сложных приложений.

Этот проект демонстрирует, как можно начать изучать программирование через увлекательный процесс создания собственной игры. Надеюсь, он вдохновит других на дальнейшее погружение в мир программирования!

Список использованной литературы

  1. Библиотека Pygame / Часть 1. Введение — URL https://habr.com/ru/articles/588605/

  2. Библиотека (программирование) // wikipedia. — URL https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)

  3. Шапошникова С. Модуль pygame.font // Лаборатория линуксоида – 2024. – URL https://younglinux.info/pygame/font

  4. Шапошникова С. Модули pygame.image и pygame.transform // Лаборатория линуксоида – 2024. – URL https://younglinux.info/pygame/image

  5. Работа с изображением – URL https://mrtsepa.gitbooks.io/pygame-tutorial/content/reference/pygame/images.html

  6. Oleg Kishinskii. Русскоязычная документация по Python // Python Lessons – 2020 – URL https://pylessons.readthedocs.io/ru/latest/

  7. Стрелялка с Pygame №7: счет и рендеринг текста // PythonRu – 2018-2021 – URL https://pythonru.com/primery/streljalka-s-pygame-7-schet-i-rendering-teksta

Просмотров работы: 13