Загрузил Shaman Channel

Kursovaya rabota Kokenko Unity

СОДЕРЖАНИЕ
1
2
3
4
ВВЕДЕНИЕ
4
Анализ предметной области
5
1.1 Анализ предметной области
5
1.2 Определение задачи
9
Проект программного обеспечения
9
2.1Контекстная диаграмма
10
2.2 Иерархия исполнитель-роль
11
2.3 Диаграмма прецедентов
12
2.4 Концептуальная модель базы данных
12
Прикладной проект
13
3.1 Проектирование интерфейса
13
3.2 Обоснование выбора инструментария
15
Результаты разработки
19
4.1 Дизайн проекта
19
ЗАКЛЮЧЕНИЕ
24
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
25
ПРИЛОЖЕНИЕ А – листинг проекта
26
ПРИЛОЖЕНИЕ B – руководство пользователя
39
КП 09.02.03.22.15.01 ПЗ
Изм
Лист
Разраб.
Провер.
Утв.
№ докум.
Сергеев Н.С.
Зинченко К.Л.
Ионова И.В.
Подпись Дата
Лит
Разработка и создание аркадной игры с
помощью технологии Unity
Лист
Листов
3
ГОУ СПО ЛНР
«АКИТЭ»
2ПКС-19
ВВЕДЕНИЕ
Со временем эволюции людей, развивались и технологии, так настольные
игры перешли в игровые автоматы с визуальные показом на экране, теперь же
наступило время, когда любой человек со знанием программирования может сам
создать
игру.
Это
является
очень
прибыльным
бизнесом,
повсеместное
финансирование в компании по созданию видео игр обеспечивает всех
сотрудников
неплохим
капиталом.
Разработка
игр
специализируются
на
определенных жанрах, компании проводят анализ рынка, в котором вычисляют
самый
востребованный
жанр
игр,
целях
получения
больше
денежного
вознаграждения.
Unity — это самая популярная в мире платформа разработки игр, ведь на ней
создано более 50% всех мобильных игр, 60% всего контента для дополненной и
виртуальной реальности, а Unity-разработчик — это седьмая по росту
популярности профессия согласно недавнему отчету LinkedIn U.S. EmergingJobs.
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
4
1. Анализ предметной области
Анализ предметной области – это деятельность, направленная на выявление
реальных потребностей заказчика, а также на выяснения смысла высказанных
требований, называется анализом предметной области. Анализ предметной
области  это первый шаг этапа системного анализа, с которого начинается
разработка программной системы. Разработчики должны научиться

понимать язык, носителем которого является заказчик;

выявить цели их деятельности;

определить набор решаемых ими задач;

определить набор сущностей, с которыми приходится иметь дело при
решении этих задач.
1.1
Анализ предметной области
Кто такой разработчик видеоигр?
Разработчик игр – это современная востребованная специальность. Она
привлекает тех, кто любит игры во всех проявлениях, и тех, кто хочет развиваться
в сфере, не теряющей актуальность вот уже 20 лет. Секрет специальности в том,
что чистых разработчиков не существует, но есть много направлений, которые
один человек прекрасно совмещает.
Создание игр (game development) – мощная индустрия, ориентированная на
выпуск новых игр для разных движков и платформ, в виде приложений для ПК,
смартфона или социальной сети. Геймдевелопер – человек, занятый в этой сфере.
Однако это общее понятие, включающее в себя массу узких специализаций. Дадим
краткое описание видов разработчиков игр:
 Gameplay developer продумывает общую концепцию и механику в
тесном контакте с 3D-аниматорами и гейм-дизайнерами.
 Engine developer работает над созданием специальных шаблонов –
утилит и тулзов, благодаря которым другие специалисты быстро
решают свои задачи.
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
5
 Animation developer отвечает за визуальную сторону новой игры. Он
создает фоны, пейзажи, костюмы и внешний вид персонажей,
инструменты и.
 DevOps developer обеспечивает комфорт пользователей, использующих
для игры сторонние сервисы, например, Battle.net и Ubisoft.
 UI и Client developers занимаются всеми элементами за пределами
игрового мира – заставка, меню, переходы между разделами. От них
зависит первое впечатление от игры, а также удобство геймеров в
процессе ее прохождения.
 Graphics programmer отвечает за то, чтобы приложение не предъявляло
