0% нашли этот документ полезным (0 голосов)
2 просмотров51 страница

2 Compressed

Документ представляет собой бакалаврскую работу по разработке мобильной игры 'Your Pet' на платформе Unity, выполненную студентом Северо-Восточного федерального университета. В работе рассматриваются теоретические основы разработки видеоигр, выбор средств разработки, проектирование и реализация игры, а также экономическая часть проекта. Основная цель работы заключается в создании качественной мобильной игры с использованием современных технологий.

Загружено:

aiko241220010
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
2 просмотров51 страница

2 Compressed

Документ представляет собой бакалаврскую работу по разработке мобильной игры 'Your Pet' на платформе Unity, выполненную студентом Северо-Восточного федерального университета. В работе рассматриваются теоретические основы разработки видеоигр, выбор средств разработки, проектирование и реализация игры, а также экономическая часть проекта. Основная цель работы заключается в создании качественной мобильной игры с использованием современных технологий.

Загружено:

aiko241220010
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd

Министерство науки и высшего образования Российской Федерации

Федеральное государственное автономное образовательное учреждение


высшего образования
«СЕВЕРО-ВОСТОЧНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ
ИМЕНИ М.К. АММОСОВА»
Институт математики и информатики
Кафедра «Математическая экономика и прикладная информатика»

ДОПУСТИТЬ К ЗАЩИТЕ:

Зав. кафедрой_______Н.Н. Матвеева


Протокол №____ от «___»_____2024 г.

РАЗРАБОТКА МОБИЛЬНОЙ ИГРЫ «YOUR PET»


НА ПЛАТФОРМЕ UNITY
БАКАЛАВРСКАЯ РАБОТА

Направление подготовки: 09.03.03 Прикладная информатика


Направленность (профиль): Прикладная информатика в государственном и
муниципальном управлении

Выполнил(а): студент 4 курса


группы БА-ПИ-20-2 ИМИ СВФУ
Старостина Айкуо Мичиловна
___________________________
подпись

Научный руководитель:
старший преподаватель кафедры
МЭПИ ИМИ
Петров Николай Владимирович
____________________________
подпись

Якутск 2024
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .......................................................................................................... 4

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ ВИДЕОИГР ........ 6

1.1 Исследование понятие игры и история развития видеоигр ................... 6

1.2 Классификация мобильных игр .............................................................. 8

1.2.1 Анализ жанров и графиков развивающихся игр ........................... 8

1.2.2 Развитие жанра симулятор в мобильных играх .......................... 10

ГЛАВА 2. ОБЩИЕ СВЕДЕНИЯ О РАЗРАБОТКЕ МОБИЛЬНЫХ ИГР .... 12

2.1 Выбор средств разработки для мобильного игрового приложения .... 12

2.1.1 Функциональные возможности платформы Unity ...................... 14

2.2 Среда разработки графических объектов ............................................. 15

ГЛАВА 3. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ИГРЫ ......................... 17

3.1 Основная концепция игры ..................................................................... 17

3.2 Установка программного обеспечения Unity и создание проекта ...... 18

3.3 Создание спрайтов объектов и введение их в проект .......................... 19

3.4 Проектирование интерфейса и реализация .......................................... 24

3.4.1 Создание сцены меню................................................................... 24

3.4.2 Создание главной сцены игры ..................................................... 25

3.4.3 Создание звуков в игре ................................................................. 29

3.4.4 Последовательность сцен в игре .................................................. 30

3.5 Функциональное тестирование ............................................................. 31

ГЛАВА 4. ЭКОНОМИЧЕСКАЯ ЧАСТЬ ПРОЕКТА .................................... 32

4.1 Актуальность темы и анализ рынка мобильных игр............................ 32

4.2 Статистика бездомных животных и модель монетизации .................. 33

ЗАКЛЮЧЕНИЕ .................................................................................................. 35
2
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ .......................................... 36

ПРИЛОЖЕНИЕ А .............................................................................................. 39

ПРИЛОЖЕНИЕ Б ............................................................................................... 47

ПРИЛОЖЕНИЕ В .............................................................................................. 48

3
ВВЕДЕНИЕ

Актуальность темы. Тема остается весьма актуальной в современной


игровой индустрии. Мобильные игры продолжают набирать популярность
среди пользователей мобильных устройств, что делает их разработку
востребованной.
За последние несколько десятилетий игровая индустрия пережила
экспоненциальный рост, собрав миллиарды игроков по всему миру.
Мобильные игры стали катализатором инноваций, изменили культурные
нормы и повлияли на различные аспекты жизни общества, выйдя далеко за
рамки своей первоначальной цели – развлечение.
Игры стали охватывать огромную аудиторию по всему миру, появляясь
на различных игровых устройствах. Они стали сложнее и масштабнее:
улучшилась обработка визуального пространства, обработка физики объектов
и искусственный интеллект.
Благодаря различным моделям монетизации, разработка мобильных игр
может быть прибыльным бизнесом. Кроме того, игровая индустрия постоянно
эволюционирует, появляются новые технологии и тренды, что делает эту тему
по–прежнему актуальной для исследования и внедрения инноваций в игровые
проекты.
Объектом исследования является процесс разработки мобильной игры,
включая выбор игровых механик, проектирование игрового процесса,
создание контента и оптимизацию производительности.
Предметом исследования являются технологии разработки мобильных
игр с использованием игрового движка Unity, а также анализ и оптимизация
игрового процесса для достижения высокого качества и производительности.
Целью дипломного проекта является разработка мобильной двумерной
игры на платформе Unity с использованием современных технологий и
методов разработки игрового контента.

