РАЗРАБОТКА ИГРОВОЙ ПЛАТФОРМЫ «RS ENGINE»
|
ГЛОССАРИЙ 6
ВВЕДЕНИЕ 9
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 12
1.1. Обзор аналогичных проектов 12
1.2. Постановка задачи 14
1.3. Обзор существующих средств реализации 15
Вывод 18
2. ПРОЕКТИРОВАНИЕ ПРОГРАММНОЙ СИСТЕМЫ 19
2.1. Определение требований 19
2.2. Варианты использования системы 20
2.3. Архитектура программной системы 21
Вывод 34
3. РЕАЛИЗАЦИЯ ПРОГРАММНОЙ СИСТЕМЫ 35
3.1. Инструменты, использованные при реализации 35
3.2. Файловая структура 35
3.3. Реализация графического модуля 36
3.3.1. Модель освещения 36
3.3.2. Особенности реализации модели освещения 38
3.3.3. Модель затенения 40
3.3.4. Техника освещения и затенения 42
3.3.5. Техника построения кадра 46
3.4. Реализация звукового модуля 51
3.5. Реализация физического модуля 56
3.6. Реализация пользовательского интерфейса 59
3.6.1. Консольный интерфейс 59
3.6.2. Графический интерфейс 59
3.7. Реализация сетевого взаимодействия 60
3.8. Реализация игрового модуля 62
3.8.1. Реализация игровой карты 62
3.8.2. Реализация сетевой синхронизации между клиентом и сервером .... 66
3.8.3. Дополнительные возможности для разработки игры на игровой
платформе 68
3.9. Реализация демонстрационной игры на разработанной игровой платформе 69
Вывод 72
4. ТЕСТИРОВАНИЕ 73
4.1. Функциональное тестирование 73
4.1.1. Тестирование возможности управления настройками графики 73
4.1.2. Тестирование возможности запуска игрового клиента 78
4.1.3. Тестирование возможности запуска игрового сервера 78
4.1.4. Тестирование возможности управления игровым клиентом 79
4.1.5. Тестирование возможности управления игровым сервером 82
4.1.6. Тестирование возможности изменения настроек звука 83
Вывод 83
ЗАКЛЮЧЕНИЕ 84
СПИСОК ЛИТЕРАТУРЫ 86
ВВЕДЕНИЕ 9
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 12
1.1. Обзор аналогичных проектов 12
1.2. Постановка задачи 14
1.3. Обзор существующих средств реализации 15
Вывод 18
2. ПРОЕКТИРОВАНИЕ ПРОГРАММНОЙ СИСТЕМЫ 19
2.1. Определение требований 19
2.2. Варианты использования системы 20
2.3. Архитектура программной системы 21
Вывод 34
3. РЕАЛИЗАЦИЯ ПРОГРАММНОЙ СИСТЕМЫ 35
3.1. Инструменты, использованные при реализации 35
3.2. Файловая структура 35
3.3. Реализация графического модуля 36
3.3.1. Модель освещения 36
3.3.2. Особенности реализации модели освещения 38
3.3.3. Модель затенения 40
3.3.4. Техника освещения и затенения 42
3.3.5. Техника построения кадра 46
3.4. Реализация звукового модуля 51
3.5. Реализация физического модуля 56
3.6. Реализация пользовательского интерфейса 59
3.6.1. Консольный интерфейс 59
3.6.2. Графический интерфейс 59
3.7. Реализация сетевого взаимодействия 60
3.8. Реализация игрового модуля 62
3.8.1. Реализация игровой карты 62
3.8.2. Реализация сетевой синхронизации между клиентом и сервером .... 66
3.8.3. Дополнительные возможности для разработки игры на игровой
платформе 68
3.9. Реализация демонстрационной игры на разработанной игровой платформе 69
Вывод 72
4. ТЕСТИРОВАНИЕ 73
4.1. Функциональное тестирование 73
4.1.1. Тестирование возможности управления настройками графики 73
4.1.2. Тестирование возможности запуска игрового клиента 78
4.1.3. Тестирование возможности запуска игрового сервера 78
4.1.4. Тестирование возможности управления игровым клиентом 79
4.1.5. Тестирование возможности управления игровым сервером 82
4.1.6. Тестирование возможности изменения настроек звука 83
Вывод 83
ЗАКЛЮЧЕНИЕ 84
СПИСОК ЛИТЕРАТУРЫ 86
Актуальность
В настоящее время компьютерные игры стали неотъемлемой частью жизни большого количества людей. Игровая индустрия распространилась практически по всему миру и продолжает набирать рост [14, 15]. На начальном этапе ее развития разработчики при создании новой игры проектировали и реализовывали полностью все необходимые модули программного приложения, что приводило к дополнительным затратам, усложняло и замедляло процесс разработки. Однако уже в 90х годах прошлого столетия начали появляться игровые платформы, позволившие решить эти проблемы и упростить разработку видеоигр [5, 7].
В данный момент игровые платформы (например, Unity 3D [36], Unreal Engine [37] и Cry Engine [31]) обрели большую популярность среди разработчиков игр и широко используются в игровой индустрии [3], что показывает востребованность в таком инструменте при разработке игр. Современные игровые платформы позволяют достичь высокой эффективности в производстве игр в силу своей гибкости и возможности предоставить разработчикам все необходимые инструменты и механизмы для конструирования игровых приложений [13]:
- графические визуализаторы;
- физические модули;
- звуковые библиотеки;
- устройства анимации;
- интерпретаторы скриптов;
- искусственный интеллект;
- сетевые алгоритмы;
- другие существенно важные компоненты [16].
Большинство из популярных платформ имеют поддержку кроссплат- форменности, что предусматривает возможность выпускать игры на множество операционных систем и устройств [1].
Таким образом, разработка игровой платформы как инструмента для разработчиков игр является актуальной задачей на сегодняшний день.
Цели и задачи
Целью работы является разработка игровой платформы «RS Engine», а также создание демонстрационной игры на базе данной игровой платформы.
Для достижения поставленной цели необходимо выполнить следующие задачи:
1) провести обзор аналогичных решений и осуществить постановку задачи;
2) провести обзор средств реализации;
3) провести анализ требований и спроектировать игровую платформу;
4) реализовать игровую платформу и демонстрационную игру на ее базе;
5) провести тестирование реализованной игровой платформы и демонстрационной игры.
Структура и объем работы
Работа состоит из введения, четырех глав, заключения и библиографического списка. Объем работы составляет 89 страниц, объем библиографии - 45 источников.
Краткое содержание работы
Введение состоит из трех частей: «Актуальность», «Цели и задачи работы» и «Структура и объем работы».
В первой главе проведен обзор аналогов, проведена постановка задачи и проведен обзор программных средств реализации.
Во второй главе определены функциональные и нефункциональные требования к разрабатываемой программной системе, сформирована диаграмма вариантов использования, а также спроектирована архитектура при помощи диаграмм классов и компонентов.
В третьей главе описывается реализация модулей игровой платформы, а также разработанной игры на ее базе.
Четвертая глава посвящена тестированию разработанной игровой платформы.
В заключении описаны результаты, полученные в ходе выполнения работы, а также рассмотрены перспективы дальнейшего развития игровой платформы.
В настоящее время компьютерные игры стали неотъемлемой частью жизни большого количества людей. Игровая индустрия распространилась практически по всему миру и продолжает набирать рост [14, 15]. На начальном этапе ее развития разработчики при создании новой игры проектировали и реализовывали полностью все необходимые модули программного приложения, что приводило к дополнительным затратам, усложняло и замедляло процесс разработки. Однако уже в 90х годах прошлого столетия начали появляться игровые платформы, позволившие решить эти проблемы и упростить разработку видеоигр [5, 7].
В данный момент игровые платформы (например, Unity 3D [36], Unreal Engine [37] и Cry Engine [31]) обрели большую популярность среди разработчиков игр и широко используются в игровой индустрии [3], что показывает востребованность в таком инструменте при разработке игр. Современные игровые платформы позволяют достичь высокой эффективности в производстве игр в силу своей гибкости и возможности предоставить разработчикам все необходимые инструменты и механизмы для конструирования игровых приложений [13]:
- графические визуализаторы;
- физические модули;
- звуковые библиотеки;
- устройства анимации;
- интерпретаторы скриптов;
- искусственный интеллект;
- сетевые алгоритмы;
- другие существенно важные компоненты [16].
Большинство из популярных платформ имеют поддержку кроссплат- форменности, что предусматривает возможность выпускать игры на множество операционных систем и устройств [1].
Таким образом, разработка игровой платформы как инструмента для разработчиков игр является актуальной задачей на сегодняшний день.
Цели и задачи
Целью работы является разработка игровой платформы «RS Engine», а также создание демонстрационной игры на базе данной игровой платформы.
Для достижения поставленной цели необходимо выполнить следующие задачи:
1) провести обзор аналогичных решений и осуществить постановку задачи;
2) провести обзор средств реализации;
3) провести анализ требований и спроектировать игровую платформу;
4) реализовать игровую платформу и демонстрационную игру на ее базе;
5) провести тестирование реализованной игровой платформы и демонстрационной игры.
Структура и объем работы
Работа состоит из введения, четырех глав, заключения и библиографического списка. Объем работы составляет 89 страниц, объем библиографии - 45 источников.
Краткое содержание работы
Введение состоит из трех частей: «Актуальность», «Цели и задачи работы» и «Структура и объем работы».
В первой главе проведен обзор аналогов, проведена постановка задачи и проведен обзор программных средств реализации.
Во второй главе определены функциональные и нефункциональные требования к разрабатываемой программной системе, сформирована диаграмма вариантов использования, а также спроектирована архитектура при помощи диаграмм классов и компонентов.
В третьей главе описывается реализация модулей игровой платформы, а также разработанной игры на ее базе.
Четвертая глава посвящена тестированию разработанной игровой платформы.
В заключении описаны результаты, полученные в ходе выполнения работы, а также рассмотрены перспективы дальнейшего развития игровой платформы.
Основные результаты
В рамках выполнения выпускной квалификационной работы была разработана игровая платформа «RS Engine», что достигнуто путем выполнения поставленных задач:
1) проведен обзор аналогичных решений и осуществлена постановка задачи;
2) проведен обзор средств реализации;
3) проведен анализ требований и спроектирована игровая платформа;
4) реализована игровая платформа и демонстрационная игра на ее базе;
5) проведено тестирование реализованной игровой платформы и демонстрационной игры.
Таким образом, разработана игровая платформа, которая позволит разработчикам игр создавать игры с реалистичной трехмерной графикой, звуковыми эффектами, музыкой и симуляцией физических процессов. Также, разработчики смогут реализовать в игре многопользовательский режим на основе клиент-серверной архитектуры. Дополнительно, разработчики смогут воспользоваться модулем пользовательского интерфейса для реализации графического интерфейса в играх на данной игровой платформе. При реализации игровой платформы задействованы технологии, которые позволят создавать и использовать в игровом процессе игровые карты больших размеров, сконструированные с помощью ландшафтов, объектов и водяных объемов. Разрабатывать игры на данной платформе разработчики смогут как с помощью низкоуровневого программирования на языке C++, так и с помощью высокоуровневого программирования на платформе Microsoft .NET на языках C++/CLI и C#. Описанные здесь возможности показаны в игре, разработанной на данной игровой платформе для демонстрации.
Значение работы
В ходе выполнения данной работы был значительно повышен уровень квалификации. Расширены знания языка C++, несколько расширены знания в области программирования на платформе Microsoft .NET. Укреплены знания и получен новый опыт в объектно-ориентированном программировании. Получены знания и опыт в сфере программирования компьютерной графики. Приобретен опыт и знания в сетевом программировании, в программировании звука и физики. Углублены и применены на практике знания в области линейной алгебры и геометрии. Дополнен опыт в сфере разработки игр путем реализации различных игровых алгоритмов.
Перспективы дальнейшего развития
Разработанная игровая платформа имеет различные перспективы для дальнейшего развития. Одним из ее недостатков является сфокусированность на семействе операционных систем Windows. Поскольку при разработке платформы архитектура кода формировалась кроссплатформенной, существует перспектива ее адаптации под другие операционные системы. Дополнительно существует множество перспектив по улучшению графики, физики, звука, сетевой части. Также имеется перспектива внедрения API сервиса цифрового распространения программного обеспечения Steam [42], что позволит распространять игры в данной системе.
В рамках выполнения выпускной квалификационной работы была разработана игровая платформа «RS Engine», что достигнуто путем выполнения поставленных задач:
1) проведен обзор аналогичных решений и осуществлена постановка задачи;
2) проведен обзор средств реализации;
3) проведен анализ требований и спроектирована игровая платформа;
4) реализована игровая платформа и демонстрационная игра на ее базе;
5) проведено тестирование реализованной игровой платформы и демонстрационной игры.
Таким образом, разработана игровая платформа, которая позволит разработчикам игр создавать игры с реалистичной трехмерной графикой, звуковыми эффектами, музыкой и симуляцией физических процессов. Также, разработчики смогут реализовать в игре многопользовательский режим на основе клиент-серверной архитектуры. Дополнительно, разработчики смогут воспользоваться модулем пользовательского интерфейса для реализации графического интерфейса в играх на данной игровой платформе. При реализации игровой платформы задействованы технологии, которые позволят создавать и использовать в игровом процессе игровые карты больших размеров, сконструированные с помощью ландшафтов, объектов и водяных объемов. Разрабатывать игры на данной платформе разработчики смогут как с помощью низкоуровневого программирования на языке C++, так и с помощью высокоуровневого программирования на платформе Microsoft .NET на языках C++/CLI и C#. Описанные здесь возможности показаны в игре, разработанной на данной игровой платформе для демонстрации.
Значение работы
В ходе выполнения данной работы был значительно повышен уровень квалификации. Расширены знания языка C++, несколько расширены знания в области программирования на платформе Microsoft .NET. Укреплены знания и получен новый опыт в объектно-ориентированном программировании. Получены знания и опыт в сфере программирования компьютерной графики. Приобретен опыт и знания в сетевом программировании, в программировании звука и физики. Углублены и применены на практике знания в области линейной алгебры и геометрии. Дополнен опыт в сфере разработки игр путем реализации различных игровых алгоритмов.
Перспективы дальнейшего развития
Разработанная игровая платформа имеет различные перспективы для дальнейшего развития. Одним из ее недостатков является сфокусированность на семействе операционных систем Windows. Поскольку при разработке платформы архитектура кода формировалась кроссплатформенной, существует перспектива ее адаптации под другие операционные системы. Дополнительно существует множество перспектив по улучшению графики, физики, звука, сетевой части. Также имеется перспектива внедрения API сервиса цифрового распространения программного обеспечения Steam [42], что позволит распространять игры в данной системе.
Подобные работы
- Распознавание и классификация объектов по данным
видеопотока на основе технологий дополненной реальности
Дипломные работы, ВКР, информатика. Язык работы: Русский. Цена: 4780 р. Год сдачи: 2016