слишком высоких требований к устройствам и благодаря этому было
как можно более доступным.
 Back-end developer реализует внутреннюю структуру – сервера,
парсинг, получение данных. От этого специалиста во многом зависит
работоспособность игры.
Общий набор обязанностей разработчика игр
Работа разработчика игр подразумевает решение целого ряда смежных задач,
а бывает, что над одним сложным компонентом игры одновременно работают
несколько профессионалов. Основными направлениями в гейм-девелопменте
являются:
 программирование;
 создание персонажей и продумывание сценариев их взаимодействия;
 подбор и интеграция визуальных и звуковых эффектов;
 проработка функционала игры;
 внедрение плагинов и SDK для рекламы, аналитики, контроля
соблюдения правил и т. д.;
 оптимизация кодов по скорости работы и требовательности.
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
6
1.2
Определение задачи
Основными целями данного курсового проекта является:
 Создание механики передвижения для персонажа;
 Создание кнопки взаимодействия с предметами;
 Создание первоначальной локации;
 Внести модели с оружием в игру;
 Создать ИИ-врагов.
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
7
2 Проект программного обеспечения
Проектирование программного обеспечение  процесс создания проекта
программного обеспечения (ПО), а также дисциплина, изучающая методы
проектирования. Проектирование ПО является частным случаем проектирования
продуктов и процессов.
Целью проектирования является определение внутренних свойств системы и
детализации её внешних (Видимых) свойств на основе выданных заказчиком
требований к ПО (Исходные условия задачи). Эти требования подвергаются
анализу.
Проектирование
ПО
включает
в
себя
следующие
основные
виды
деятельности:
1)
Выбор метода и стратегии решения;
2)
Выбор представления внутренних данных;
3)
Разработка основного алгоритма;
4)
Документирование ПО;
5)
Тестирование и подборов тестов;
6)
Выбор представленных входных данных;
2.1 Контекстная диаграмма
Контекстная диаграмма – это диаграмма, расположенная на вершине
древовидной структуры диаграмм, представляющая собой самое общее описание
системы и ее взаимодействие с внешней средой (Как правильно, здесь описывается
основное назначение моделируемого объекта).
Контекстная диаграмма состоит из одного блока, описывающего функцию
верхнего уровня, ее входа, выходы, управления, и механизмы, вместе с
формулировками цели модели и точками зрения, с которой строится модель.
В ходе выполнения раздела 2.1 было описано в контекстной диаграмме
взаимодействие пользователя и видеоигры «BublinShot». (Рисунок 2.1.1).
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
8
Рисунок 2.1.1 – контекстная диаграмма
2.2 Иерархия исполнитель-роль
Иерархия исполнитель-роль  вид диаграммы, в которой описываются роли,
которые могут принимать пользователи системы. Роли внутри иерархии влияют на
доступ к основным компонентам (Например, записи и отчеты).
На данном рисунке показано, что пользователь ПК равен пользователю
видеоигры который взаимодействует с игрой.
Рисунок 2.2.1 – Иерархия исполнитель-роль
2.3 Диаграмма прецедентов
Прецедент  спецификация последовательностей действий (варианты
последовательностей и ошибочные последовательности) в Унифицированном
языке моделирования (UML), которые может осуществлять система, подсистема
или класс, взаимодействуя с внешними действующими лицами.
Диаграмма вариантов использования UML диаграмма, отражающая
отношения между актёрами и прецедентами, являются составной частью модели
прецедентов,
позволяющей
описать
систему
на
концептуальном
уровне.
Прецедент  возможность моделируемой системы (часть её функциональности),
благодаря которой пользователь может получить конкретный, измеримый и
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
9
нужный ему результат. Прецедент соответствует отдельному сервису системы,
определяет один из вариантов её использования и описывает типичный способ
взаимодействия пользователя с системой. Варианты использования обычно
применяются для спецификации внешних требований к системе.
В ходе анализа предметной области и постановки задачи были определенны
функции, которые должны выполнять разрабатываемая видеоигра (Рисунок 2.3.1).
Рисунок 2.3.1 - Диаграмма прецедентов
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
10
Прикладной проект
3.
Прикладной проект это такой проект, который приближен или полностью
совпадает с настоящим научным исследованием. Поэтому должны быть
определены объект и предмет исследования, задачи исследования, выбраны
методы исследования, выдвинуты гипотезы решения проблемы. На завершающем
этапе происходит обсуждение полученных результатов, соответствующим образом
оформленных,
а
также
выдвигаются
новые
проблемы
для
дальнейших
исследований.
3.1 Проектирование интерфейса
Одним из важнейших этапов разработки программы  это интерфейс,
поскольку от него будет зависеть удобство при использовании данных программы,
дизайн, навигация по программе. В ходе разработки программы было решено
создать простой интерфейс для облегчения работы администратора. Для этого в
программе я использовал такие компоненты как:
3.2 Обоснование выбора инструментария
Unity
Unity – больше, чем движок, это среда для разработки компьютерных игр, в
которой объединены различные программные средства, используемые при
создании ПО – текстовый редактор, компилятор, отладчик и так далее. При этом,
благодаря удобству использования, Unity делает создание игр максимально
простым и комфортным, а мультиплатформенность движка позволяет игроделам
охватить как можно большее количество игровых платформ и операционных
систем. Логотип Unity показан на рисунке 3.2.1.
Рисунок 3.2.1 – Программное обеспечение «Unity».
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
11
Чем хорош Unity?
В первую очередь, как мы уже упоминали, движок Unity3D дает
возможность разрабатывать игры, не требуя для этого каких-то особых знаний.
Здесь используется компонентно-ориентированный подход, в рамках которого
разработчик создает объекты (например, главного героя) и к ним добавляет
различные компоненты (например, визуальное отображение персонажа и способы
управления им).
Благодаря удобному Drag & Drop интерфейсу и функциональному
графическому редактору движок позволяет рисовать карты и расставлять объекты
в реальном времени и сразу же тестировать получившийся результат.
Второе преимущество движка – наличие огромной библиотеки ассетов и
плагинов, с помощью которых можно значительно ускорить процесс разработки
игры. Их можно импортировать и экспортировать, добавлять в игру целые
заготовки – уровни, врагов, паттерны поведения ИИ и так далее. Никакой возни
с программированием.
Многие ассеты доступны бесплатно, другие предлагаются за небольшую
сумму, и при желании можно создавать собственный контент, публиковать его в
Unity Asset Store и получать от этого прибыль.
Третья сильная сторона Unity 3D – поддержка огромного количества
платформ, технологий, API. Созданные на движке игры можно легко портировать
между ОС Windows, Linux, OS X, Android, iOS, на консоли семейств PlayStation,
Xbox, Nintendo, на VR- и AR-устройства.
Unity поддерживает DirectX и OpenGL, работает со всеми современными
эффектами рендеринга, включая новейшую технологию трассировки лучей в
реальном времени.
Физика твердых тел, ragdoll и тканей, система Level of Detail, коллизии
между объектами, сложные анимации – все это можно реализовать силами движка.
Стереотипное
мнение
о
том,
что
движок
пригоден
только
для
небольших инди-игр и неспособен выдавать красивую картинку, давно уже не
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
12
актуально: достаточно посмотреть технодемо ADAM, The Blacksmith и Book of the
Dead от создателей среды Unity, чтобы убедиться в ее выдающихся способностях.
Наконец, Unity доступен бесплатно, что открывает перед независимыми
разработчиками дверь в игровую индустрию. Конечно, существуют ограничения:
бесплатная версия движка демонстрирует лого Unity перед запуском игры, а
проект, созданный с ее помощью, не должен приносить разработчику больше $100
тысяч в год.
Впрочем, тарифы на подписку не опустошат кошельки даже начинающей
команды: Про-версия стоит $150 в месяц, что не так уж много в сравнении с
другими движками, причем базовая версия содержит ровно тот же функционал,
что и профессиональная.
Чем плох Unity?
При всех своих достоинствах, движок имеет и свои недостатки. Так, если
команда
захочет
разработать
что-нибудь
сложнее
простого кликера или платформера, то ей придется искать хорошего программиста
на C#, который напишет скрипты и компоненты, внедрит их в игру и заставит
работать.
Из этого вытекает другая проблема движка Unity – медлительность.
Создание масштабных, сложных сцен с множеством компонентов может негативно
повлиять на производительность игры, в результате чего разработчикам придется
потратить дополнительное время и ресурсы на оптимизацию, а возможно – и
удаление некоторых элементов из проекта.
Кроме того, приложения, созданные на Unity, довольно «тяжеловесны»: даже
самая простая пиксельная игра может занимать несколько сотен мегабайт на ПК.
Да, для жесткого диска компьютеров это небольшой объем, но, если проект
разрабатывается и для мобильных платформ, следует задуматься об оптимизации
его размера.
Visual Studio 2022
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
13
Microsoft Visual Studio — линейка продуктов компании Microsoft,
включающих интегрированную среду разработки программного обеспечения и ряд
других инструментальных средств. Данные продукты позволяют разрабатывать
как консольные приложения, так и приложения с графическим интерфейсом, в том
числе с поддержкой технологии Windows Forms, а также веб-сайты, вебприложения, веб-службы как в родном, так и в управляемом кодах для всех
платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET
Framework, Xbox, Windows Phone, Android, IOS, .NET Compact Framework и
Silverlight. Поддерживает следующие языки: Visual Basic, C++, C#, F#. Логотип
Visual Studio 2022 показан на рисунке 3.2.2.
Рисунок 3.2.2 – Программное обеспечение «Visual Studio 2022».
Что же умеет Visual Studio?

