Материал: Разработка приложения для мобильных устройств

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Разработка приложения для мобильных устройств

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. АНАЛИТИЧЕСКИЙ ОБЗОР

1.1 Анализ игровых жанров для мобильных устройств

1.2 Анализ целевой аудитории

1.3 Анализ требований к приложению

1.4 Анализ аналогичных приложений

1.5 Анализ технологий для разработки мобильных приложений

2. ПРОЕКТИРОВАНИЕ

2.1 Разработка концепции игрового приложения

2.1.1 Разработка сеттинга игры

2.1.2 Разработка основной механики

2.2 Разработка интерфейса игры

2.2.1 Главное меню

2.2.2 Уровни

2.3 Разработка алгоритмов

2.3.1 Разработка постройки башен

2.3.2 Разработка противников и их передвижение

2.3.3 Разработка стрельбы и снарядов

3. РЕАЛИЗАЦИЯ

3.1 Реализация алгоритмов на языке С#

3.1.1 Описание переменных скриптов

3.1.2 Реализация выбора цели и стрельбы

3.1.3 Настройка работоспособности игры

3.2 Реализация интерфейса игры

3.2.1 Реализация интерфейсы главного меню

3.2.2 Интерфейс уровней

4. ТЕСТИРОВАНИЕ

4.1 Методы тестирования

4.1.1 Модульное тестирование

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

4.2 Результаты тестирования

4.2.1 Результаты модульного тестирования

4.2.2 Результаты функционального тестирования

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

Игровая индустрия в настоящее время успешно развивается. Рынок игр огромен. В разработку игр вкладываются большие деньги. И далеко не факт, что она окупится. Однако не всегда было так.

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

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

Существует огромное множество игр разных жанров и с разным сюжетом. И у каждого жанра есть свои плюсы и минусы. Пользователь выбирает жанр исключительно из своих предпочтений.

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

В данном документе будет подробно разобрана разработка приложения. Также будет проведён аналитический обзор целевой аудитории, требований, аналогичных приложений и средств разработки. В конце будет приведены результаты тестирования. В рамках данного документа под приложением подразумевается разрабатываемая игра.

1. АНАЛИТИЧЕСКИЙ ОБЗОР

.1 Анализ игровых жанров для мобильных устройств


Существует много жанров игр на данный момент. Однако не все подходят для мобильных устройств. Мобильное устройство ограниченно в управлении по сравнению с персональным компьютером. Жанры, где надо быстро совершить несколько действий сразу не подходят на мобильные устройства. Например, FPS (First Person Shooter) не подходит для мобильных устройств, так как в таком жанре надо одновременно перемещаться, менять угол обзора и стрелять. Но существую жанры, которые очень подходят для мобильных устройств.

Ниже приведены некоторые из этих жанров:

.        Runner. В этом жанре персонаж бесконечно бежит в каком-то направлении, игроку следует преодолевать препятствия, обычно просто перепрыгивая их.

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

.        Гоночные симуляторы. Управление осуществляется с помощью встроенного в мобильное устройство гироскопа.

.        Tower Defense. В играх этого жанра игроку даётся возможность строить башни для защиты, которые стреляют по проходящим рядом врагам, идущим по определённому маршруту

Таким образом, жанры для мобильных устройств должны удовлетворять следующим требованиям:

         Простота управления.

         Малое число одновременно совершаемых действий

         Малая продолжительность

1.2 Анализ целевой аудитории

Одно из важнейших действий в разработке игры является анализ целевой аудитории. Иногда разработчики хотят угодить всем пользователям, добавляя в игру излишний функционал, который может никогда не использоваться. Чтобы избежать этого, следует провести анализ целевой аудитории, чтобы понять, какой жанр игр сейчас популярен и почему.

Игроков можно разбить на несколько категорий:

)        Казуальные игроки - люди, играющие в несложные игры и проводящие в них мало времени, с целью развлечения или просто быстрого проведения времени. Большинство казуальных игроков предпочитают играть на смартфонах. Основными жанрами для казуальных игроков являются те жанры, которые можно объединить в группу “тайм-киллеров” - игр без особого смысла и сюжета, но с увлекательным гемплеем.

)        Хардкорные игроки - люди, которые обычно избегают простых игр, и проводящие за играми большое кол-во времени. Основными жанрами, в которые играют хардкор-геймеры, являются RPG, Action, FPS. Также же у хардкорных игроков пользуются популярностью MMORPG, которых можно провести не один месяц непрерывной игры.

