вернуться в раздел "Научные труды"

УДК: 004.4

АНАЛИЗ ПРОГРАММНЫХ СРЕД ДЛЯ РАЗРАБОТКИ КОНСТРУКТОРА УРОВНЕЙ В ИГРОВЫХ ПРИЛОЖЕНИЯХ ЖАНРА КВЕСТ

А. Н. Петрова, А. С. Яковлев

Комсомольский-на-Амуре государственный университет

кафедра «Проектирование, управление и разработка информационных систем»

Email: petrova@knastu.ru, yakovlev@knastu.ru

Аннотация

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

Abstract. This article is devoted to the study of software environments for the development of the level designer in game applications of the quest genre. The article analyzes game development environments by the following criteria: distribution method, popularity of the environment, ease of use and universality. This article also reviews possible implementation of level constructor according to following approaches: simple constructor, procedural generation and combination of these approaches. In addition, the paper presents a diagram of precedents for user interaction with the level constructor.

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

Keywords: level designer, procedural generation, design, mobile application, game application, software, development in Unity.

Введение

Как правило, различные игровые приложения как мобильные, так и настольные, содержат в себе некоторый набор уровней, в которые пользователь может играть, и в конечном счете пройти. По умолчанию разработчик проектирует в своей игре стандартные уровни – данная процедура позволит пользователю познакомиться с игрой. Для повышения реиграбельности, то есть желания пользователя поиграть еще раз в игру после прохождения, необходимо разработать инструмент, который позволит игроку самому создавать уровни, карту, размещать на них задания, игровые предметы и другое. Выполнить перечисленные задачи должен позволить конструктор уровней.

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

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

Обзор возможной реализации конструктора уровней

Конструктор уровней для игровых приложений жанра квест может быть реализован следующими стратегиями:

  • простой конструктор уровней;
  • процедурная генерация уровней;
  • комбинация двух подходов.

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

Процедурная генерация уровней представляет собой автоматизацию или полуавтоматизацию создания различных составляющих игр, таких как: изменение игровых правил, объектов, уровней и другого [2]. Игры, в которых реализована процедурная генерация, позволяют разработчику сэкономить подавляющее количество времени, которое могло быть затрачено на ручную реализацию игрового мира. Например, игра по своему жанру содержит в себе большое количество комнат, составляющих уровень. Переходы между комнатами, комнаты и уровни создаются с помощью процедурной генерации. Разработчику не пришлось создавать огромное обилие комнат и уровней, а игроку не пришлось проходить их, уставая от однообразия [3].

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

Проектирование диаграммы прецедентов конструктора уровней

Одним из первых шагов разработки программного обеспечения является его проектирование, в рамках которого определяется модель взаимодействия пользователя с приложением. Для этого необходимо сформулировать входные данные – данные, которые пользователь будет задавать в приложении:

  • объект для установки на уровне;
  • местоположение объекта;
  • размер объекта.

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

Соответственно, уровень будет строиться из его частей. После формулирования входных и выходных данных можно построить диаграмму прецедентов, которая будет демонстрировать процесс взаимодействия пользователя с конструктором (рисунок 1).

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

Диаграмма прецедентов взаимодействия пользователя с конструктором уровней
Рисунок 1 – Процесс взаимодействия пользователя с конструктором уровней

Оценка сред разработки игр

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

Критерий «Способ распространения» является очень важным элементом в анализе сред разработки, от него зависит возможная стоимость разработки приложения. Конструктор заданий разрабатывается в рамках учебной деятельности, поэтому финансирование отсутствует. От критерия «Популярность среды» зависит количества обучающего материала по данной среде разработки. Чем популярнее среда, тем больше людей задают различные вопросы на специализированных ресурсах. Информация по критериям «Способ распространения» и «Популярность среды» была взята со статьи «Самые популярные бесплатные движки для разработки игр», в которой автор рассматривает популярность сред с помощью количества публикаций приложений на игровых площадках [4].

Критерий «Простота использования» включает в себя наличие в среде метода визуального программирования, а также минимальное использование языков программирования. Под критерием «Универсальность» подразумевается возможность комфортной работы среды разработки с разными направлениями в играх: 2D, 3D, жанры игр и другое. Например, среда разработки RPG Maker умеет работать только с жанром JRPG, что является значимым минусом данного программного средства. Критерий «Простота использования» и «Универсальность» взаимосвязаны, потому что чем проще использовать среду разработки, тем меньше возможностей она может предоставить.