4
Задачи:
1. Анализ существующих игровых механик и элементов, определение
оптимальных для проекта.
2. Изучение основных принципов разработки мобильных игр на
игровом движке Unity.
3. Проектирование игрового процесса и интерфейса мобильной игры.
4. Разработка и реализация основного функционала.
5. Проведение функционального тестирования и тестирования на
мобильных устройствах.
Методы исследования – анализ мобильных игр, определение требований
к двумерной игре, выбор игрового движка и среды разработки графических
объектов, проектирование, создание и тестирование игры.
Работа состоит из введения, четырех глав, заключения, списка
использованной литературы и приложений.
В первой главе дается анализ предметной области, основных понятий и
теоретические основы разработки видеоигр.
Во второй главе представлен сравнительный анализ выбора средств для
разработки мобильной игры.
В третьей главе представлена практическая часть работы.
В четвертой главе представлена экономическая часть проекта.
В заключении изложены основные результаты ВКР.
В приложении приведены листинги кода проекта.

5
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ ВИДЕОИГР

1.1 Исследование понятие игры и история развития видеоигр

Компьютерные игры – это интерактивное цифровое развлечение, в


которое можно играть на компьютере или игровой консоли. Они популярны,
потому что предлагают широкий спектр жанров и впечатлений, от
захватывающих приключений до стратегических задач. Вы сможете
погрузиться в разные миры и истории, которые станут отличным способом
отвлечься от реальности [17].
Компьютерные игры делятся на однопользовательские и
многопользовательские. В однопользовательских играх вы играете в
одиночку, преодолевая трудности и сюжетные линии игры. А в
многопользовательских играх вы можете играть с другими игроками или
против них. Многопользовательские игры часто позволяют вам общаться с
друзьями или людьми со всего мира, добавляя социальный и
соревновательный элемент.
Следует отметить, что история компьютерных игр насчитывает
несколько десятилетий и претерпела значительные изменения благодаря
вкладу различных изобретателей. Все началось в конце 1950-х годов, когда
ученые начали экспериментировать с видеоиграми [20]. В 1958 году Уильям
Альфред Хигинботам разработал «Теннис для двоих» — игру, в которую
играют на осциллографе, которая заложила основу для будущих достижений.
В современном мире создание видеоигр является одним из наиболее
крупных сегментов индустрии развлечений. Масштабы игровой индустрии
сопоставимы, например, с киноиндустрией. А по скорости роста за последние
пять лет индустрия видеоигр существенно ее опережала. По степени влияния
на потребителей и вовлеченности их в интерактивное окружение,

6
предлагаемое видеоиграми, этот сегмент уже давно выделяется среди других
видов развлечений.
Очевидно, также что появились соревнования по видеоиграм –
киберспорт [22]. Теперь это целая индустрия со своей собственной
инфраструктурой, финансами и репутацией. Люди соревнуются в навыках,
умственной гибкости, стратегическом мышлении и успешной реализации.
Современный киберспорт находится на пути к признанию в качестве обычного
вида спорта.
Мобильная игра – видеоигра, разработанная для мобильных устройств,
таких как смартфоны, планшеты, портативные игровые консоли и другие (см.
рисунок 1). Согласно источникам, самой ранней известной игрой на
мобильном телефоне был вариант тетриса на устройстве Hagenuk MT–2000дО.

Рисунок 1 – Мобильная игра на телефоне


Ведущими операционными системами для мобильных игр являются
Android, разработанная компанией Google, и iOS от компании Apple [31].
Известно, что Android является самой распространенной мобильной
системой в мире, позволяющая производителям устройств или разработчикам
вносить изменения благодаря открытому исходному коду. Основная
платформа для распространения игр и приложений на Android является Google
Play Store.

7
Что касается iOS, система была разработана компанией Apple, и она
отличается от других ОС своей высокой безопасностью и стабильностью.
Также основная платформа для распространения игр и приложений на iOS
является App Store.
Выбор разработки игры под Android был обусловлен тем, что Android
предоставляет разработчикам больше свободы в создании игр из-за открытого
исходного кода и игру можно распространять бесплатно через APK-файлы,
что упрощает процесс установки для пользователей. В целом, благодаря
большому количеству пользователей, успешные Android-приложения могут
быстро набрать популярность и достичь значительных успехов на рынке.

1.2 Классификация мобильных игр

1.2.1 Анализ жанров и графиков развивающихся игр

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


очень много разных видов жанр. Например, аркады, ролевые игры (RPG),
головоломки, также шутеры и другие.
Ролевая игра (RPG) – это игра, являющаяся одним из жанров
компьютерных игр. Основа игры – играть определенную роль. Игрок
управляет определенным героем, у которого есть свои особенности, навыки и
способности, которые можно изменить даже во время игры. Этот жанр, как
правило, имеет хорошо продуманный сюжет и мир, что касается сюжета, он
часто представлен множеством диалогов и заданий [21].
Экшн (от английского action) – жанр игры, состоящая в основном из сцен
драк и перестрелок. Есть также похожий жанр кино – боевики. Действие в
основном посвящено играм-стрелялкам, в которые нужно стрелять, например,
ряд игр Call of Duty. Если вам приходится сражаться в основном в ближнем

8
бою, вам обычно приходится сражаться 1 на 1, как в Mortal Kombat, и аркадная
игра, в которой вам сначала нужно прыгать и уклоняться.
Жанр симулятор. В подобных играх используются имитируемые
объекты, автомобили, вертолеты и другие. Иногда моделирование может быть
выполнено настолько хорошо, что симуляторы самолетов и вертолетов
характеризуются очень сложным управлением, которое может включать
практически всю клавиатуру. Таким образом, более половины
среднестатистических пользователей не могут освоить игру каким-либо
фундаментальным образом, что, конечно, отрицательно сказывается на ее
популярности.
Игровая графика в 2D и 3D относится к различным способам
визуализации объектов с использованием компьютерной графики. Опишем
краткое описание каждого из них:
2D–графика представляет собой раздел компьютерной графики,
который работает с изображениями, созданными в двумерном пространстве, в
котором имеются только 2 параметра: ширина и высота. Эту графику еще
часто называют плоским изображением [2].
3D–графика, ее объект – это изображение, созданное в трехмерном
пространстве с шириной, высотой и глубиной.
Дополнительные различия двух графиков:
1. 2D–игра происходит в прямом линейном движении. Даже если ваш
персонаж бежит в разных направлениях, вы в конечном итоге
доведете его до конечной точки (например, игра Супер Марио).
Развитие персонажа происходит за счет изменений, внесенных на
весь экран. В отличие от 2D–игр, 3D–игры имеют более глубокую
графику, которая позволяет персонажам перемещаться свободно и
без ограничений. Это делает игру более увлекательной и настоящей.
2. Двумерное игровое поле имеет плоский размер и состоит из одного
слоя. Это единственное место, где ваш персонаж может двигаться и