IntelliSense.
Технология
автодополнения
Microsoft.
Дописывает
название функции при вводе начальных букв. Кроме прямого назначения,
IntelliSense используется для доступа к документации и для устранения
неоднозначности в именах переменных, функций и методов, используя рефлексию.

Code Anilizer. Функционал, который помогает найти ошибки в коде.
Совмещён с IntelliSense, тем, что все ошибки, уведомления, потенциальные
ошибки подсвечиваются. Также вся эта информация отображается в окне "Error
List".

Perfomance Analizer. Инструмент, отображающий затраты ресурсов при
работе приложения/сервиса в виде статистики и графиков.

Test Manager. Встроенный менеджер тестов. После создания теста
можно с помощью специального окна запускать и настраивать тесты.
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
14

Extension/Updates
Manager.
Менеджер
плагинов,
адаптеров,
провайдеров. Позволяет легко найти, установить, обновить любое дополнение.

Nuget. Система управления пакетами для платформ разработки
Microsoft, в первую очередь библиотек .NET Framework. Управляется .NET
Foundation. Удобная установка библиотек в любой .Net проект.

Git Manager. Встроенный менеджер контроля версий. Изначально
работал только с Team Foundation Server. Сейчас можно подключить Team Explorer
(Название менеджера) к любому репозиторию. Присутствуют все необходимые
функции для работы с git без запросов.