Исходя из этого, был выбран жанр, разрабатываемой игры в рамках выпускной квалификационной работы, - Tower Defense. Такой жанр подходит больше для казуальных игроков.

1.3 Анализ требований к приложению

игра мобильный интерфейс скрипт

Мобильные приложения менее требовательны к аппаратному обеспечению, нежели чем приложения на ПК.

Большинство современный мобильных игры имеют следующие системные требования:

)        Объём оперативной памяти не меньше 1 Гб.

)        Частота процессора не меньше 1 ГГц.

)        Операционная система Android должна быть не ниже версии 4.0

Исходя из этого для игры, разрабатываемой в ходе выпускной квалификационной работы, были определены следующие требования:

.        Требования к составу и параметрам мобильного устройства:

         На мобильное устройство должна быть установлена операционная система Android версии 4.0 или выше.

         Процессор должен иметь частоту не менее 1Ггц.

         Мобильное устройство должно иметь сенсорный экран с разрешением не менее 640х480

.        Требования к программной документации:

         Документ для разработчика (с кодом, комментариями и техническим описанием).

         Техническое задание для разработчиков.

         Руководство пользователя.

.4 Анализ аналогичных приложений


На данный момент существует множество игр в жанре Tower Defense. Самые известные из них указаны в таблице 1.3. Они различаются игровой механикой, стилем, управлением. Целью этого обзора является выявление наиболее предпочтительных особенностей игр этого жанра.

Таблица 1.3 Самые известные игры в жанре

Характеристика

 Название игры


Kingdom Rush

Plants vs. Zombies

GemCraft

Вид графики

2D

2D

2D

Разработчик

Ironhide Game Studio

PopCap Games

Game in a Bottle <https://en.wikipedia.org/wiki/Halfbrick_Studios>

Платформы

Windows, iOS, Android

Windows, iOS, Android, Xbox 360,Nintendo DS

Всё, что поддерживает Adobe Flash

Управление

Сенсорный экран, клавиатура + мышь

Сенсорный экран, мышь

Сенсорный экран, мышь


Из приведённой выше таблицы, можно сделать вывод, что игры этого жанра имеют преимущественно 2D-графику. Так же наиболее популярные платформы являются Windows, iOS, Androind.Управление осуществляется с помощью мыши или сенсорного экрана, в зависимости от устройства, на котором запущена игра.

1.5 Анализ технологий для разработки мобильных приложений


Существует множество технологий разработки мобильных приложений, которые отличаются дизайном, функциями и языком разработки.

.        Среда разработки Eclipse.

Свободная среда разработки мульти платформенных приложений, разработанная компанией Eclipse Foundation. Основным преимуществом является то, что любой разработчик может расширить Eclipse своими модулями. Eclipse написана на Java, поэтому является мультиплатформенным продуктом. Исключением является библеотека SWT, которая разрабатывается отдельно для каждой из операционных систем. Так же Eclipse поддерживает большинство языков программирования, благодаря встраиваемым модулям.

Для реализации игр с помощью Eclipse, придётся подключать дополнительные графические библиотеки, которые замедляют работу игры и усложнит написание кода.

.        Android Studio

Интегрированная среда разработки приложений для платформы Android. Одна из особенностей является расширенный редактор макетов: WYSIWYG <https://ru.wikipedia.org/wiki/WYSIWYG>, способность работать с UI <https://ru.wikipedia.org/wiki/Интерфейс_пользователя> компонентами при помощи Drag-and-Drop <https://ru.wikipedia.org/wiki/Drag-and-drop>, функция предпросмотра макета на нескольких конфигурациях экрана.

3.      Game Maker: Studio

Популярный движок для разработки приложений для множества платформ. Используется специально разработанный язык программирования. Возможна интеграция системы контроля версий.

Основным недостатком является крайне неудобная работа с 3D графикой.

.        Unity

Среда для разработки приложений, поддерживающих множество платформ. Также поддерживается разработка веб-приложений.была специально разработана для разработки игр. Многие элементы, которые в остальных IDE надо было реализовывать в качестве отдельных классов или участков кода, здесь поддерживаются на уровне движка, например, коллизии игровых объектов.

Также имеется пространство, разбитое на координаты, в котором реализуется игра или приложение.

Разрабатываемое приложение состоит из отдельных скриптов, отвечающих за определённые функции. Скрипт представляет собой отдельный класс со своими полями и методами.