9
взаимодействовать. Тем временем 3D–графика многослойна. Таким
образом, трехмерная среда визуально привлекательна. Трехмерный
мир позволяет вам глубоко погрузиться в игровой мир.
3. Поскольку создание 3D–игр – это сложный процесс, он требует
больше времени и затрат, чем создание 2D–игр. Управление
организацией данных, инструментами проектирования и
математикой намного сложнее и утомительнее, чем в 2D–играх. При
создании 3D–среды нужно действовать осторожно, шаг за шагом,
особенно когда речь идет о физике [2]. Одна ошибка заключается в
том, что ваш персонаж может застрять в этом мире либо же
исчезнуть без следа.
4. Графика. 3D–игра имеет невероятно красивую и проделанную
графику. Чтобы создать такую игру, обычно входит большая
команда разработчиков, включая специалистов в области
изобразительного искусства, художников по свету, анимации,
текстурам и уровням, а также разработчиков 3D–моделей.
Разработчикам необходимо заполнить плоскую палитру фоном и
анимированной графикой в трехмерной среде.

1.2.2 Развитие жанра симулятор в мобильных играх

Первый игровой симулятор появился в 1973 году. Этот симулятор


назывался «Spasim» (Космический симулятор) [23]. Игра была разработана
Джимом Бауэри. Spasim – это многопользовательская игра, в которой могут
разместиться до 32 человек. Игровой процесс игры выглядит следующим
образом: игрок управляет космическим кораблем и перемещается в
виртуальном пространстве. Корабли в игре двигались в полярных
координатах, поэтому игроку приходилось вычислять правильные
координаты для последующих ходов.
10
Среди других известных симуляторов был Flight Unlimited (1995). Он
включал в себя карту, среду, самолет, пользовательский интерфейс. Это была
полноценная среда для симулятора полета, которую вы могли полностью
настроить.
Также не менее интересная история создания тамагочи [24]. Тамагочи
впервые появился в 1996 году. Первоначально это была игра для Nintendo
Gameboy Advance. Картридж был оснащен памятью EEPROM, маломощным
процессором, динамиками и часами. Фактически, виртуальный питомец в это
время находился внутри картриджа. Если владелец какое–то время не
подключался к консоли, то у питомца был риск заболеть или умереть, и об
этом сообщали встроенные динамики.
Затем началось производство недорогих отдельных модулей, которые
представляли собой самодостаточную игру. Особенно популярным являлось
именно это решение. Только в первые годы после его появления было
официально произведено более 4000 миллионов игрушек тамагочи. Помимо
официальных, были произведены миллионы поддельных копий, зачастую это
были китайской продукции.
По итогу смысл игры состоит в том, чтобы интерактивно наблюдать за
жизнью питомца от вылупления до его смерти. Еще в первой версии была
заложена основа игры: питомца можно было кормить, играть, следить за
состоянием здоровья, убираться за ним.
Сейчас прошло достаточно много времени, игровая индустрия и
технологии сделали большой скачок вперед. С развитием технологий
функциональность симулятора улучшилась. Они могут легко обрабатывать
большие игровые площадки, отображать графику на невероятных уровнях и
даже воспроизводить реалистичные физические модели.

11
ГЛАВА 2. ОБЩИЕ СВЕДЕНИЯ О РАЗРАБОТКЕ МОБИЛЬНЫХ ИГР

2.1 Выбор средств разработки для мобильного игрового приложения

Основной способ разработки игр основан на низкоуровневом описании


физики игры, правилах построения графики и использования графических
редакторов для отрисовки [12].
Основным инструментом разработки компьютерных игр является
игровой движок. Игровой движок сразу включает в себя все алгоритмы,
необходимые для правильного функционирования и развития игры.
В настоящее время существует множество различных игровых движков.
Основное различие между ними заключается в поддерживаемых языках
программирования, в функциональных возможностях и в стоимости лицензии.
При выборе среды разработки основное внимание уделялось этим параметрам.
Одним из самых известных из них является Unity, логотип которого
представлен рисунке 2.

Рисунок 2 – Логотип Unity

Unity – это межплатформенная среда разработки компьютерных игр,


разработанная американской компанией Unity Technologies. Unity [3]
позволяет создавать приложения, работающие на более чем 25 различных
платформах, включающих персональные компьютеры, игровые консоли,
мобильные устройства, интернет–приложения и другие. Выпуск Unity
состоялся в 2005 году и с того времени идёт постоянное развитие.

12
Unity известен своим удобным и понятным интерфейсом, что очень
важно для начинающих разработчиков, а также обеспечивает хорошую
производительность. Не менее важно то, что он предлагает бесплатную
версию для малых разработчиков.
Godot Engine – открытый кроссплатформенный 2D и 3D–игровой
движок под лицензией MIT, который разрабатывается сообществом Godot
Engine Community [8], логотип которого представлен на рисунке 3. До
публичного релиза в виде открытого ПО движок использовался внутри
некоторых компаний Латинской Америки. Среда разработки запускается на
Android, HTML5, Linux, macOS, Windows, BSD и Haiku и может
экспортировать игровые проекты на ПК, консоли, мобильные и веб–
платформы.
Задача Godot быть максимально интегрированной и самодостаточной
средой для разработки игр. Среда позволяет разработчикам создавать игры с
нуля, не пользуясь более никакими инструментами, за исключением тех,
которые необходимы для создания игрового контента.
Общая архитектура движка построена вокруг концепции дерева из
наследуемых «сцен». Каждый элемент сцены (нода), в любой момент сам
может стать полноценной сценой. Поэтому при разработке можно легко
изменять полностью всю архитектуру проекта.

