Тема: Разработка системы автоматической генерации игровых ситуаций на примере RPG-игр
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 9
1.1. Обзор аналогичных систем 9
1.2. Выбор языка программирования 10
1.3. Выводы по разделу 12
2. ПРОЕКТИРОВАНИЕ ИГРОВОЙ СИСТЕМЫ 13
2.1. Определение состава системы 13
2.2. Проектирование подсистемы развития героя 16
2.3. Проектирование подсистемы игрового мира 20
2.4. Проектирование подсистемы игровых состояний 22
2.5. Проектирование подсистемы повествования 23
2.6. Проектирование подсистемы игр-головоломок 26
2.7. Проектирование подсистемы автоматической генерации игровых
ситуаций 28
2.8. Выводы по разделу 36
3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ИГРОВОЙ СИСТЕМЫ 37
3.1. Программная реализация подсистемы развития героя 37
3.2. Программная реализация подсистемы игрового мира 38
3.3. Программная реализация подсистемы игровых состояний 40
3.4. Программная реализация подсистемы повествования 43
3.5. Программная реализация подсистемы игр-головоломок 44
3.6. Программная реализация подсистемы автоматической генерации игровых
ситуаций 46
3.7. Контрольный пример 48
3.8. Выводы по разделу 52
ЗАКЛЮЧЕНИЕ 53
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 55
ПРИЛОЖЕНИЯ 57
ПРИЛОЖЕНИЕ А1 58
ПРИЛОЖЕНИЕ А2 59
ПРИЛОЖЕНИЕ А3 61
ПРИЛОЖЕНИЕ А4 64
ПРИЛОЖЕНИЕ А5 68
ПРИЛОЖЕНИЕ А6 71
ПРИЛОЖЕНИЕ Б1 74
ПРИЛОЖЕНИЕ Б2 76
ПРИЛОЖЕНИЕ Б3 78
ПРИЛОЖЕНИЕ Б4 80
ПРИЛОЖЕНИЕ Б5 84
ПРИЛОЖЕНИЕ Б6 86
📖 Введение
Компьютерные игры используются в различных целях: некоторые видят в видеоиграх лишь средство развлечения или отдыха, другие применяют их для развития интеллекта и логического мышления, а для некоторых компьютерные игры становятся настолько важной частью жизни, что заменяют реальный мир, становясь наркотиком. Также видеоигры разделяются по жанрам: от обычных стрелялок от первого лица до сложных симуляторов.
С точки зрения разработки игровых событий существует 2 основных подхода:
1) Создание игровых событий вручную;
2) Создание систем процедурной генерации событий.
При создании игровых событий вручную, программист самостоятельно задает начальные условия для каждого такого события, а также не ограничивает себя в разнообразии типов игровых событий и условий их выполнения. Например, сложные головоломки с использованием физических законов.
Так как такой способ требует много времени и трудовых ресурсов, то в основном используется в крупнобюджетных игровых проектах ААА - класса, целью которых, в подавляющем большинстве случаев, является повествование, а не игровой процесс.
В случае с использованием систем процедурной генерации события должны создаваться по определённым условиям, а также привязываются к определенным тематикам. Например, генерация случайных имен неигровых персонажей в играх, расположение некоторых игровых объектов в мире, генерация лабиринтов, генерация миров.
Вся сложность данного способа зависит лишь от функционала генератора, поэтому генерации игровых ситуаций чаще всего применяется в независимых проектах, так как удешевляют и ускоряют разработку.
На сегодняшний день все больше разработчиков ориентируются на использование систем генерации. В своем цикле статей о процедурной генерации и ее будущем известный разработчик Марк Джонсон описывает огромное число возможных способов применения систем генерации. Эти статьи и послужили толчком к определению темы выпускной квалификационной работы.
На основе изложенных данных была поставлена цель: разработка системы автоматической генерации игровых ситуаций на примере RPG-игр.
Исходя из поставленной цели, были сформулированы следующие задачи:
1) Исследование существующих аналогов, и выявление их достоинств и недостатков;
2) Проектирование основных игровых подсистем;
3) Разработка игры, для демонстрации спроектированных игровых подсистем;
4) Демонстрация контрольного примера.
✅ Заключение
Выполнение работы было разделено на 3 раздела:
1) Анализ предметной области.
В ходе выполнения этого раздела были определены системы- конкуренты. Результат сравнения систем был продемонстрирован в виде таблицы (Таблица 1). На основе сравнения была четко определена проблема для ее дальнейшего решения. Далее был проведен анализ языков программирования. По его результатам было решено использовать язык программирования С#, а для, того чтобы упрощения разработки базовых компонентов был использован фреймворк MonoGame.
2) Проектирование игровой системы.
В ходе выполнения данного раздела были определены все основные компоненты подсистемы и выполняемые ими функции. Результатом их проектирования стал набор диаграмм (диаграмма прецедентов, структурная диаграмма взаимодействия, диаграмма игровых состояний, диаграмма взаимодействия объектов игрового мира) и блок схем (блок-схема алгоритма генерации точек входа и блок-схемы алгоритмов генерации стартовых позиций игр-головоломок).
3) Программная реализация игровой системы.
В ходе выполнения раздела были реализованы на языке C# и описаны все подсистемы. В результате были представлены диаграммы классов, описывающие подсистемы. Были раскрыты преимущества реализации для подсистемы игровых состояний, подсистемы игрового мира, подсистемы игр- головоломок. Для подсистемы генерации игровых ситуаций также были представлен листинг программы (приложение Б). Для подтверждения работоспособности игровой системы был продемонстрирован контрольный пример. Разработанная игровая система обладает большой гибкостью и способна к дальнейшему расширению.
В ходе выполнения выпускной квалификационной работы были продемонстрированы навыки, полученные в ходе обучения в Пензенском государственно университете: умение анализировать предметную область с целью выявления проблем для их решения, умение проектировать ПО и пользоваться средствами объектно-ориентированного моделирования в частности унифицированным языком моделирования (UML), умение программировать на объектно-ориентированном языке программирования (в частности C#), умение писать документацию, соответствующую всем необходимым стандартам.





