Дипломная (вкр): Разработка игрового приложения для мобильных платформ

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

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

Оглавление

Введение

. Техническое предложение

. Анализ предметной области

.1 Обзор аналогов

.2 Выводы по предметной области

.3 Индивидуальность проекта

. Выбор среды разработки и сторонних библиотек

.1 Выбор среды разработки

.2 Выбор фрэймворка

. Реализация приложения

.1 Проектирование интерфейса

.2 Подготовка графических материалов

. Вектор развития

Заключение

Список использованных источников

Приложение 1

Введение

В настоящее время в индустрии видеоигр направление мобильных платформ получило активное развитие. Наиболее популярные игры по аудитории значительно опережают игры с ПК и игровых консолей, а по данным компании SuperData [1] на рынке мобильных игр доход за 2016 год составил $40.6 млрд. при общих для индустрии 91$ млрд.

Разработка игровых приложений для мобильных платформ представляет собой наименее сложный, затратный и рискованный способ для разработчика получить опыт в разработке игр. Мобильные игры по структуре значительно проще аналогов с других платформ, а цена размещения готового продукта в таких системах цифрового распространения, как Google Play [2], чаще всего ограничивается разовым взносом регистрации разработчика.

Мобильные игры так же предоставляют разработчику множество способов развития проекта, в том числе распространение уже получившей некоторую известность игры на персональные компьютеры. Такое расширение можно увидеть на примерах игр Braveland [3] или Warhammer 40,000: Deathwatch [4], которые в настоящее время размещены в системе цифрового распространения Steam [5].

По всем вышеприведённым доводам мною было принято решение начать разработку мобильного игрового приложения. Система Android была выбрана по причине её максимальной среди мобильных платформ простоте и открытости, но это не ограничивает проект и в процессе дальнейшего развития также возможно распространение на iOS и Windows Phone.

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

Помимо жанра для игры необходимо определение образа внутреннего мира (сеттинга, от англ. setting) и модели монетизации.

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

Модель монетизации игры возможна в двух вариантах: платная и условно-бесплатная. Первый подразумевает под собой продажу игры за определённую цену, второй - бесплатное распространение игры с получением прибыли другими способами, такими как реклама или продажа внутриигрового контента. Стоит отметить, что условно-бесплатная модель значительно более широко распространена на мобильных платформах, так как позволяет быстро привлечь максимально широкую аудиторию к новому проекту. В свою очередь, платная модель требует от разработчика гарантий качества своего продукта, которые могут заключаться только в его известности по прошлым проектам. По этой причине мой выбор остановился на условно бесплатной модели.

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

1. Техническое предложение

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

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

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

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

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

Ввиду вышеуказанной информации, мною решено принять следующие параметры:

время отклика приложения - 0,5 секунды;

минимальная версия операционной системы - Android 7.0;

задержка хода искусственного интеллекта - 1 секунда.

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

2. Анализ предметной области

2.1 Обзор аналогов

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

Braveland [3] - игра 2014 года. Один из наиболее близких аналогов, так как практически полностью совпадает по жанру и сеттингу, однако распространялась по платной модели. Помимо Android так же вышла на iOS, а позже версия для ПК была опубликована в Steam [5]. Получила известность среди любителей жанра и высокие оценки пользователей - средняя оценка в Google Play [2] составляет 4,4 балла (каждый пользователь выставляет оценку по пятибалльной шкале), а в настоящее время опубликовано два продолжения. Примечательна простотой игровых механик и дизайном - практически все элементы игрового процесса можно найти в более ранних представителях жанра, что не помешало хорошим продажам игры. Пример игрового процесса представлен на рисунке 2.1.

Battle for Wesnoth [6] - распространяемая по лицензии GNU General Public License [7] игра 2003 года выпуска от независимых разработчиков. К настоящему времени получила широкую известность, множество обновлений и пользовательских модификаций. Из достоинств игры самыми значительными являются глубокая проработка сюжета, новизна игровых механик, качественное музыкальное сопровождение и постоянные обновления. Является примером многолетней поддержки игрового проекта с очень простым двухмерным графическим исполнением. Пример игрового процесса представлен на рисунке 2.2.

Рисунок 2.1 Braveland

Рисунок 2.2 Battle for Wesnoth