Рисунок 3 – Логотип GODOT

Unreal Engine – игровой движок, разрабатываемый и поддерживаемый


компанией Epic Games, логотип которого представлен на рисунке 4. Первой

13
игрой на этом движке был шутер от первого лица Unreal [10], выпущенный в
1998 году. Хотя движок первоначально был предназначен для разработки
шутеров от первого лица, его последующие версии успешно применялись в
играх самых различных жанров, в том числе стелс–играх, файтингах,
массовых многопользовательских ролевых онлайн–играх и многих других.
Движок написан на языке C++ и предоставляет возможность разработки игр
для широкого спектра операционных систем и платформ.
Unreal Engine использует модульную систему зависимых компонентов,
что упрощает процесс портирования игр на разные платформы [11]. Он
поддерживает различные системы рендеринга, такие как Direct3D, OpenGL,
Pixomatic, а в старых версиях также Glide, S3, PowerVR. Для воспроизведения
звука используются EAX, OpenAL, DirectSound3D, а ранее была поддержка
A3D.

Рисунок 4 – Логотип Unreal Engine

2.1.1 Функциональные возможности платформы Unity

В отличие от многих игровых движков, у Unity имеется два основных


преимущества: наличие визуальной среды разработки и межплатформенная
поддержка [9]. Пройдемся по важным сравнительным качествам движков:
1. Удобство проектирования. Unity известен своим интуитивно
понятным интерфейсом и простотой использования, в особенности
для начинающих разработчиков. Это универсальный инструмент для

14
разработки игр, поскольку он поддерживает широкий спектр
платформ.
2. Производительность. обеспечивает отличную производительность,
но может потребовать больше оптимизации сложных игр с высоким
уровнем графики.
3. Его основные функции. Поддержка 2D и 3D-разработки и имеется
большой набор инструментов и библиотек, включая анимацию,
физику, рендеринг, аудио и сетевые возможности.
4. Сообщество и поддержка. Достаточно большое сообщество,
множество учебных материалов, форумов и документации.
Хранилище Unity содержит ряд надстроек и сущностей.
5. Лицензирование. Бесплатная версия дается для малых разработчиков.
Платная версия предоставляет какие-то дополнительные функции и
снимает ограничения по доходам.
Игровой движок Unity был выбран для создания мобильной двумерной
игры в соответствии с его особенностями и достоинствами.

2.2 Среда разработки графических объектов

Sketchbook – это программное обеспечение для растровой графики,


предназначенное для выразительного рисования и концептуальных эскизов, а
также для создания анимации (Jelly Boo, Teatralka) [13].
Программное обеспечение, интерфейс которого представлен на рисунке
5, было сначала разработано Alias Systems Corporation под названием
StudioPaint. Первоначально разработанное как коммерческое программное
обеспечение, оно превратилось в модель подписки, прежде чем в конечном
итоге стало бесплатным для личного пользования.

15
Рисунок 5 – Программное обеспечение для растровой графики

Sketchbook имеет пользовательский интерфейс с радиальным/круговым


меню и содержит большое количество инструментов для рисования, такие как
карандаши, маркеры и кисти.
Когда Autodesk приобрела Alias в октябре 2005 года, они на какое–то
время замедлили разработку Sketchbook Pro. Версия 2.0 была выпущена в
июле 2005 года под брендом Alias Systems Corporation.
В апреле 2018 года полнофункциональная версия Sketchbook стала
полностью бесплатной для всех пользователей; модель подписки прекращена,
и все премиум–функции (включая направляющие перспективы, заливку
заливкой, эффекты слоев и настройку кисти) разблокированы.
Для проекта инструмент Sketchbook Pro был выбран для создания
спрайтов игры в соответствии с его особенностями и достоинствами.

16
ГЛАВА 3. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ИГРЫ

3.1 Основная концепция игры

Создание концепции мобильной игры представляет собой более


структурированный и методичный процесс. Концепция разрабатывается с
учётом конкретной аудитории и цели, то есть внимание уделяется не только
самому конечному продукту, но и впечатлениям игрока.
В нашем проекте смысл игры заключается в наблюдении за жизнью
вашего питомца, включая его кормление, развлечение, уход и сон. Она
призвана обеспечить пользователя эмоциональной связью с виртуальным
питомцем и подготовить его к реальной заботе о животном (Рис. 6).
Игра служит обучающим инструментом, помогая людям освоить
обязанности по уходу за питомцем. Это очень актуально для тех, кто из-за
различных обстоятельств не может содержать реального питомца, а также
маленький тест – проверить то, насколько вы ответственны за питомца.
Сюжет игры заключается в том, что вы подобрали с улицы бездомного
питомца и заботитесь о нем.

Рисунок 6 – Виртуальный питомец Тамагочи

17
3.2 Установка программного обеспечения Unity и создание проекта

Для начала разработки необходимо скачать специальное программное


обеспечение. В первую очередь, скачать платформу Unity с официального
сайта. Для этого нужно перейти на официальный сайт и выбрать раздел
«Скачать Unity» (Download Unity) [3].
Далее необходимо выбрать версию Unity. Рекомендуется выбирать
стабильную последнюю версию для получения всех последних обновлений и
функций [14]. Так же UnityHub служит для создания и сохранения игрового
проекта игры. В нашем случае скачиваем версию 2022.3.14f1.

Рисунок 7 – Окно Unity Hub

Далее создаем пустой двумерный проект с модулем под android и с


названием «game» (Рис. 8):

18
Рисунок 8 – Новый пустой проект «game»

3.3 Создание спрайтов объектов и введение их в проект