Баллы за критерии «Простота использования» и «Универсальность» выставлялись согласно информации, находящейся в статьях, в которых рассматриваются 11 игровых движков [5], [6]. В данных статьях производится краткий обзор сред разработки, а также приводятся плюсы и минусы каждой.

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

В таблице 1 представлен анализ сред разработки игр. По совокупности баллов среда разработки Unity является наиболее приоритетной для реализации конструктора уровней, в качестве языка программирования был выбран C#.

Таблица 1 – Анализ сред разработки игр
Критерии оценивания Среды разработки игр
Game Maker: Studio 2 Unity RPG Maker Godot Unreal Engine 5
Способ распространения 22122
Популярность среды 12101
Простота использования 10110
Универсальность 12022
Итог 56355

Заключение

По итогам обзора возможной реализации конструктора был выбран комбинированный подход. Определены входные и выходные данные, спроектирована диаграмма прецедентов взаимодействия пользователя с приложением. Выбрана среда разработки Unity и язык программирования C# для реализации конструктора уровней. Планируется совместимость конструктора с уже разработанным приложением «Я - Турист» [7].

Список источников

  1. Бурчинский, А. В. Разработка игры под операционную систему Android / А. В. Бурчинский, М. Е. Щелкунова // Научно-техническое творчество аспирантов и студентов : Материалы 47-й научно-технической конференции студентов и аспирантов, Комсомольск-на-Амуре, 10-21 апреля 2017 г. / Ответственный редактор Э. А. Дмитриев. – Комсомольск-на-Амуре: ФГБОУ ВО «КнАГУ», 2017. – С. 168-170.
  2. Басыров, А. И. Математическое и программное обеспечение разработки процедурной генерации контента / А. И. Басыров // Мавлютовские чтения : Материалы XV Всероссийской молодежной научной конференции, Уфа, 26-28 октября 2021 г. : в 7 т. – Уфа: ФГБОУ ВО «УГАТУ», 2021. – Т. 4. – С. 106-115.
  3. Штырков, Г. О. Разработка компьютерной игры в среде С++ с использованием графической библиотеки / Г. О. Штырков, М. Е. Щелкунова // Молодежь и наука: актуальные проблемы фундаментальных и прикладных исследований : Материалы II Всероссийской национальной научной конференции студентов, аспирантов и молодых ученых, Комсомольск-на-Амуре, 08-12 апреля 2019 г. : в 4 ч. / Ответственный редактор Э. А. Дмитриев. – Комсомольск-на-Амуре: ФГБОУ ВО «КнАГУ», 2019. – Ч. 2. – С. 508-511.
  4. Habr.com : Самые популярные бесплатные движки для разработки игр : сайт. – Москва, 2003 – URL : https://habr.com/ru/company/timeweb/blog/659891/ (дата обращения: 24.10.2022).
  5. Computerra.ru : 11 доступных движков для тех, кто хочет начать создавать свои игры : сайт. – Санкт-Петербург, 1997 – URL : https://www.computerra.ru/265077/etinstrumenty-pomogut-vam-nachat-sozdavat-videoigry/ (дата обращения: 24.10.2022).
  6. Blackcaviar.games : 11 популярных игровых движков в 2021 году : сайт. – Краснодар, 2019 – URL : https://blackcaviar.games/obzor_igrovyh_dvizhkov (дата обращения: 24.10.2022).
  7. Яковлев, А. С. Разработка программного обеспечения для игрового приложения «Я - Турист» / А. С. Яковлев, А. Н. Петрова // Молодежь и наука: актуальные проблемы фундаментальных и прикладных исследований : Материалы V Всероссийской национальной научной конференции молодых учёных, Комсомольск-на-Амуре, 11-15 апреля 2022 г. : в 4 ч. / Редколлегия : А. В. Космынин (отв. ред.) [и др.]. – Комсомольск-на-Амуре: ФГБОУ ВО «КнАГУ», 2022. – Ч. 1. – С. 476-479.