Archivator. Архиватор проектов. После того, как проект готов, нужно
собрать исполняемый файл. Для каждой технологии реализован свой архиватор.
Не нужно устанавливать отдельный софт, чтобы сделать установочник.

File Manager. Для добавления нового файла в проект существует
встроенный менеджер файлов. Удобное создание любых файлов на основе
шаблонов. Реализовано большое количество стандартных шаблонов (Пример:
класс). Также можно добавлять свои. При установке новой технологии добавляются соответствующие шаблоны.

Views. Большое количество различных вкладок для отображения
различной полезной информации, вроде списка "GOTO", или отображения данных
объекта в Debug режиме.

Customization. Возможность изменить внешний вид Visual Studio под
себя. Изменения цветов, темы, шрифтов, отступов и т.д. Расположение окон в
удобном вам виде.

Setting.
Настройка
всего
выше
перечисленного
функционала.
Настройка быстрых клавиш, уведомлений, быстрый запуск, стартового окна,
вкладок, разметки языков и много другого
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
15
4.
Результаты разработки
4.1 Дизайн проекта
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
16
ЗАКЛЮЧЕНИЕ
В
ходе
данного
курсового
проекта
была
разработана
видеоигрa
«Game_Name_Arcade».
.
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
17
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
Лист
Изм. Лист
№ докум.
Подпись Дата
КП 09.02.03.22.15.01 ПЗ
18