СОДЕРЖАНИЕ
ВВЕДЕНИЕ 5
1. ОБЗОР ИГРОВЫХ ПРИЛОЖЕНИЙ ЖАНРА «ПЛАТФОРМЕР» И
ИНСТРУМЕНТОВ ДЛЯ ИХ РАЗРАБОТКИ 8
1.1. Обзор игровых приложений жанра «платформер» 8
1.2. Обзор популярных платформ 8
1.2.1. Android 10
1.2.2. iOS 10
1.2.3. OS Windows 10
1.2.4. macOS 11
1.3. Обоснование выбора платформы 11
1.4. Выбор среды разработки 12
1.4.1. Qt SDK 12
1.4.2. Unity 3D 13
1.4.3. Unreal Engine 14
1.5. Обзор языков программирования для Unity 14
1.5.1. JavaScript (UnityScript) 15
1.5.2. Boo 15
1.5.3. С# 16
2. ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ 18
2.1. Постановка задачи 18
2.2. Функциональные требования к игровому приложению 19
2.3. Общая архитектура приложений в Unity 23
2.4. Архитектура реализуемого игрового приложения 24
2.5. Выводы по главе 26
3. ОСОБЕННОСТИ ПРОЦЕССА РАЗРАБОТКИ И РЕАЛИЗАЦИИ
ИГРОВОГО ПРИЛОЖЕНИЯ 27
3.1. Создание игрового мира 27
3.2. Создание игрового персонажа и элементов управления 32
3.2.1. Создание персонажа 33
3.2.2. Реализация передвижения 33
3.2.3. Создание боевой системы 36
3.2.4. Анимация движений персонажа 39
3.3. Создание нескольких типов врагов 43
3.3.1. Создание врага ближнего боя 44
3.3.2. Создание врага дальнего боя 47
3.3.3. Создание особого типа врагов 52
3.4. Создание игрового интерфейса 55
3.4.1. Главное меню 55
3.4.2. Меню выбора уровня 57
3.4.3. Внутриигровой интерфейс 57
ЗАКЛЮЧЕНИЕ 64
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 66
ПРИЛОЖЕНИЕ 68
РЕФЕРАТ
Объем работы, листов 67
Количество рисунков 35
Количество используемых источников 19
ANDROID, WINDOWS, UNITY, C#, ЯЗЫК ПРОГРАММИРОВАНИЯ, ЗАДАНИЯ, КОНТРОЛЬ ВЫПОЛНЕНИЯ.
Объект исследования - игровые приложения.
Предмет исследования - игровое приложение в жанре «платформер», для запуска на нескольких платформах.
Цель работы - разработка игрового приложения в жанре «платформер» для персональных компьютеров и мобильных устройств.
Требуется разработать игровое приложение в жанре «платформер» для персональных компьютеров и мобильных устройств под управлением операционных систем Windows и Android.
В результате работы изучены основные методы разработки приложений для персональных компьютеров и мобильных устройств под управлением операционных систем Windows и Android, с использованием кроссплатформенной среды разработки Unity и языком C#. Сформулированы основные требования к программному продукту, в соответствии с которыми разработано игровое приложение.
Чем больше развиваются технологии, тем больше растёт потребность людей в новых развлечениях. И всё чаще они связаны с получением новых эмоций не выходя из дома. Именно эту нишу заняли игры, став отличным источником времяпровождения. По информации портала шу.дашез, за один только 2020-ый год траты на покупку игр возросли на 64-73% [1]. Опрос был проведён среди широких кругов населения, собрав данные у людей от 14 до 44 лет, и подсчитавший не только статистику, но выявив интересы конкретного возрастного диапазона. Каждый опрошенный хотя бы раз в месяц уделяет время мобильным, компьютерным или консольным играм.
В соответствии с информацией из исследования можно не только сделать вывод о популярности платформ, но и заметить, что наибольшим спросом пользуются кроссплатформенные приложения. Пользовательская база становить значительно шире, если приложение появляется в нескольких магазинах сразу. Такой подход выгоден не только пользователям, которые могут взять приложение с собой, но и разработчикам, позволяет более гибко расходовать человеческие ресурсы, экономя время и средства на разработку.
Говоря о разработке, нельзя не упомянуть особенности создания кроссплатформенных игровых приложений. Например, управление игровым персонажем на персональном компьютере и мобильном устройстве осуществляется по-разному - у компьютеров есть клавиатура и мышь, а у мобильных телефонов только сенсорный экран. Создание трёхмерного приложения накладывает необходимость управления камерой, добавляя на экран мобильного устройства соответствующий элемент, тем самым, загромождая его. Кроме того, трёхмерные объекты требуют больших вычислительных ресурсов, что не только ограничивает число устройств, на которых оно может работать удовлетворительно, но и расходует большее количество заряда батареи устройства.
Подчерпнув информацию из исследования, можно сделать вывод о том, что практически любой жанр находит свою публику, но объединяющим звеном, между компьютерными играми и мобильными стали именно 2D проекты.
Таким образом, опираясь на вышесказанное, можно сделать вывод о том, что практически любой жанр находит свою публику, но объединяющим звеном, между играми для персональных компьютеров и мобильных устройств стали именно 2D проекты.
Целью выпускной квалификационной работы является разработка игрового приложения в жанре «платформер» для персональных компьютеров и мобильных устройств под управлением операционных систем Windows и Android.
Объект исследования - игровые приложения.
Предмет исследования - игровое приложение в жанре «платформер», для запуска на нескольких платформах.
Задачи, которые необходимо решить для достижения поставленной цели:
1. Обзор наиболее известных игровых приложений жанра
«платформер».
2. Анализ и обоснование выбора платформ для разработки игрового приложения.
3. Обзор и выбор среды программирования, и игрового движка.
4. Обзор и выбор языка программирования для разработки под выбранные платформы.
5. Разработка требований к пользовательскому интерфейсу игрового приложения.
6. Создание базового варианта кроссплатформенного игрового приложения жанра «платформер».
7. Отладка и тестирование разработанного игрового приложения.
Также в ходе разработки приложения предполагается решение
вспомогательных задач. В частности, изучение особенностей разработки под выбранную платформу с использованием выбранной среды программирования.
Для реализации поставленных задач была выбрана платформа для разработки интерактивного контента - Unity. Данная среда разработки обладает всеми необходимыми инструментами для разработчиков, распространяется на бесплатной основе и просто в освоении. В качестве языка программирования был выбран C# - это объектно-ориентированный язык программирования, впитавший в себя лучшее от Java, C++ и Visual Basic. Кроме того, C# является наиболее актуальным для работы с Unity, что говорит о его постоянной поддержке и дополнениях. Для создания макета приложения было решено воспользоваться программным обеспечением Axure RP [2].
В процессе выполнения выпускной квалификационной работы были проанализированы популярные мобильные платформы и платформы персональных компьютеров, на основе достоинств и недостатков которых были выбраны платформы Android и Windows. После выбора операционных систем, для которых будет разрабатываться игровое приложение, было принять решение использовать язык программирования C# и среду разработки Unity, которые наиболее подходят для достижения поставленной цели. Кроме того, были рассмотрены аналоги игр в жанре «платформер», основными достоинствами которых является доступность 2И-игр для неподготовленных пользователей и снижение требований к устройству, однако и без недостатков не обошлось. Как правило в подобных проектах всё окружение рисуется вручную, и даже небольшие изменения в игре требуют обновления окружающего мира. При разработке двумерной игры сложно схитрить. Если что-то работает плохо, это нужно переделать.
При проектировании игрового приложения были выдвинуты требования, поставлена цель, определены реализуемые функциональные возможности. Была смоделирована архитектура приложения, выделены необходимые методы для реализации поставленных задач. Также были представлены макеты пользовательского интерфейса для основных активностей (окон) приложения.
По итогу был разработан базовый прототип кроссплатформенного игрового приложения в жанре «платформер» для запуска на операционных системах под управлением Windows и Android. Приложение имеет простой и понятный интерфейс, позволяя пользователю незамедлительно перейти к игре.
Все требования были соблюдены, приложение имеет заявленные функциональные возможности, в работе были представленным снимки основных этапов разработки и интерфейса. Кроме того, приложение было
протестировано на устройстве ASUS ZenPhone 4 MAX на платформе Android, а также на платформах Windows 10, 8.1, 7. Все задачи, сформулированные перед началом выполнения работы, были решены, таким образом, поставленную цель можно считать достигнутой.
1) Портрет российского геймера 2020. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://games.mail.ru/pc/news/2021 - 05-19/rossivane-stali-tratit-bolshe-deneg-na-igrv-issledovanie-mvgames/ - Загл. С экрана.
2) Axure RP. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https : //ru.wikipedia. org/wiki/Axure RP - Загл. С экрана.
3) Платформер. [Электронный ресурс]. - Электрон. Текстовые дан.
- Режим доступа https://ru.wikipedia.org/wiki/Платформер - Загл. С экрана.
4) Super Mario Bros. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https : //ru.wikipedia.org/wiki/Super Mario Bros. - Загл. С экрана.
5) AAA (компьютерные игры). [Электронный ресурс]. - Электрон.
Текстовые дан. - Режим доступа
https://ru.wikipedia.огд^кРААА(компьютерные игры) - Загл. С экрана.
6) Operating System Market Share Worldwide. [Электронный ресурс].
- Электрон. Текстовые дан. - Режим доступа https://gs.statcounter.com/os- market-share#monthlv-202004-202104 - Загл. С экрана.
7) Операционная система Android. [Электронный ресурс]. -
Электрон. Текстовые дан. - Режим доступа
https://ru.bmstu.wiki/Android (Операционные Системы) - Загл. С экрана.
8) Операционная система iOS. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа http://ru.bmstu.wiki/IOS - Загл. С экрана.
9) Операционная система Microsoft Windows. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://ru.bmstu.wiki/Microsoft Windows - Загл. С экрана.
10) Операционная система macOS. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://support.apple.com/ru- ru/macos - Загл. С экрана.
11) Операционная система macOS. [Электронный ресурс]. -
Электрон. Текстовые дан. - Режим доступа
https://windows.fandom.com/ru/wiki/NetMarketShare - Загл. С экрана.
12) QT. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://ru.wikipedia.org/wiki/Qt - Загл. С экрана.
13) Unity (игровой движок). [Электронный ресурс]. - Электрон.
Текстовые дан. - Режим доступа
https://ru.wikipedia.org/wiki/Unity(игровой движок) - Загл. С экрана.
14) Unreal Engine. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://ru.wikipedia.org/wiki/Unreal Engine - Загл. С экрана.
15) Documentation, Unity scripting language and you. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://blog.unity.com/technology/documentation-unity-scripting-languages-and- you - Загл. С экрана.
16) Boo. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://ru.wikipedia.org/wiki/Boo - Загл. С экрана.
17) C Sharp. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://ru.wikipedia.org/wiki/C Sharp - Загл. С экрана.
18) Иерархия классов Unity. [Электронный ресурс]. - Электрон.
Текстовые дан. - Режим доступа
https: //mobile.studbooks .net/1993701/informatika/analiz al goritmov - Загл. С экрана.
19) Asset Store. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://assetstore.unity.com/2d - Загл. С экрана.