Создание спрайтов объектов является важной частью этапа


проектирования. Ведь только там мы можем графически показать объекты
проекта, такие как кнопки, главный персонаж или другие не менее важные
объекты.
Также Sketchbook Pro позволяет работать со слоями, расположенными в
правой части экрана. Кликнув на слой, можно увидеть варианты работы с ним:
копировать, очистить, вырезать, заблокировать, объединить, что очень
упрощает работу в этой программе.
Фоном игры будет часть комнаты дома, где поселился питомец.
На рисунке 9 представлено создание спрайта для фона.
На рисунке 10 представлены слои, с помощью которых был создан фон
игры.

19
Рисунок 9 – Создание спрайта фона игры

Рисунок 10 – Слои для создания фона

20
Главными объектами являются эмоции главного персонажа – питомца.
Прототипом питомца игры стал кот, который жил со мной в какое-то время.
Далее делаем наброски, улучшаем и сохраняем файлы в png формате. Всего
питомец имеет 2 определенные эмоции, такие как:
1. Счастливый (Рис. 11)
2. Грустный (Рис. 12)

Рисунок 11 – Счастливая эмоция питомца

21
Рисунок 12 – Грустная эмоция питомца
Осталось нарисовать объекты нужд питомца (Рис. 13) и предупреждения
о них (Рис. 14):
1. Игрушка–мышка
2. Миска с едой
3. Лоток
4. Лежак

Рисунок 13 – Папка с объектами нужд питомца

22
Рисунок 14 – Папка с объектами о предупреждении нужд в виде
облачков мыслей

Также дополнительные прочие объекты, которые необходимы для


геймплея игры, например, кнопки (Рис. 15):

Рисунок 15 – Кнопки для управления

Далее создаем подпапки в папке «Assets» проекта, чтобы расположить


наши объекты в проект (Рис. 16).

Рисунок 16 – Папка проекта с графическими объектами

23
3.4 Проектирование интерфейса и реализация

3.4.1 Создание сцены меню

Фоном будет являться размытый фон главной сцены игры. На начальной


сцене меню будут отображены кнопки старта и выхода из игры, а также почти
по центру полное название нашей игры.
Прототип главного меню представлен на рисунке 17.

Рисунок 17 – Прототип сцены главного меню

Для начала проектирования мы создаем Canvas (холст), на котором


будут обставлены кнопки, фон, а также в дальнейшем планируется добавить
фоновую музыку.

24
Название игры «YOUR PET» делается при помощи инструмента
«[Link]», его перемещаем по центру экрана. Для фона нужно будет размыть
фон главной сцены. А кнопки необходимо создать через инструмент
«[Link]».
Также не забываем написать код для нашей сцены, чтобы все кнопки
работали. Код представлен в Приложении Б. Экран главного меню
представлен на рисунке 18.

Рисунок 18 – Главное меню игры

3.4.2 Создание главной сцены игры

Далее переходим на другую главную сцену игры, где происходит сам


процесс геймплея. Создаем также Canvas (холст), добавляем фон, а затем
кнопки PlayButton, PisButton, SleepButton, FeedButton, чтобы мы могли через
эти кнопки выполнить все нужды питомца. Каждому объекту присваиваем
графическое представление, которые были уже нарисованы. (Рис. 19)

25
Рисунок 19 – Параметры объекта игры

Далее кнопки спрея заменяем на графические объекты из рисунков 13,


14. Затем самого питомца и уведомления (облака) о каких–либо нужд. Создаем
«линии жизней» (HealthBar). Для этого соединяем фото под фото, а также
текст. Получаем разные цветные индикаторы нужд. Результат показан на
рисунке 20.

Рисунок 20 – Главная сцена игры

26
Сейчас разберем шкалы нужд питомца. Всего у нас 4 индикаторов по
100% из них:
1. Голод
2. Счастье
3. Лоток
4. Сон

Они будут снижаться по разному временному промежутку, например,


сон дольше всех снижается. Индикаторы представлены на рисунке 21.

Рисунок 21 – Индикаторы потребностей питомца

Для того чтобы питомец стал счастливее, мы должны удовлетворять его


потребности через кнопки [19]. Всего 4 кнопок: игрушка, лоток, миска с едой
и лежак, которые были уже определены и нарисованы в соответствии с
рисунком 22.

Рисунок 22 – Кнопки взаимодействия питомца