Из выше представленных преимуществ и недостатков, можно сделать вывод, что Unity наиболее подходит для разработки игр, так как в ней представлен широкий функционал для разработки игр. В отличии от GameMaker, Unity хорошо работает с 3D графикой.

2. ПРОЕКТИРОВАНИЕ

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

2.1 Разработка концепции игрового приложения


Первым шагом проектирования является разработка концепции игры.

2.1.1 Разработка сеттинга игры

Сеттинг - среда или стиль, в которой происходит действие игры. Например, в игре “Монополия” может быть сеттинг Нью-Йорка или сеттинг СССР, но поменяется только стиль игры, а не её механика. Это может быть, как выдуманный мир, так и существующий.

Был разработан следующий сеттинг игры:

На поселение Микроорганизмов нападают Паразиты. Паразиты хотят уничтожить Микроорганизмы. Микроорганизмы встали на защиту своего поселения.

Микроорганизмы будут выполнять роль башен стреляющим по противникам, представленных Паразитами.

Микроорканизмы будут 3 видов:

)        Воин. Будет иметь среднюю дальность стрельбы и среднюю скорострельность (рис. 2.1.1(а)).

)        Стрелок. Будет атаковать с большого расстояния, но иметь низкую скорострельность (рис. 2.1.1(б)).

)        Слепой. Будет иметь маленькую дальнобойность, но высокую скорострельность (рис. 2.1.1(в)).

а)                 б)            в)

Рисунок 2.1.1 - Спрайты Микроорганизмов: а) Вони б) Стрелок в) Слепой

У Микроорганизмов будет анимация стрельбы, которая будет состоять из двух спрайтов

Спрайт-графический объект в компьютерной графике, который свободно перемещается по экрану. В большинстве случаях спрайты используют в 2D-графике, так как при изменении угла обзора спрайт искажается.

Рисунок 2.1.2 - Спрайты анимации стрельбы

Спрайты, представленные на рисунке 2.1.2 будут сменять друг друга во время стрельбы.

Паразиты будут 2 видов:

)        Воин. Имеет средний запас здоровья и среднюю скорость передвижения. (рис. 2.1.3(а))

)        Командир. Имеет большой запас здоровья и низкую скорость передвижения (рис. 2.1.3(б))

а)                   б)

Рисунок 2.1.3 - Спрайты Паразитов: а) Воин б) Командир

2.1.2 Разработка основной механики

Есть множество вариантов жанра Tower Defense. Они различаются логикой постройки и улучшения башен, движения противников. Например, в игре Kingdom Rush, башни строятся в определённых местах карты, что ограничивает число стратегий постройки этих зданий, но с другой стороны загоняет игрока в жёсткие условия, так как, места строительства могут располагаться в неоптимальных местах.

Был выбран тип маршрута движения противников. В большинстве похожих игр маршруты - это лабиринты, по которым идут противники к конечной точке. В некоторых играх игрок сам строит маршрут используя для этого башни. Был выбран первый вариант, чтобы упростить игру игроку.

Был выбран обычный вариант улучшения. Для большинства игра такого жанра характерна обычная система улучшения: за определённую сумму денег улучшаются характеристики. В других играх реализован механизм слияния башен, в результате которого из двух башен образуется одна.

2.2 Разработка интерфейса игры

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

Игра будет разбита на несколько сцен:

)        Главное меню.

)        Уровни.

Для каждого уровня будет отдельная сцена, но интерфейс будет общим для всех уровней.

Для этих сцен надо разработать интерфейс, который будет включать в себя необходимый функционал.

2.2.1 Главное меню

Главное меню - сцена, которую пользователь видит, как только заходит в игру. Здесь располагаются 2 кнопки (рисунок 2.2.1):

)        Кнопка перехода на меню выбора уровней. После её нажатия игрок переходит в меню выбора уровней, где будет выбор из уровней до которых дошёл игрок ранее.

)        Кнопка выхода из игры. При нажатии закрывает приложение.

Рисунок.2.2.1 - Главное меню

В меню выбора уровней будут располагаться кнопки перехода на уровень и кнопка возврата в главное меню (рисунок 2.2.2):

Рисунок 2.2.2 - Меню выбора уровней.

2.2.2 Уровни

Интерфейс будет включать в себя текущую информацию о уровне, запасе денег и жизней игрока, кнопки постройки башен. Также будет кнопка паузы, чтобы приостанавливать игру. (рисунок 2.2.3): В меню паузы будет 2 кнопки: возобновить игру и выход в главное меню(рисунок 2.2.4).