King’s Bounty: Legions [8] - первая игра для мобильных платформ из известной серии King’s Bounty. Вышла в 2011 году на Android, iOS и Windows Phone, в 2012 году на iPad и в 2013 году опубликована в Steam [5]. Получила крайне широкую известность благодаря множеству уже существовавших на момент выхода игры фанатов серии, однако подверглась критики в связи с упрощением игрового процесса оригинальной серии и чрезмерным упрощением игры при вложении в неё денежных средств. Последнее является основным пунктом критики условно-бесплатной модели распространения - большинство пользователей считает, что вложение в игру денежных средств не должно затрагивать внутриигровой баланс. Несмотря на известность, получила средние оценки пользователей и осталась единственной игрой в серии на мобильных платформах. Пример игрового процесса представлен на рисунке 2.3.

Warhammer 40,000: Deathwatch [4] - игра по известной научно-фантастической вселенной Warhammer 40,000. Вышла в 2015 голу для iOS и ПК. Несмотря на популярность, полученную в первую очередь благодаря фанатам вселенной, игра получила большое количество негативных отзывов - 37% рецензий в Steam [5] негативны. Основными проблемами игры являлась слабая оптимизация, а также множество ошибок, связанных с 3D графикой, большое количество платного контента и отсутствие обновление практически от момента выхода игры. Пример игрового процесса представлен на рисунке 2.4.

Рисунок 2.3 Warhammer 40,000: Deathwatch

Рисунок 2.4 Warhammer 40,000: Deathwatch

.2 Выводы по предметной области

По вышеприведённым примерам можно заключить следующее:

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

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

необходимо максимально аккуратное применение условно-бесплатной модели монетизации, продажа внутриигрового контента не должна затрагивать игровой баланс.

.3 Индивидуальность проекта

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

Как пример можно назвать игру 2016 года Hieroglyphika. Эта игра показала обычный для своего жанра игровой процесс, но максимально ярко преподнесла ключевую особенность - в игре полностью отсутствует текст, а информация подаётся в виде иероглифов, о значение который игрок может догадываться самостоятельно. Пример внешнего вида этой игры можно увидеть на рисунке 2.5.

Рисунок 2.5 Hieroglyphika

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

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

Помимо очевидного разделения поля на клетки, наиболее яркой демонстрацией реализации такой идеи будет система передвижения персонажей. Передвижение фигур в шахматах основано на абстрактных, но чётких и стабильных паттернах. Это не слишком реалистично - передвижение коня буквой «г» слабо соотносится с реально конницей, - но определённо положительно сказывается на разнообразии партий. Так же и в игре - если лучники будут ходить только по диагонали, а рыцаря по окружности радиусом в две клетки, то игра уже потребует от игрока отказа от части прошлого игрового опыта и применения аналитических способностей.

. Выбор среды разработки и сторонних библиотек

.1 Выбор среды разработки

Мною были рассмотрены среды разработки Eclipse [9], IntelliJ IDEA [10] и Android Studio [11]. Все они предоставляют полные возможности по разработке приложений на языке Java последней версии. Android Studio имеет встроенные средства по настройке комплекта средств разработки Android SDK и эмулятор устройств с операционной системой Android. В Eclipse и IntelliJ IDEA настройка Android SDK и эмуляция устройств на ОС Android осуществляется при помощи официальных плагинов. К моменту начала работы с проектом у меня уже был значительный опыт работы в Eclipse и Android Studioи меньший в IntelliJ IDEA.

Из этих трёх сред разработки Android Studio имеет следующие преимущества в контексте разработки для ОС Android:

большее относительно других IDE количество обучающих материалов и документации по разработке для мобильных платформ;

простота настройки Android SDK и эмуляторов.

Из недостатков Android Studio можно отметить только высокое потребление системных ресурсов средой разработки.

По вышеуказанным причинам для разработки мною была выбрана среда разработки Android Studio.

.2 Выбор фреймворка

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

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

Мною был выбран фреймворк libGDX. Этот движок разрабатывается с 2014 года, в графической части основан на OpenGL и ориентирован на язык Java, поддерживая при этом C и C++. Ключевой особенностью языка является модульная система обеспечения кроссплатформенной разработки: основной код пишется в одном общем модуле, а специальные используются для сборки проекта на разных платформах. Таким образом с введением минимального количества кода только в специальных модулях можно обеспечить запуск и корректную работу приложения на следующих системах: Windows, Android, Mac OS, iOS, Linux, и браузеры с поддержкой WebGL.

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

Так же среди преимуществ libGDX можно отметить следующие качества:

открытая лицензия Apache 2.0;

высокая производительность графики при относительно низкой сложности её разработки. Это особенно заметно в 2D, что идеально подходит для разрабатываемого проекта;

наличие большого объёма документации и обучающих материалов, в том числе русскоязычных.

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

Источник: https://www.bibliofond.ru/detail.aspx?id=897401