Сетевые игры для Android

Автор: droid.

Работа под виртуальной машиной программ, написанных на Java, очевидно будет отличаться от того, что можно видеть на том же iPhone. Речь идет о производительности и самих программных возможностях Google Android. Изображение: 

Сетевые игры для Android

Как известно, мобильные приложения для Google Android создаются на языке программирования Java и выполняются в специальном интерпретаторе, входящем в состав виртуальной машины Dalvik VM. На других мобильных платформах (Windows Mobile, Symbian) для нативной разработки используется преимущественно язык C и C++ (на нем можно программировать и под Android, но с определенными ограничениями и не под все процессоры). Соответственно, можно догадаться, что разработчики будут в первую очередь переносить (портировать) на Android OS Java-игры, которые до этого были популярны для обычных несмартфонов. Пишут с нуля игровые приложения в настоящее время далеко не все компании, поскольку, в отличие от iPhone, заработать в Android Market на продаже игр крайне сложно.

Работа под виртуальной машиной программ, написанных на Java, очевидно будет отличаться от того, что можно видеть на том же iPhone. Речь идет о производительности и самих программных возможностях Google Android. Так, установленные в первые модели "гуглофонов" процессоры с частотой 528 МГц могут воспроизводить преимущественно несложные аркады, но никак не 3D-шутеры или серьезные экшены. По-настоящему адекватный уровень игры можно получить на моделях с 1 ГГц процессором (будущие модели HTC 2010 года, Google Nexus One и им подобные) или на ARM-архитектуре от Cortex A8 (Motorola Milestone). Заметим также, что на возможность запуска и стабильной работы игры повлияет и версия самой Google Android. Так, на первых коммуникаторах (Android OS 1.5/1.6) могут не запускаться многие последние порты, которые выполняются уже с использованием API Android OS 2.0/2.1. Решить эту проблему пользователи-энтузиасты могут посредством установки неофициальных прошивок на свои коммуникаторы или оптимизированных версий Dalvik VM. Тем не менее, этот способ не всегда приносит ожидаемый результат из-за технических нюансов в каждом отдельном случае, поскольку каждый "гуглофон" уникален в своем роде. Android OS также весьма капризна в отношении к мультимедиа – так, идеальнее всего, если игра будет иметь графику в формате PNG, а музыку – в OGG из-за соответствующих ограничений в поддержке закрытых форматов.

На производительность игр повлияет и свободное количество памяти коммуникатора. Если не вдаваться в подробности, то чем больше оперативной памяти в устройстве, тем лучше. Аналогичное замечание справедливо и по отношению к постоянной основной памяти, в которую устанавливаются все приложения (на карту памяти они не ставятся). Так, в среднем дистрибутив игры может занимать 2-3 Мб, которые, во-первых, будут загружаться в ОЗУ и, во-вторых, занимать место в основной памяти. С нашей точки зрения, из ранних моделей "гуглофонов" для игр подходит (со многими оговорками и не для всех игр) только HTC Hero с 288 Мб ОЗУ и 512 Мб ПЗУ, а в целом, нормально играть можно будет только на последующих моделях "гуглофонов", когда они появятся в России. Еще можно упомянуть о наличии 3D-видеоускорителя в современных Android-коммуникаторах, который должен поддерживаться и на программном уровне (иначе в игре будет крайне мало "рамок" (fps). Повлияет на геймплей и удобство управления в играх – не во всех портах оно может считаться идеальным по причине отсутствия переназначения аппаратных кнопкок на виртуальные (то есть, все сводится преимущественно к связке "экран+джойстик", часто требуется клавиатура, которой нет в половине "гуглофонов", отсутствует поддержка мультитача).

Загрузка игр из Android Market

В лучших традициях онлайн-каталогов в Android Market под игры выделен отдельный раздел, где они отсортированы по жанрам. В отличие от App Store их немного, поэтому в большинстве случаев придется просматривать весь каталог. Бесплатных игровых приложений на платформе довольно много, но есть и платные. Впрочем, для российского пользователя они недоступны по причине отсутствия официальной поддержки Google Checkout в сетях российских операторов (в Сети можно найти способы по обходу этого ограничения).

Кроме того, поскольку Google Android – открытая платформа с одним из самых выдающихся SDK (лучше мы видели только у Maemo 5), то самодеятельные программисты-энтузиасты часто создают собственные сайты-проекты портирования той или иной игры на "гуглофоны". Рано или поздно о них становится известно крупным западным сетевым изданиям и поэтому обнаружить такие разработки (в Android Market их, естественно, нет) не так трудно. В нашем обзоре мы будем рассматривать и официальные игры, и портированные версии.

Quake

Еще с незабвенных времен показателем развитости мобильной платформы стала возможность запуска на ней самого известного тайтла всех времен и народов – Quake. Не исключением стал и Google Android, под который существует сразу три порта этой игры. Первый является попыткой перенести на платформу первый Quake с аппаратным ускорением OpenGL. Игра создавалась специально для ранних "гуглофонов" и запускается на HTC G1/Magic/Touch 3G и так далее. При установке она загружает из Сети сами миссии, но на ряде файлообменников присутствует и полный вариант всех эпизодов (размер примерно 200 Мб), который надо распаковать на карту памяти.

Про второй порт Техноблог CNews писал буквально на прошлой неделе. Речь идет об успешной попытке переноса Quake3 на коммуникатор Motorola Milestone. Программист разрабатывал код на языке C/C++ с использованием библиотек OpenGL. Игра оптимизирована под ARM-процессоры, где она выдает 22-25 fps (на HTC Hero для сравнения всего 14 fps с отключенным аудио и 11 fps со звуками). Кроме того, Quake3 требует наличия Android OS 1.6 и выше, а также оригинальные файлы с десктопного дистрибутива игры (их нужно скопировать на карту памяти).

Наконец, третий порт – это Quake II. Игра работает на ранних и современных "гуглофонах" с разной производительностью, однако весьма нестабильна в плане воспроизведения звуков.