ВВЕДЕНИЕ 1

advertisement
1 ВВЕДЕНИЕ
В современном мире получил широкое развитие рынок мобильных
электронных устройств. Соответственно стали появляться операционные
системы, рассчитанные на данный тип устройств и большое разнообразие
программного обеспечения.
С момента выхода в 2008 году, операционная система Android
получила очень широкое распространение среди пользователей. Данная
операционная система установлена в 81,3% смартфонов, проданных в третьем
квартале 2013 года. Кроме того OC Android может работать на планшетных
компьютерах, электронных книгах, цифровых проигрывателях, наручных
часах, игровых приставках, нетбуках, смартбуках и других устройствах. В
связи с чем появилось множество программ и приложений, ориентированных
на мобильные устройства и данную операционную систему в частности.
Этому в немалой степени поспособствовала компания Google, объявив об
открытии исходных кодов Android. То есть заниматься созданием приложений
может любой желающий, все необходимые для этого материалы и
программные средства находятся в открытом доступе.
При
разработке
приложений
Android
используется
язык
программирования Java, являющийся одним из наиболее распространенных.
Использование Java стало логичным выбором для платформы Android, потому
что это мощный, свободный и открытый язык. На Java разрабатываются
полномасштабные корпоративные приложения, расширяется функционал вебсерверов, создаются приложения, предназначенные для пользовательских
устройств (мобильных телефонов, пейджеров и персональных цифровых
помощников), и это далеко не полный перечень возможных областей его
применения.
Java является кроссплатформенным языком. Он позволяет
разрабатывать приложения, на зависящие от аппаратных особенностей того
или иного устройства. Имея опыт программирования на языке Java можно
быстро освоить создание приложений для платформы Android с помощью
Android API и других вспомогательных средств, предлагаемых независимыми
производителями.
Язык программирования Java является объектно-ориентированным и
предоставляет разработчикам возможность получить доступ к мощным
библиотекам
классов,
ускоряющих
разработку
приложений.
Программирование графического интерфейса пользователя является
управляемым событиями.
Немаловажную часть рынка приложений для мобильных устройств
занимает отрасль развлекательных приложений, т.е. игр. На данный момент
существует огромное количество игр и множество их разновидностей. Каждая
игра соответствует вкусам и предпочтениям определенного круга
пользователей, поэтому их количество постоянно увеличивается.
Существует множество жанров игр. Одним из популярных жанров
является "Tower Defense" ("Защита Башни"). Суть игры заключается в том,
чтобы защищать замок (башню, дворец, дом и т.д.) от врагов, то есть
уничтожить их до того как они пересекут игровую карту. Игровой процесс
заключается либо в уничтожении врагов посредством оружия, либо с
использованием строительства охранных башен. Большая часть игр данного
типа довольно сложна в понимании и управлении, и не подходит для
большинства рядовых пользователей, не готовых вдаваться в изучение
нюансов логики, стратегии и управления игры.
В связи с этим возникла идея создать подобную игру, рассчитанную на
более широкий круг пользователей, т.е. обладающую простым и понятным
интерфейсом, привлекательной графикой и не требующей много времени и
сил для игрового процесса.
2 1 Общее описание
2.1 1.1 Цель проекта
Целью данного дипломного проекта является создание игры жанра
Tower Defense для мобильных устройств с установленной операционной
системой Android на языке программирования Java. Игра предназначена для
рядового пользователя мобильного устройства, не преследующего цели
вникать в нюансы и сложности управления игрой.
2.2 1.2 Задачи проекта
Для достижения поставленной цели проект предполагает решение
следующих задач:
а) разработать алгоритм работы программы;
б) создать классы, реализующие работу программы;
в) создать привлекательное графическое отображение игры;
г) разработать пользовательский интерфейс.
2.3 1.3 Результат разработки проекта
Для решения поставленных задач был разработан архивный
исполняемый файл-приложение "CatDefense" формата APK (Android Package),
содержащий:
 классы программы;
 необходимые графические изображения;
 необходимые аудио-файлы;
 подключаемые библиотеки;
 файлы хранения данных.
2.4 1.4 Ограничения проекта
Пакет программного обеспечения "CatDefense" был разбит на
следующие составные части:
 хранение и использование данных;
 алгоритмы игрового процесса;
 графическое и звуковое представление;
 пользовательский интерфейс.
