УДК 004.4
Яковлев Андрей Сергеевич, студент, Комсомольский-на-Амуре государственный университет
Yakovlev Andrey Sergeevich, student, Komsomolsk-na-Amure State University
Петрова Анна Николаевна, кандидат технических наук, доцент, заведующая кафедрой «Проектирование, управление и разработка информационных систем», Комсомольский-на-Амуре государственный университет
Petrova Anna Nikolaevna, Candidate of Engineering Sciences, Associate Professor, Head of the Department «Design, Management and Development of Information Systems», Komsomolsk-na-Amure State University
ПРОГРАММНО-ТЕХНИЧЕСКАЯ АРХИТЕКТУРА КОНСТРУКТОРА УРОВНЕЙ КВЕСТОВ
SOFTWARE AND HARDWARE ARCHITECTURE OF THE QUEST LEVEL CONSTRUCTOR
Аннотация. Цель работы состоит в снижении временных потерь для создания уровней в играх жанра квест при помощи конструктора уровней. В ходе работы была построена программно-техническая архитектура, описаны элементы подсистем конструктора уровней квестов, рассмотрен модуль сохранения и загрузки информации формата JSON.
Abstract. The aim of the work is to reduce time losses for creating levels in quest genre games with the help of level builder. In the course of work the program-technical architecture was built, elements of subsystems of the quest level builder were described, the module of saving and loading JSON format information was considered.
Ключевые слова: конструктор уровней, структура системы, программно-техническая архитектура, модуль сохранения и загрузки, формат json.
Key words: level constructor, system structure, software and hardware architecture, save and load module, json format.
Введение
Как правило, различные игровые приложения как мобильные, так и настольные, содержат в себе некоторый набор уровней, в которые пользователь может играть, и в конечном счете пройти. По умолчанию разработчик проектирует в своей игре стандартные уровни – данная процедура позволит пользователю познакомиться с игрой [1].
Для повышения вовлеченности пользователей в игровой процесс необходимо разработать конструктор сценариев (уровней), который позволит пользователям самостоятельно создавать уровни. Конструктор уровней квестов позволит пользователю конструировать уровень из предметов, которые имеются по умолчанию, и из тех предметов (земля, тропинки, вода, вещи, задания), которые он добавил.
Цель состоит в снижении временных потерь для создания уровней в играх жанра квест при помощи конструктора уровней. Конструктор уровней также расширит функционал игрового приложения, увеличит реиграбельность игры.
Для достижения поставленной цели необходимо проанализировать архитектуру конструктора уровней квестов и представить ее в виде модели структуры. Структура системы – совокупность необходимых и достаточных для достижения цели отношений (связей) между элементами системы.
Основная часть
Один из самых распространенных подходов к разработке информационных систем – это использование программно-технической архитектуры. Эта архитектура включает в себя компоненты, которые выполняют различные функции, такие как ввод, вывод, передача, обработка и хранение информации. Компоненты связаны между собой потоками данных, которые передаются от одного компонента к другому [2].
На рисунке 1 представлена программно-техническая архитектура конструктора уровней квестов. Конструктор уровней квестов имеет четыре подсистемы: подсистема взаимодействия с данными, хранения данных, построения и хранения уровня, сигналов.
В таблице 1 представлено описание элементов конструктора уровней квестов.
| Название элемента | Назначение | Тип информационного процесса | Принадлежность подсистеме |
|---|---|---|---|
| Модуль сохранения и загрузки информации | Осуществляет возможность хранения и загрузки данных формата JSON | Хранение | Подсистема хранения данных |
| Модуль описания структур для хранения | Осуществляет возможность интерпретации данных JSON | Хранение | Подсистема хранения данных |
| Модуль взаимодействия с плитками | Осуществляет возможность добавления, изменения и удаление плитки | Хранение | Подсистема взаимодействия с данными |
| Модуль взаимодействия с вещами | Осуществляет возможность добавления, изменения и удаление вещей | Хранение | Подсистема взаимодействия с данными |
| Модуль взаимодействия с созданными объектами | Осуществляет возможность добавления, изменения и удаление объектов, созданных пользователем | Хранение | Подсистема взаимодействия с данными |
| Модуль взаимодействия с событиями | Осуществляет возможность добавления, изменения и удаление событий | Хранение | Подсистема взаимодействия с данными |
| Модуль построения уровня | Осуществляет возможность создания уровня при помощи плиток, вещей, событий и так далее | Обработка | Подсистема построения и хранения уровня |
| Модуль сохранения уровня | Осуществляет возможность сохранять уровень после его создания | Передача | Подсистема построения и хранения уровня |
| Модуль отображения уровня | Осуществляет конвертацию данных в изображение уровня | Обработка | Подсистема построения и хранения уровня |
| Модуль взаимодействия с сигналами | Осуществляет возможность передавать и принимать сигналы | Передача | Подсистема сигналов |
| Модуль обработки сигналов | Осуществляет обработку полученных событий на созданных объектах | Обработка | Подсистема сигналов |
Рассмотрим модуль сохранения и загрузки информации, поскольку он является одним из самых важных элементов системы. Данный модуль позволяет взаимодействовать с данными формата JSON, принимая описание структуры, которая позволяет интерпретировать полученные данные при помощи библиотеки Newtonsoft.Json [3].
Формат JSON был выбран, поскольку имеет чистый и легко читаемый синтаксис, что обеспечивает простоту анализа данных [4, 5].
Заключение
В ходе выполнения работы была построена программно-техническая архитектура, описаны элементы подсистем конструктора уровней квестов и рассмотрен модуль сохранения и загрузки информации формата JSON. Анализ конструктора уровней квестов позволяет лучше понять, как работает система, какие компоненты в ней присутствуют и как они взаимодействуют друг с другом. Анализ позволяет выявить возможности для оптимизации и улучшения системы. Понимание структуры системы помогает лучше планировать изменения и обновления.
СПИСОК ИСТОЧНИКОВ
- Петрова, А. Н. Анализ программных сред для разработки конструктора уровней в игровых приложениях жанра квест / А. Н. Петрова, А. С. Яковлев // Наука, инновации и технологии: от идей к внедрению : Материалы II Международной научно-практической конференции молодых ученых, Комсомольск-на-Амуре, 14–18 ноября 2022 года / Редколлегия: А.В. Космынин (отв. ред.) [и др.]. Том 1. – Комсомольск-на-Амуре : Комсомольский-на-Амуре государственный университет, 2022. – С. 120–123. – EDN RKLNNI.
- Гусарова, Н. Ф. Теория систем и системный анализ / Н. Ф. Гусарова, Н. В. Добренко ; Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики. – Санкт-Петербург : Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 2019. – 84 с. – EDN KMEGPC.
- NewtonSoft.com : Popular high-performance JSON framework for .NET : сайт. – Соединенные Штаты Америки, 2004 – URL : https://www.newtonsoft.com/json (дата обращения: 01.11.2023).
- Habr.com : Что такое JSON : сайт. – Москва, 2003 – URL : https://habr.com/ru/articles/554274/ (дата обращения: 01.11.2023).
- Васильев, Г. В. Эффективное хранение больших данных о погоде в формате JSON с помощью nosql базы данных mongodb / Г. В. Васильев // Молодежь и наука: актуальные проблемы фундаментальных и прикладных исследований : Материалы VI Всероссийской национальной научной конференции молодых ученых, Комсомольск-на-Амуре, 10–14 апреля 2023 года. Том Часть 2. – Комсомольск-на-Амуре: Комсомольский-на-Амуре государственный университет, 2023. – С. 255-258. – EDN ZBOWLD.