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

advertisement
XIX Международная научно-практическая конференция «СОВРЕМЕННЫЕ ТЕХНИКА И ТЕХНОЛОГИИ»
Секция 7: Информатика и управление в технических системах
ВЫБОР СРЕДЫ ПРОГРАММИРОВАНИЯ ДЛЯ РАЗРАБОТКИ ИГР
ПОД ОПЕРАЦИОННУЮ СИСТЕМУ ANDROID
Анисимова Д.А.
Научный руководитель: Вичугова А.А., ассистент
Томский политехнический университет, 634050, Россия, г. Томск, пр. Ленина, 30
E-mail: fonce21@sibmail.com
Введение
В связи с повсеместным распространением
мобильных
компьютеров,
включая
сотовые
телефоны,
электронные
книги,
планшеты,
коммуникаторы, смартфоны и пр., постоянно
возрастает актуальность разработки программных
приложений для подобных устройств.
Часто возникает вопрос выбора соответствующей
платформы для разработки из существующего
многообразия: iOS, Android, Windows Phone и т.д.
Существует множество подходов к разработке,
которые открывают множество возможностей для
разработчиков.
В данной статье рассматривается обоснование
выбора платформы и начальный этап разработки
графической игры для мобильных устройств.
Сегодня производители мобильных устройств
считают внедрение новых возможностей в области
мобильных игр одним из важных направлением
развития своей продукции.
Игры для мобильных платформ прошли долгий
путь развития: существенно изменилась графика,
появились сложные функции, занимающие большой
объем памяти, усовершенствовалось звуковое
сопровождение,
добавились
возможности
управления персонажами или объектами игры с
помощью сенсорного дисплея и акселерометра.
Раньше игры распространялись только как бонусприложение к телефону, а сейчас есть масса
возможностей скачать игры на телефон платно или
бесплатно.
Выбор платформы
В настоящее время одной из наиболее
распространенных программной платформой для
мобильных устройств является Android, основанный
на ядре Linux. При этом Android
позволяет
использовать всю мощь открытого интерфейса
программирования
приложений
Application
Programming Interface (API), используемого в
приложениях ядра. Архитектура построена таким
образом, что любое приложение может использовать
уже
реализованные
возможности
другого
приложения при условии, что последнее откроет
доступ на использование своей функциональности
[1]. Таким образом, архитектура реализует принцип
многократного
использования
компонентов
операционной системы и приложений.
202
Распространяется Android на различных видах
оборудования, которые только можно представить в
виде современных мобильных устройств –
телефонов,
смартфонов,
коммуникаторов,
планшетных компьютеров, электронных книг и
многое другое.
Инструменты разработки
Основатели платформы Android предлагают
бесплатный пакет
Android SDK, содержащий
эмулятор мобильной платформы, используемой на
устройствах, а также инструменты для настройки
выбранной среды программирования, что позволяет
без проблем создавать бесплатные или почти
бесплатные приложения.
Поэтому программисту необходимо выбрать
подходящий
инструментарий
разработки,
совместимый с пакетом
SDK. Подобных сред
разработки существует несколько, но наиболее
популярными сегодня считаются игровой редактор
Unity3D и плагин для IDE Eclipse «Android
Development Tools» (ADT).
Unity3D представляет собой профессиональный
мультиплатформенный игровой редактор для
создания игр и графических приложений [2]. Он
включает конструктор игр – среду редактирования с
удобным
пользовательским
интерфейсом,
позволяющим создавать игру визуально. Редактор
игр прост и интуитивно понятен: свойства объектов
настраиваются
несколькими кликами
мыши,
включая назначение текстуры, звука, поведения,
привязку скриптов и т.д. Игровые объекты
полностью
управляемы,
интерактивны
и
настраиваемы:
возможно,
визуальное
перетаскивание и манипуляции с объектами, их
клонирование и другие сложные операции [3].
При использовании редактора разработчику не
приходиться думать об аппаратной и программной
конфигурации устройства, разрешении экрана и
версии операционной системы. Все эти проблемы
решаются со стороны Unity. Для создания сценариев
можно использовать языки программирования C# и
JavaScript.
Eclipse представляет
собой
свободную
интегрированную
среду
разработки модульных
кроссплатформенных приложений. Для Eclipse
существует целый ряд свободных и коммерческих
модулей. Первоначально среда была разработана для
XIX Международная научно-практическая конференция «СОВРЕМЕННЫЕ ТЕХНИКА И ТЕХНОЛОГИИ»
Секция 7: Информатика и управление в технических системах
языка Java, но сегодня существует множество
расширений для поддержки и других языков: C/С++,
Fortran, JavaScript и т.д. Плагин ADT, разработанный
компанией Google, расширяет возможности среды.
Он позволяет быстро создать новые проекты
Android, включая интерфейс приложения, добавлять
пакеты на основе Android Framework API и
выполнять отладку приложений с использованием
инструментов Android SDK[4].
Eclipse с помощью удобного графического
интерфейса позволяет разработчику видеть, что он
делает и автоматически привязывает события к
объектам. В свою очередь, Unity отображает
конечный результат, т.е как выглядит все
приложение в целом, но объекты приходиться
создавать самостоятельно и настраивать привязку
сценариев к ним.
Тестирование и сравнение инструментов
Как правило, мобильные игры содержат большое
количество
элементов
графики
(картинки,
анимация). Поэтому для сравнения Unity3D и ADT
были выбраны уже готовые анимированные игры на
Android Market, созданные с помощью этих пакетов.
Игры оценивались по следующим критериям:
- время загрузки приложения (сек);
- размер памяти приложения (MB);
- средняя загрузка кэш памяти (MB);
- максимальная
загрузка
центрального
процессора устройства (%);
- среднее время отклика приложения по запросу
пользователя (мс);
- оценка использования анимации (мах 10);
- оценка управления (мах 10);
- оценка звуковых сопровождений (мах 10);
Для оценки значений вышеперечисленных
параметров
было
использовано
стандартное
приложение, отображающее загрузку процессора –
«Процессор проверки», которое строит график
загрузки процессора (рис.1), и отображает данные
программы.
Рис. 1 – График загрузки процессора
В таблице 1 приведена статистика оценки работы
игр.
Таблица 1 – Статистика работы игр
Критерий
Unity
Загрузка, сек
5-8
8-14
Размер, MB
18-20
4 - 15
5-7
5-7
КЭШ, MB
ЦП, %
Eclipse (ADT)
25-35
30-55
Отклик, мс
300-700
500-800
Анимация
8-10
5-8
203
Управление
Звук
9-10
9-10
10
10
Проанализировав результаты статистики, можно
сказать о преимуществе среды разработки Unity. В
ее достоинства входят быстрая загрузка приложения,
минимальные затраты аппаратной части системы и
время отклика программы. Графика состоит из более
ярких анимированных изображений. Единственным
недостатком является объем памяти, занимаемой
приложением. Среда разработки Eclipse больше
подходит для создания кнопочных приложений и
требует более высоких параметров устройства. Unity
более прост для разработчика, имеет удобный
интерфейс (рис.2), в котором можно быстро создать
сцену игры и в любой момент отредактировать ее.
Рис. 2 – Настройка сцены игры
Готовое приложение может быть опубликовано
для общего доступа в среде Android Market с целью
бесплатного распространения или продажи, что
позволяет коммерциализировать разработку.
Заключение
В работе рассмотрены основные принципы для
разработки приложений под мобильные платформы.
С помощью тестирования готовых продуктов были
определены достоинства и недостатки наиболее
популярных на сегодня средств разработки: Unity3D
и ADT. В результате анализа полученных
характеристик сделан выбор оптимальной и удобной
среды разработки для графической игры под
операционную систему Android.
Литература
1. Свободная энциклопедия «Википедия».
Android [Электронный ресурс]. Режим доступа:
http://ru.wikipedia.org/wiki/Android
2. Официальный сайт компании Unity3D
[Электронный
ресурс].
Режим
доступа:
http://unity3d.com/
3. Свободная энциклопедия «Википедия».
Unity (игровой движок) [Электронный ресурс].
Режим доступа: http://ru.wikipedia.org/wiki/Unity/
4. Свободная энциклопедия «Википедия».
Eclipse (среда разработки) [Электронный ресурс].
Режим доступа: http://ru.wikipedia.org/wiki/Eclipse
Download