
- •Термины
- •1. Актуальность
- •2. Общие сведения
- •3. Назначение и цель создания
- •3.1. Назначение
- •5.2. Требования к функциям (задачам), выполняемым системой
- •5.2.1. Требования к подсистеме обработки и рендеринга графики
- •5.2.2. Требования к системе обработки и воспроизведения аудио файлов
- •5.2.3. Требования к подсистеме взаимодействия с сервером и базой данных
- •5.2.4. Требования к подсистеме взаимодействия с файловой системой
- •5.2.5. Подсистема управления программно-аппаратными ресурсами
- •5.2.6. Требования к подсистеме взаимодействия с устройствами ввода и вывода
- •5.3. Требования к способам и средствам связи для информационного обмена между компонентами системы
- •5.4. Требования к эргономике и технической эстетике
- •5.5. Требования к защите информации от несанкционированного доступа
- •5.6 Перспективы развития, модернизации системы
- •6. Требования к видам обеспечения
- •7. Состав и содержание работ по созданию (развитию) системы
- •8. Ссылки
Федеральное агентство связи
Федеральное государственное образовательное бюджетное учреждение высшего образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А.Бонч-Бруевича»
Факультет «Инфокоммуникационных сетей и систем»
Кафедра «Программной инженерии и вычислительной техники»
Курсовая работа
По теме: «Проектирование игрового движка»
Дисциплина: Проектирование и архитектура программных систем
Студент гр. ИКПИ-93 |
_________________ |
Козлов Н.С.
|
Преподаватель каф. ПИиВТ |
_________________ |
д.т.н., проф. Фомин В. В. |
Санкт-Петербург
2022
Оглавление
Термины
Игровой движок - программное обеспечение, которое расширяемо и может применяться в качестве основы для множества различных игр без значительной модификации [1].
Аутсорсинг - передача организацией на основании договора определённых видов или функций производственной предпринимательской деятельности другой компании, действующей в нужной области.
Рендеринг или Отрисовка - термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы.
API (Application Programming Interface) - описание способов взаимодействия одной компьютерной программы с другими.
1. Актуальность
Игровая индустрия - одна из наиболее актуальных и быстрорастущих отраслей в области цифровых технологий [2]. Не обошла эта отрасль и Российский рынок. По данным источника «Tadviser» [3], по итогам 2021-го года, Россия оказалась в пятёрке по потреблению игрового контента. Тем не менее лишь небольшая часть разработчиков из России занимается производством собственных продуктов в пределах Российского рынка, в то время как большая часть компаний вовлечена в аутсорсинг для компаний из-за рубежа, закономерно работающих с иностранным программным обеспечением.
В связи с этим, в стране почти отсутствуют основные инструменты, такие как игровые движки, для создания подобных продуктов. На мировом рынке представлен лишь Unigine, разрабатываемый Российской компанией, однако тот больше предназначен для разработки различных эмуляторов и сложных инженерных 3D-визуализаций [4], что делает его менее привлекательным для разработчиков на фоне иностранных аналогов.
В Июне 2022-го года, на фоне оттока иностранных компаний, о потребности создания собственных игровых движков заговорили и на уровне государственной думы. Горелкин. А.В, заместитель председателя комитета государственной думы по информационной политике, высказался о приоритетности таковой задачи для поддержания отечественного игрового рынка [5], что подчёркивает актуальность создания собственного игрового движка.
2. Общие сведения
Полное наименования системы: повторно используемая и свободно расширяемая система для разработки компьютерных игр.
Условное обозначение: «НЕ СКАЖУ, ВПИШИ СВОЁ НАЗВАНИЕ»
Плановые сроки начала и окончания работы по созданию системы: 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
Подсистема взаимодействия с сервером и базой данных
Модуль записи и чтения базы данных
Модуль отправка и получение информации с базы данных на сервере
Модуль синхронизации локальной базы данных с базой данных на сервере
Подсистема взаимодействия с файловой системой
Модуль чтения и записи данных на дисковое пространство
Подсистема управления программно-аппаратными ресурсами
Модуль выделения памяти
Модуль очистки памяти
Модуль оптимизации памяти
Подсистема взаимодействия с устройствами ввода и вывода
Модуль чтения с устройств ввода
Модуль использования устройств вывода для взаимодействия с пользователем