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

УДК 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 представлено описание элементов конструктора уровней квестов.

Программно-техническая архитектура конструктора уровней
Рисунок 1 – Программно-техническая архитектура конструктора уровней
Таблица 1 – Описание элементов конструктора уровней квестов
Название элементаНазначениеТип информационного процессаПринадлежность подсистеме
Модуль сохранения и загрузки информацииОсуществляет возможность хранения и загрузки данных формата JSONХранениеПодсистема хранения данных
Модуль описания структур для храненияОсуществляет возможность интерпретации данных JSONХранениеПодсистема хранения данных
Модуль взаимодействия с плиткамиОсуществляет возможность добавления, изменения и удаление плиткиХранениеПодсистема взаимодействия с данными
Модуль взаимодействия с вещамиОсуществляет возможность добавления, изменения и удаление вещейХранениеПодсистема взаимодействия с данными
Модуль взаимодействия с созданными объектамиОсуществляет возможность добавления, изменения и удаление объектов, созданных пользователемХранениеПодсистема взаимодействия с данными
Модуль взаимодействия с событиямиОсуществляет возможность добавления, изменения и удаление событийХранениеПодсистема взаимодействия с данными
Модуль построения уровняОсуществляет возможность создания уровня при помощи плиток, вещей, событий и так далееОбработкаПодсистема построения и хранения уровня
Модуль сохранения уровняОсуществляет возможность сохранять уровень после его созданияПередачаПодсистема построения и хранения уровня
Модуль отображения уровняОсуществляет конвертацию данных в изображение уровняОбработкаПодсистема построения и хранения уровня
Модуль взаимодействия с сигналамиОсуществляет возможность передавать и принимать сигналыПередачаПодсистема сигналов
Модуль обработки сигналовОсуществляет обработку полученных событий на созданных объектахОбработкаПодсистема сигналов

Рассмотрим модуль сохранения и загрузки информации, поскольку он является одним из самых важных элементов системы. Данный модуль позволяет взаимодействовать с данными формата JSON, принимая описание структуры, которая позволяет интерпретировать полученные данные при помощи библиотеки Newtonsoft.Json [3].

Формат JSON был выбран, поскольку имеет чистый и легко читаемый синтаксис, что обеспечивает простоту анализа данных [4, 5].

Заключение

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

СПИСОК ИСТОЧНИКОВ

  1. Петрова, А. Н. Анализ программных сред для разработки конструктора уровней в игровых приложениях жанра квест / А. Н. Петрова, А. С. Яковлев // Наука, инновации и технологии: от идей к внедрению : Материалы II Международной научно-практической конференции молодых ученых, Комсомольск-на-Амуре, 14–18 ноября 2022 года / Редколлегия: А.В. Космынин (отв. ред.) [и др.]. Том 1. – Комсомольск-на-Амуре : Комсомольский-на-Амуре государственный университет, 2022. – С. 120–123. – EDN RKLNNI.
  2. Гусарова, Н. Ф. Теория систем и системный анализ / Н. Ф. Гусарова, Н. В. Добренко ; Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики. – Санкт-Петербург : Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 2019. – 84 с. – EDN KMEGPC.
  3. NewtonSoft.com : Popular high-performance JSON framework for .NET : сайт. – Соединенные Штаты Америки, 2004 – URL : https://www.newtonsoft.com/json (дата обращения: 01.11.2023).
  4. Habr.com : Что такое JSON : сайт. – Москва, 2003 – URL : https://habr.com/ru/articles/554274/ (дата обращения: 01.11.2023).
  5. Васильев, Г. В. Эффективное хранение больших данных о погоде в формате JSON с помощью nosql базы данных mongodb / Г. В. Васильев // Молодежь и наука: актуальные проблемы фундаментальных и прикладных исследований : Материалы VI Всероссийской национальной научной конференции молодых ученых, Комсомольск-на-Амуре, 10–14 апреля 2023 года. Том Часть 2. – Комсомольск-на-Амуре: Комсомольский-на-Амуре государственный университет, 2023. – С. 255-258. – EDN ZBOWLD.