Данный дипломный проект охватывает реализацию всех функций,
необходимых для корректной работы программного обеспечения, что делает
возможным использование игры на устройствах пользователей и оставляет
возможность при необходимости далее развивать функциональные
возможности программы.
2.5 1.5 Область применения разработки
2.5.1 1.5.1 Описание пользователей
Разрабатываемое программное обеспечение рассчитано на мобильные
устройства с установленной операционной системой Android, следовательно,
может использоваться любым обладателем мобильного устройства с данной
ОС. Приложение разрабатывается для широкого круга пользователей, не
ограниченного полом, возрастом и другими персональными данными
потенциальных пользователей.
2.5.2 1.5.2 Основные потребности пользователя
В проекте разрабатывается развлекательное программное обеспечение,
цель которого обеспечить досуг пользователя. Существующие на данный
момент игровые приложения подразделяются на множество видов и жанров.
Для данного проекта был выбран жанр "Tower Defense". Игры данного типа
как правило обладают достаточно сложной логикой и стратегией,
соответственно они трудны для понимания рядовым пользователем
мобильного устройства. Кроме того темы этих игровых приложений
достаточно однообразны и рассчитаны на какой-то определенный круг людей.
Таким образом, были выведены следующие потребности пользователя:
 потребность в небольшом отдыхе и развлечении;
 потребность в простом управлении;
 потребность в привлекательном графическом отображении