27
Распишем скрипт (код на C#), который представлен на рисунке 23 и
написан в Приложении А, и соединим его с нашими объектами.

Рисунок 23 – Соединение объектов в интерфейсе с кодом

Следующая сцена «GAME OVER» наступает тогда, когда один из


индикаторов достигает процента 0% (Рис. 24).

Рисунок 24 – Конец игры


28
3.4.3 Создание звуков в игре

Аудио в играх может вызывать у игроков большой спектр эмоций:


спокойствие, страх, волнение, грусть, радость. Поэтому оно является очень
важной частью видеоигр. Аудио способно переносить игроков в виртуальный
реалистичный мир и создавать любую атмосферу в игре [9].
Звуковое сопровождение имеет прямую зависимость на доходность
игры, так как качественный звук привлекает игроков, что приводит к
увеличению аудитории и числа загрузок.
На данном этапе была определена фоновая спокойная музыка, которая
была взята из интернет-ресурса, и звуки кликов по кнопкам. А также был
прописан код, представленный в приложении В.
Далее все материалы добавляем в проект и создаем пустой объект, куда
закидываем скрипт и сам звук (см. рисунок 25).

Рисунок 25 – Добавление звука в объект

29
Подобные действия выполняем и для кнопок проекта, чтобы дать
игрокам полное погружение в игровую среду, а также для ориентира,
подтверждая, что все действия игрока были успешно зарегистрированы.

3.4.4 Последовательность сцен в игре

Полный интерфейс всех сцен в игре представлен на рисунке 26.


На первой сцене отображено начальное меню игры, где расположено
название игры и кнопки: «Начать игру», «Выход из игры».
На второй и третьей сцене представлен геймплей, в котором по
истечении времени необходимо следить за индикаторами питомца и
удовлетворять его потребности.
На четвертой сцене представлено финальное отображение проигрыша, в
случае если игрок не справляется с задачей игры.

Рисунок 26 – Поэтапная последовательность сцен

30
3.5 Функциональное тестирование

Функциональное тестирование – это процесс проверки


функциональности программного продукта или системы для убеждения в том,
что они работают согласно заданным требованиям и ожиданиям [30].
С помощью функционального тестирования тестировщики стремятся
выявить проблемы с производительностью, зависаниями, сбоями и
блокираторами прогресса, которые мешают плавному игровому процессу.
Результаты функционального тестирования игры «YOUR PET» описаны
в таблице 1.

Таблица 1 – Функциональное тестирование производительности игры


Действие Ожидаемый Прохождение
№ Тест
тестировщика результат теста
Запуск сцены
1 Запуск игры Запустить игру Да
меню
Запуск начала Запуск
2 Начать игру Да
игры главной сцены
Кнопка выхода из
Выход из
3 Выход из игры игры, закрывает Да
игры
приложение
Нажатие
кнопки
Нажать на кнопку
«назад»
Возврат в «назад», что
4 вернет Да
главное меню возвращает игрока в
игрока в
главное меню
главное
меню
Начать игру и
Рабочие
следить за Понижение
5 индикаторы Да
понижающими индикаторов
нужд
индикаторами
Взаимодействие Нажать на кнопки Увеличение %
6 Да
с объектами объектов индикаторов
Наблюдать за
Работы сцены Запуск сцены
7 процессом игры, Да
«game over» «game over»
ничего не нажимая

31
ГЛАВА 4. ЭКОНОМИЧЕСКАЯ ЧАСТЬ ПРОЕКТА

4.1 Актуальность темы и анализ рынка мобильных игр

В нашем мире мобильные игры и различные другие приложения


занимают важное место в индустрии развлечений, предлагая людям широкий
спектр развлечений. Среди всех игр особенно популярен жанр – симулятор, в
котором игроки могут погрузиться в этот виртуальный мир и попробовать себя
в разных ролях.
Игровая индустрия в настоящее время переживает период быстрого
роста. Развитие мобильных игр привело к глобальному расширению игровой
индустрии. COVID-19 оказал огромное влияние на игровую индустрию во
всем мире.
Размер рынка мобильных игр оценивается примерно в 101 миллиард
долларов США в 2024 году и, как ожидается, достигнет 165 миллиардов
долларов США к 2029 году со среднегодовым темпом роста 10,39% в течение
прогнозируемого периода (2024–2029 годы).
Допустим, социальная сеть Facebook также внесли свой вклад тем, что
начали разрабатывать собственные игры. Эта стратегия позволяет им не
только укрепить свои позиции на рынке, но и использовать игры в качестве
инструмента для улучшения своих рекламных стратегий.
Объем выручки мобильных игр в России представлен на таблице 2.

Таблица 2 – Анализ рынка мобильных игр в России


Показатель 2022 г., млрд. 2023 г., млрд. Темп прироста,
рублей. рублей. %
Выручка 134,98 147,92 9,59%
компаний

32
По данным Cisco, общее количество абонентов мобильной связи в мире,
как ожидается, вырастет с 5,1 миллиарда в 2018 году до 5,7 миллиарда к концу
2023 года. Поскольку владение смартфонами продолжает расти во всем мире,
ожидается, что спрос на мобильные игры будет увеличиваться, создавая новые
возможности для разработчиков игр.

4.2 Статистика бездомных животных и модель монетизации

В России насчитывается более 4 миллионов бездомных животных, в том


числе 3,2 миллиона – это бездомные кошки, 735 тыс. – бездомные собаки, а
144 тыс. – питомцы в приютах. Они составляют 6% от общей популяции
животных по России. Эта проблема, на мой взгляд, очень глобальная, издавна
люди решили одомашнить кошек и собак, вырвав их из дикой природы, сделав
их помощниками по хозяйству.
Теперь часто случается так, что питомцы становятся равнодушны к
своим хозяевам, они оказываются на улице, страдают от холода, голода,
жажды, болезней и от рук живодеров.
Мэр Якутска Евгений Григорьев на совещании Минвостокразвития по
вопросу об обеспечении безопасности граждан от нападения животных на
первое место поставил безопасность людей. По его словам, в настоящее время
город Якутск остается средой обитания для 6 300 собак [15].
Частная якутская организация «Помоги выжить» выиграла электронный
аукцион и заключила контракт с муниципалитетом в лице МКУ «Служба
эксплуатации городского хозяйства» на право оказывать услуги по
содержанию животных без владельцев. Сумма контракта составила почти 25
млн руб.
Фонд «Помоги выжить» сотрудничает с мэрией с 2020 года, тогда
муниципальный приют был передан им на безвозмездной основе. Сейчас
кошек беспризорных там практически нет [16]. По мнению главы города

33
Якутска Евгения Григорьева, благодаря работе приюта популяция
безнадзорных животных сократилась, как и количество нападений на людей.
Если в 2022 году было зарегистрировано 650 укусов, то в 2023 году – 550.
Как исполнитель, приют на бюджетные деньги, согласно техзаданию
контракта, обязан проводить клинический осмотр, вакцинацию животных,
пожизненно содержать их, составлять учет и маркировать метками,
стерилизовать или кастрировать. В услуги исполнителя входит и усыпление
животных с тяжелыми неизлечимыми заболеваниями или последствиями
острой травмы. После сотрудники приюта обязаны уничтожить труп
животного.
В денежном эквиваленте это выглядит таким образом:
1. Вакцинация – 353 руб.
2. Усыпление животного – 162 руб./шт.
3. Уничтожение трупа животного – 537,26 руб.
4. Стерилизация – 3024,9 руб.
5. Кастрация – 3024,9 руб.
6. Пожизненное содержание – 289,37 руб./сут.
Поэтому важно разрабатывать тест–игры по уходу за животными,
монетизация моей игры будет отдаваться в пункты передержки бездомных
животных.
Монетизация видеоигр - это тип транзакции, которую издатели видеоигр
могут использовать для получения дохода от своих продуктов для видеоигр. К
монетизации относят как оплату самой игры, подписку или просмотр рекламы,
так и платные бонусы, улучшения, валюта и прочие игровые параметры.

34
ЗАКЛЮЧЕНИЕ

В ходе выполнения выпускной квалификационной работы была


разработана мобильная двумерная игра «YOUR PET» с использованием
игрового движка Unity.
Был проведен анализ рынка видеоигр и сравнительный анализ средств
разработки игры. Этот анализ позволил нам разработать стратегию
разработки, которая максимально бы отвечала ожиданиям пользователей и их
требованиям.
На этапе проектирования были определены планы разработки игрового
процесса, включая определения концепции игры и выбор средств разработки.
Код проекта писался на языке программирования C#, а графические объекты
рисовались в графическом редакторе Sketchbook Pro. Этот инструмент
позволил создать высококачественные элементы, которые стали
неотъемлемой частью игрового процесса.
В процессе разработки мы использовали возможности Unity для
создания игры, реализации игровой механики и интеграции графических
объектов. Также операционной системой, под которую разрабатывается игра,
является Android, она позволяет достичь широкой аудитории, использовать
гибкость платформы и бесплатно тестировать через APK-файлы.
Заключительным этапом разработки стало функциональное
тестирование, направленное на проверку работоспособности всех
компонентов игры. На основе результатов тестирования можно сделать вывод
о том, что разработанное игровое приложение работает корректно.
Разработка мобильной игры на платформе Unity – это творческий
процесс, который требует тщательного планирования и внимания к деталям.
Создание симулятора питомца предоставляет отличную возможность
подарить игрокам увлекательный опыт и погрузиться в удивительный мир
заботы о питомце.

35
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. АНАЛИЗ РЫНКА МОБИЛЬНЫХ ИГР // RedVerden Group : сайт.


– URL: [Link] (дата обращения: 11.05.2024)
2. DTF : официальный сайт. – URL: [Link]
ispolzovanie–3d–grafiki–v–2d–animacii (дата обращения: 20.04.2024)
3. Unity : официальный сайт. – URL: [Link] (дата
обращения: 21.04.2024)
4. РЫНОК МОБИЛЬНЫХ ВИДЕОИГР В 2023 ГОДУ: ВЫВОДЫ ИЗ
ОТЧЕТА STATISTA // byyd : сайт. – URL:
[Link] (дата
обращения: 11.05.2024)
5. Mordor Intelligence : сайт. – URL:
[Link]
(дата обращения: 11.05.2024)
6. Unity : сайт. – URL: [Link] (дата
обращения: 29.04.2024)
7. Денисов, Д. В. Разработка игры в Unity. С нуля до реализации / Д.
В. Денисов. – ЛитРес: Самиздат, 2021.
8. Godot : официальный сайт – URL: [Link] (дата
обращения: 29.04.2024)
9. Бонд, Д.Г. Unity и C# Геймдев от идеи до реализации / Д.Г. Бонд.
– Санкт–Петербург: Питер, 2019
10. Unreal Engine : официальный сайт – URL:
[Link] (Дата обращения: 29.04.2024)
11. Unreal Engine как средство разработки игр / URL:
[Link] (дата обращения:
29.04.2024).

36
12. Что такое игровой движок? / URL: [Link]
64– videoigryi/34701–chto–takoe–igrovoi–dvijok/ (дата обращения: 29.04.2024).
13. Sketchbook : сайт. – URL: [Link] (дата
обращения: 11.05.2024)
14. Мэннинг, Д. Unity и для разработчика / Д. Мэннинг. –
СанктПетербург: Питер, 2018. – 352 с.
15. Безопасность на первом месте: в Якутске более 6 тысяч бездомных
собак // SakhaNews : сайт. – URL: [Link]
v–yakutske–bolee–6–tysyac–bezdomnyx–sobak (дата обращения: 11.05.2024)
16. Мэрия Якутска оценила в 25 млн рублей содержание бездомных
животных // [Link] : сайт. – URL:
[Link] (дата обращения: 11.05.2024)
17. Компьютерные игры как искусство [Электронный ресурс]. –
Режим доступа: [Link]
18. C# Programming Guide / URL:
[Link] (дата обращения:
10.05.2024).
19. Unity C# Scripting Tutorial for Tamagotchi Game [Электронный
ресурс]: видеоролик.– [Link]
20. Николаева О. «Эпидемия XXI века: телевидение, интернет и
компьютерные игры». – Ростов н/Д: Феликс, 2008. –254с.
21. Жанры компьютерных игр // CODDY : сайт. – URL:
[Link] (дата обращения:
03.06.2024)
22. Компьютерные игры как искусство [Электронный ресурс]. –
Режим доступа: [Link]
23. Игры симуляторы // ММО13 : сайт. – URL:
[Link] (дата обращения: 03.06.2024)

