Скачиваний:
1
Добавлен:
13.05.2024
Размер:
681.36 Кб
Скачать

Федеральное агентство связи

Федеральное государственное образовательное бюджетное учреждение высшего образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А.Бонч-Бруевича»

Факультет «Инфокоммуникационных сетей и систем»

Кафедра «Программной инженерии и вычислительной техники»

Курсовая работа

По теме: «Проектирование игрового движка»

Дисциплина: Проектирование и архитектура программных систем

Студент гр. ИКПИ-93

_________________

Козлов Н.С.

Преподаватель каф. ПИиВТ

_________________

д.т.н., проф. Фомин В. В.

Санкт-Петербург

2022

Оглавление

Термины

Игровой движок - программное обеспечение, которое расширяемо и может применяться в качестве основы для множества различных игр без значительной модификации [1].

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

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

API (Application Programming Interface) - описание способов взаимодействия одной компьютерной программы с другими.

1. Актуальность

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

В связи с этим, в стране почти отсутствуют основные инструменты, такие как игровые движки, для создания подобных продуктов. На мировом рынке представлен лишь Unigine, разрабатываемый Российской компанией, однако тот больше предназначен для разработки различных эмуляторов и сложных инженерных 3D-визуализаций [4], что делает его менее привлекательным для разработчиков на фоне иностранных аналогов.

В Июне 2022-го года, на фоне оттока иностранных компаний, о потребности создания собственных игровых движков заговорили и на уровне государственной думы. Горелкин. А.В, заместитель председателя комитета государственной думы по информационной политике, высказался о приоритетности таковой задачи для поддержания отечественного игрового рынка [5], что подчёркивает актуальность создания собственного игрового движка.

2. Общие сведения

  1. Полное наименования системы: повторно используемая и свободно расширяемая система для разработки компьютерных игр.

  2. Условное обозначение: «НЕ СКАЖУ, ВПИШИ СВОЁ НАЗВАНИЕ»

  3. Плановые сроки начала и окончания работы по созданию системы: 30.09.2022 - 31.12.2022

3. Назначение и цель создания

3.1. Назначение

Игровой движок «НЕ СКАЖУ, ВПИШИ СВОЁ НАЗВАНИЕ» предназначен для разработки компьютерных игр в жанре «визуальная новелла» [6].

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

3.2. Цели создания проекта

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

Основными задачами проекта являются:

- Минимизация затрат на разработку игр.

- Универсализация процесса разработки игр.

- Повышение эффективности процесса разработки.

4. Характеристики объекта информатизации

4.1. Краткие сведения об объекте информатизации или ссылки на документы, содержащие такую информацию

Объектом информатизации является процесс разработки игр для персональных компьютеров и мобильных устройств.

4.2. Сведения об условиях эксплуатации объекта информатизации

Приложение «НЕ СКАЖУ, ВПИШИ СВОЁ НАЗВАНИЕ» предназначено для использования на персональных компьютерах, ноутбуках на базе ОС Windows и Linux, и мобильных устройствах на базе iOS и Android. Обязательным условием является наличие устройства совместимого с OpenGL и OpenAL

5. Требования к структуре и функционированию системы

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

  • Подсистема обработки и рендеринга графики

    • Модуль создания сцены

    • Модуль рендеринга

    • Модуль оболочки над API OpenGL

  • Подсистема обработки и воспроизведения аудио файлов

    • Модуль оболочки над API OpenAL

  • Подсистема взаимодействия с сервером и базой данных

    • Модуль записи и чтения базы данных

    • Модуль отправка и получение информации с базы данных на сервере

    • Модуль синхронизации локальной базы данных с базой данных на сервере

  • Подсистема взаимодействия с файловой системой

    • Модуль чтения и записи данных на дисковое пространство

  • Подсистема управления программно-аппаратными ресурсами

    • Модуль выделения памяти

    • Модуль очистки памяти

    • Модуль оптимизации памяти

  • Подсистема взаимодействия с устройствами ввода и вывода

    • Модуль чтения с устройств ввода

    • Модуль использования устройств вывода для взаимодействия с пользователем