приложения.
2.5.3 1.5.3 Альтернативы и конкуренты
На начальном этапе разработки проекта был проведен анализ рынка
игровых приложений данного жанра, в результате создан обзор наиболее
популярных среди пользователей аналогов.
2.5.3.1 1.5.3.1 Tower Defense (Com2uS)
Наиболее популярное приложение в жанре Tower Defense. Игра
распространяется бесплатно. Присутствует выбор уровня сложности, большое
количество карт. Приложение хорошо оптимизировано, имеет понятный
пользовательский интерфейс. Отсутствует реклама. Недостатком является
средний уровень графического исполнения. Скриншот игры приведен на
рисунке
1.1.
Источник:
https://play.google.com/store/apps/details?id=com.com2us.towerdefense.
normal.freefull.google.global.android.common.
Рисунок 1.1 – Скриншот игры Tower Defense
2.5.3.2 1.5.3.2 Castle Defense (Elite Games)
Данная игра в жанре Tower Defense содержит множество оригинальных
идей и предоставляет уникальный геймплей. Присутствует выбор персонажа,
большое количество карт, отсортированных по 4 категориям: Normal, Hard,
Mission, Endless. Игра хорошо оптимизирована. Недостатком является
большое количество рекламы и ограничение на места постройки башен.
Скриншот
игры
приведен
на
рисунке
1.2.
Источник:
https://play.google.com/store/apps/details?id
=com.hz.game.cd.
Рисунок 1.2 – Скриншот игры Castle Defense
2.5.3.3 1.5.3.3 Radiant Defense (Hexage Ltd)
Главными преимуществами приложения являются дизайн и
оптимизация. Выбор карт средний. Реклама отсутствует. Приложение
является условно бесплатным, и комфортно его использовать, не вкладывая
денежные средства, невозможно. Выбора уровня сложности нет. Скриншот
игры
приведен
на
рисунке
1.3.
Источник:
https://play.google.com/store/apps/details?id=net.hexage.defense.
Рисунок 1.3 – Скриншот игры Radiant Defense
2.5.3.4 1.5.3.4 Fantasy Kingdom Defense HD (TEQUILA MOBILE)
Сильный представитель жанра. Имеет отличное графическое
исполнение, хорошую оптимизацию, выбор уровня сложности. Выбор карт
средний. Содержит много материала, который можно разблокировать по ходу
игры, что поддерживает интерес игрока. Также для разблокировки материала
можно приобретать игровую валюту за реальные деньги. Данная система
реализована ненавязчиво, использование не обязательно. Реклама
ненавязчива. Скриншот игры приведен на рисунке 1.4. Источник:
https://play.google.com/store/apps/details?id
=com.tqm.fantasydefense.mainactivity.
Рисунок 1.4 – Скриншот игры Fantasy Kingdom Defense HD
2.6 1.6 Возможности разрабатываемого
программного обеспечения
На рисунке 1.5 представлена диаграмма прецедентов приложения
"CatDefense". На ней отображены все функциональные возможности
разрабатываемого программного обеспечения с точки зрения пользователя.
При запуске приложения,
открывается главное меню, из которого
пользователь может управлять программой. При выборе пункта "Играть",
пользователь получает доступ к главному игровому классу, где происходит
игровой процесс. После завершения игры, если пользователь набрал
достаточное количество очков, открывается меню ввода, где пользователь
может ввести свое имя для записи в таблицу рекордов. Пользователь имеет
возможность просматривать таблицу рекордов. При выборе пункта меню
"Настройки" можно выбрать уровень сложности игры (регулирует скорость
врагов во время игрового процесса) и очистить таблицу рекордов. В
программе представлена справка пользователя, доступная в пункте меню
"Помощь".
Рисунок 1.5 – Диаграмма прецедентов программы
2.7 1.7 Особенности разрабатываемого
программного обеспечения
Несмотря на то, что на рынке игровых приложений для мобильных
устройств нет недостатка конкурентов, любое созданное программное
обеспечение может найти своих пользователей.
Разрабатываемое приложение для операционной системы Android
относится к жанру игр "Tower Defense" и имеет отличительные особенности
от данного вида развлекательных приложений. В первую очередь программа
обладает простым и понятным пользовательским интерфейсом. Большинство
существующих на данный момент игр достаточно сложно организованы и
требуют от пользователя некоторое количество времени для понимания
принципов управления приложением. Кроме того принцип игрового процесса
предельно прост, что позволяет организовать небольшой досуг пользователя
мобильного устройства вне зависимости от персональных данных
пользователя.
2.8 1.8 Перспективы развития
Данный дипломный проект охватывает все основные, необходимые для
полной работы приложения, этапы разработки. Дальнейшее развитие данного
программного обеспечения состоит в увеличении разнообразия наступающих
врагов, возможности улучшения характеристик персонажа, увеличении
количества уровней игры.
Также направление развития зависит от оценок, пожеланий и
рекомендаций пользователей. Кроме того должны учитываться темпы и
направления развития приложений со схожей тематикой, т.е. важно следить за
развитием альтернативных приложений от конкурентов.
2.9 1.9 Используемые технологии
В данной работе создается игра для мобильных устройств с помощью:
а) Java Development Kit (JDK) – бесплатно распространяемый компанией
Oracle Corporation (ранее Sun Microsystems) комплект разработчика
приложений на языке Java, включающий в себя компилятор Java (javac),
стандартные библиотеки классов Java, примеры, документацию, различные
утилиты и исполнительную систему Java (JRE);
б) Eclipse IDE – свободная интегрированная среда разработки
модульных кроссплатформенных приложений. Развивается и поддерживается
Eclipse Foundation;
в) Android Development Tools (ADT) – устанавливаемый плагин для
Eclipse IDE, предназначенный для создания Android приложений;
г) AndEngine – библиотека классов, подключаемая к проекту,
значительно упрощает создание игровых приложений для ОС Android.
Java
–
объектно-ориентированный
язык
программирования,
разработанный компанией Sun Microsystems (в последующем приобретённой
компанией Oracle). Приложения Java обычно транслируется в специальный
байт-код, поэтому они могут работать на любой виртуальной Java-машине
(JVM) вне зависимости от компьютерной архитектуры.
Достоинством подобного способа выполнения программ является
полная независимость байт-кода от операционной системы и оборудования,
что позволяет выполнять Java-приложения на любом устройстве, для которого
существует соответствующая виртуальная машина. Другой важной
особенностью технологии Java является гибкая система безопасности
благодаря тому, что исполнение программы полностью контролируется
виртуальной машиной. Любые операции, которые превышают установленные
полномочия программы (например, попытка несанкционированного доступа к
данным или соединения с другим компьютером) вызывают немедленное
прерывание.
Часто к недостаткам концепции виртуальной машины относят то, что
исполнение
байт-кода
виртуальной
машиной
может
снижать
производительность программ и алгоритмов, реализованных на языке Java. В
последнее время был внесен ряд усовершенствований, которые несколько
увеличили скорость выполнения программ на Java:
а) применение технологии трансляции байт-кода в машинный код
непосредственно во время работы программы (JIT-технология) с
возможностью сохранения версий класса в машинном коде;
б) широкое использование платформенно-ориентированного кода
(native-код) в стандартных библиотеках;
в) аппаратные средства, обеспечивающие ускоренную обработку байткода (например, технология Jazelle, поддерживаемая некоторыми
процессорами фирмы ARM).
Основные возможности языка Java:
а) автоматическое управление памятью;
б) расширенные возможности обработки исключительных ситуаций;
в) богатый набор средств фильтрации ввода-вывода;
г) набор стандартных коллекций: массив, список, стек и т. п.;
д) наличие простых средств создания сетевых приложений (в том числе
с использованием протокола RMI);
е) наличие классов, позволяющих выполнять HTTP-запросы и
обрабатывать ответы;
ж) встроенные в язык средства создания многопоточных приложений;
и) унифицированный доступ к базам данных:
1) на уровне отдельных SQL-запросов на основе JDBC, SQLJ;
2) на уровне концепции объектов, обладающих способностью к
хранению в базе данных на основе Java Data Objects (англ.) и Java Persistence
API;
к) поддержка обобщений (начиная с версии 1.5);
л) параллельное выполнение программ.
Для запуска приложений, написанных на языке Java, необходима
установленная JRE (Java runtime Environment). JRE – минимальная реализация
виртуальной машины, необходимая для исполнения Java-приложений, без
Related documents
Download