37
24. Тамагочи // ВикипедиЯ : сайт. – URL:
[Link] (дата обращения: 01.06.2024)
25. Компьютерные и видеоигры (российский рынок) // TADVISER :
сайт. – URL:
[Link]
йский_рынок)# (дата обращения: 01.06.2024)
26. Почему многими андроид выбирается для игр // volga news : сайт.
– URL: [Link]
[Link] (дата обращения: 02.06.2024)
27. Тамагочи // [Link] : сайт. – URL: [Link]
[Link]/igrushkapedia/[Link] (дата обращения: 03.06.2024)
28. Движок Unity – особенности, преимущества и недостатки // cubiq
: сайт. – URL: [Link] (дата обращения: 03.06.2024)
29. Бездомные животные // voices for animals : сайт. – URL:
[Link] (дата обращения: 03.06.2024)
30. Функциональное тестирование ПО: задачи, виды, методы
проведения // GeekBrains : сайт. – URL: [Link]
testirovanie-po/ (дата обращения: 03.06.2024)
31. Плюсы и минусы ОС IOS и Андроид // highscreen : сайт. – URL:
[Link] (дата
обращения: 04.06.2024)

38
ПРИЛОЖЕНИЕ А
Листинг С# кода, взаимодействие персонажа с объектами

Главный скрипт, отвечающий за взаимодействие персонажа с


объектами:
using [Link];
using [Link];
using [Link];
using UnityEngine;
using [Link];

public class Gamei : MonoBehaviour


{
public Image currentHappy;
public Image currentPis;
public Image currentHunger;
public Image currentSleep;

public Image foodBubble;


public Image pisBubble;
public Image playBubble;
public Image sleepBubble;

public Text HappyText;


public Text PisText;
public Text HungryText;
public Text SleepText;

private float happiness = 100;

39
private float pis = 100;
private float hunger = 100;
private float sleep = 100;
private float max = 100;

public Button Feed;


public Button Pis;
public Button Play;
public Button Sleep;

public Image CatHappy;


public Image CatSad;

public Image GameOverr;


private void Start()
{
Button btn1 = [Link]<Button>();
[Link](FeedThePet);

Button btn2 = [Link]<Button>();


[Link](PisThePet);

Button btn3 = [Link]<Button>();


[Link](PlayThePet);

Button btn4 = [Link]<Button>();


[Link](SLeepThePet);

40
[Link](0, 0.001f, true);
[Link](0, 0.001f, true);
[Link](0, 0.001f, true);
[Link](0, 0.001f, true);

[Link](false);
[Link](false);

UpdateHungerBar();
UpdateHappyBar();
UpdatePisBar();
UpdateSleepBar();

Update();
}
private void Update()
{
happiness –= 3f * [Link];
if (happiness < 0)
{
happiness = 0;
}
hunger –= 4f * [Link];
if (hunger < 0)
{
hunger = 0;
}
pis –= 3f * [Link];
if (pis < 0)

41
{
pis = 0;
}
sleep –= 2f * [Link];
if (sleep < 0)
{
sleep = 0;
}
needsCheck();
goodParentCheck();

UpdateHungerBar();
UpdateHappyBar();
UpdatePisBar();
UpdateSleepBar();

GameOver();
}
private void needsCheck()
{
if (hunger <= 50)
{
[Link](1, 0.5f, true);
}
else
{
[Link](0, 0.5f, true);
}
if (pis <= 30)

42
{
[Link](1, 0.5f, true);

}
else
{
[Link](0, 0.5f, true);
}
if (happiness <= 60)
{
[Link](1, 0.5f, true);
}
else
{
[Link](0, 0.5f, true);
}
if (sleep <= 20)
{
[Link](1, 0.5f, true);
}
else
{
[Link](0, 0.5f, true);
}

private void goodParentCheck()


{

43
if (happiness <= 60 || sleep <= 20 || pis <= 30 || hunger <= 50)
{
[Link](false);
[Link](true);
}
else
{
[Link](false);
[Link](true);
}

}
private void UpdateHungerBar()
{
float ratio = hunger / max;
[Link] = new
UnityEngine.Vector3(ratio, 1, 1);
[Link] = (ratio * 100).ToString("0") + "%";
}

private void UpdateHappyBar()


{

float ratio = happiness / max;


[Link] = new
UnityEngine.Vector3(ratio, 1, 1);
[Link] = (ratio * 100).ToString("0") + "%";
}

44
private void UpdatePisBar()
{
float ratio = pis / max;
[Link] = new UnityEngine.Vector3(ratio,
1, 1);
[Link] = (ratio * 100).ToString("0") + "%";
}

private void UpdateSleepBar()


{
float ratio = sleep / max;
[Link] = new
UnityEngine.Vector3(ratio, 1, 1);
[Link] = (ratio * 100).ToString("0") + "%";
}
private void FeedThePet()
{
hunger += 6f;
if (hunger >= 100)
{
hunger = 100;
}
}
private void PisThePet()
{
pis += 40f;
if (pis >= 100)
{
pis = 100;

45
}
}
private void PlayThePet()
{
happiness += 6f;
if (happiness >= 100)
{
happiness = 100;
}
}
private void SLeepThePet()
{
sleep += 50f;
if (sleep >= 100)
{
sleep = 100;
}
}
private void GameOver()
{
if (happiness <= 0 || sleep <= 0 || pis <= 0 || hunger <= 0)
{
[Link](true);
}
}
}

46
ПРИЛОЖЕНИЕ Б
Листинг C# кода, смены сцен в игре

using [Link];
using [Link];
using UnityEngine;
using [Link];

public class SceneManagerScript : MonoBehaviour


{
public void LoadGameScene()
{
[Link]("SampleScene");
}
public void Exit()
{
[Link]();
}

public void MenuGameScene()


{
[Link]("menu");
}
}

47
ПРИЛОЖЕНИЕ В
Листинг C# кода для произведения звуков в игре

1. Скрипт для произведения основной фоновой музыки:


using [Link];
using [Link];
using UnityEngine;

public class Musicscript : MonoBehaviour


{
public static Musicscript instance = null;
public AudioSource musicSource;

void Awake()
{
if (instance == null)
{
instance = this;
}
else if (instance != this)
{
Destroy(gameObject);
}
DontDestroyOnLoad(gameObject);
}
}
2. Скрипт звука для взаимодействия с кнопками:
using [Link];
using [Link];

48
using UnityEngine;

public class Buttonsound : MonoBehaviour


{
public AudioSource soundPlay;

public void PlayThisButtonsound()


{
[Link]();
}
}

49

Вам также может понравиться