ПРИСТРОЇ, ПРИСТРОЇ, ПРИСТРОЇ – ANDROID

&nbsp

Android не обмежується однією апаратної екосистемою Такі відомі виробники пристроїв, як НТС, Motorola і Samsung, швидко зорієнтувалися і пропонують широкий спектр пристроїв, що працюють на цій платформі Крім смартфонів на ринку останнім часом зявилося багато планшетів, що використовують Android Деякі ключові концепції дотримуються для всіх пристроїв, що дещо спрощує життя розробника ігор

&nbsp

Апаратна складова

Для Android-пристроїв не визначені мінімальні вимоги до апаратної начинці Однак Google рекомендує наступні характеристики, яким задовольняють (і найчастіше їх значно перевершують) практично всі Android-гаджети

ARM-процесор CPU – на момент написання і це вимога перестало бути обовязковим, тепер Android працює і на архітектурі х86 Новітні пристрої на базі ARM також підтримують двоядерні процесори

128 Мбайт ОЗУ – це мінімальна вимога В даний час пристрої high-end оснащуються 512 Мбайт оперативної памяті, подолання рубежу в 1 Гбайт очікується в самий найближчий час

256 Мбайт флеш-памяті – це мінімальний обсяг памяті для зберігання системних зображень і додатків Довгий час недолік памяті був прокрустовим ложем для користувачів Android, оскільки сторонні додатки не могли встановлюватися на карту памяті Все змінилося з виходом версії Froyo

Карта памяті Mini SD або Micro SD – більшість пристроїв поставляються з картою памяті на кілька гігабайт, яка може бути замінена користувачем на носій більшого обєму

16-бітний TFT LCD сенсорний дисплей з роздільною здатністю HVGA – до випуску версії 16 Android підтримувала тільки HVGA-екрани (480 х 320 пікселів) Починаючи з версії 16 підтримуються також більш високі і більш низькі дозволу Нинішні пристрої вищої цінової категорії можуть похвалитися WVGA-дисплеями (800 х 480, 848 х 480 або 852 х 480 пікселів), при цьому деякі бюджетні моделі використовують дозвіл QVGA (320 х 280 пікселів) Сенсорні екрани майже повсюдно ємнісні, підтримка мультитач відсутня тільки на застарілих пристроях

Виділені апаратні клавіші використовуються для навігації У більшості телефонів присутні кнопки Меню, Пошук, Домашній екран і Назад Проте деякі виробники відхиляються від цієї рекомендації і постачають свої апарати частиною цих клавіш або взагалі обходяться без них

Природно, в пристроях Android багато й інших апаратних складових Майже всі гаджети володіють GPS, акселерометром і компасом У багатьох є датчики наближення і освітленості Ці пристрої надають розробникам ігор нові можливості для взаємодії з користувачем (ми розглянемо їх пізніше) Деякі смартфони оснащуються повною QWERTY-клавіатурою і трекболом (останній найчастіше можна виявити на пристроях НТС)

Камера також присутній на більшості пристроїв Деякі телефони та планшети мають навіть дві камери: одну на задній частині, іншу спереду (для відеочатів) Вирішальне значення для розробки ігор має наявність виділених графічних процесорів (GPU) Самий перший Android-апарат вже мав графічний процесор, сумісний з OpenGL ES 10 Більш сучасні пристрої забезпечуються GPU, по продуктивності порівнянними з Xbox і PlayStation 2 і підтримуючими версію OpenGL ES 20 За відсутності графічного процесора платформа пропонує програмний обробник графіки PixelFlinger Багато бюджетні пристрої покладаються на програмний рендерер, чиєю потужності зазвичай достатньо для екранів з низьким дозволом

Крім графічного процесора сучасні Android-гаджети оснащуються і виділеним апаратним звуковим процесором Багато апаратні платформи також мають спеціальні чіпи апаратного декодування різних мультимедіа-форматів (Н264)

Можливості підключення реалізуються апаратними компонентами для мобільного звязку, Wi-Fi і Bluetooth Всі вони в більшості випадків інтегруються в одному чіпі (SoC) подібне рішення часто використовується у вбудованих системах

Перше покоління, друге покоління, наступне покоління

Виходячи з відмінності в можливостях (особливо з точки зору продуктивності), Android-розробники зазвичай ділять всі пристрої на три групи – перший, другий і наступного поколінь Ця термінологія досить красномовна, особливо коли справа стосується розробки ігор для Android Розглянемо значення використовуваних термінів

Кожне покоління має свій набір характеристик, що представляє собою комбінацію версії ОС, процесора / графічного чіпа і дозволу дисплея Хоча апаратні характеристики не міняються, це не стосується версії Android, встановленої на апараті

Початок: перше покоління

Пристрої першого покоління – стартова позиція еволюції Android Найкраще цю спільність ілюструє один з найбільш видатних її зразків – НТС Нього

Це був один з перших телефонів на Android, оголошений вбивцею iPhone Він вийшов у листопаді 2009 року і працював на версії 15, що було стандартом для платформи в тому році Останнє офіційно випущене оновлення для Нього – прошивка версії Android 21 Оновлення до більш нової версії можливі тільки при отриманні прав root – повного доступу до системи Нього володіє 3,2-дюймовим сенсорним ємнісним HVGA-екраном, комбінацією процесора / графічного чіпа Qualcomm з частотою 528 МГц MSM7201A, акселерометром, компасом, а також 5-мегапіксельною камерою Набір навігаційних клавіш традиційний, крім того, мається трекбол

Нього – апофеоз пристроїв першого покоління Підтримка мультитач сенсорного дисплея страждає обмеженістю – можливі лише деякі жести (наприклад, збільшення і зменшення масштабу) Потрібно зауважити, що офіційно мультитач-жести пристроєм не підтримується (як і офіційним API версії 15) З цієї точки зору Нього став великим розчаруванням для розробників ігор, які сподівалися на присутність такого ж набору можливостей мультитач, що і в iPhone

Іншою характерною особливістю пристроїв першого покоління є дозвіл екрана 480 х 320 пікселів (стандарт для версій ОС до 16)

Що стосується процесора (у тому числі графічного), Нього використовує досить стандартний для свого покоління чіп MSM7201А від Qualcomm, який не підтримує на апаратному рівні операції з плаваючою точкою (Ще один вельми важливий момент для створення ігор) MSM7201A сумісний з OpenGL ES 10, що використовують фіксований конвеєр замість змінюваного на основі шейдерів Графічний процесор досить швидкий, але сильно поступається по продуктивності використовуваному в iPhone 3G чіпу PowerVR МВХ Lite (що зявився у продажу в той же час) НТС використовував той же чіп і в інших пристроях першого покоління, наприклад в знаменитому НТС Dream (T-Mobile Gl) MSM7201A швидко перетворюється на бюджетний процесор, коли справа доходить до апаратної 3D-графіки Тому він стає вашим гіршим ворогом, коли справа доходить до забезпечення сумісності з усією лінійкою Android

Таким чином, пристрою можна віднести до першого покоління за такими ознаками: процесор з частотою до 500 МГц без апаратної підтримки операцій з плаваючою точкою графічний чіп (у більшості випадків MSM7201A), підтримуючий

OpenGL ES 1x Про дозвіл екрана 480 х 320 пікселів Про обмежена підтримка мультитач первинна версія використовуваної ОС – Android 15/16 або нижче

Звичайно, цю класифікацію не можна назвати суворої – багато виходять і зараз бюджетні пристрої володіють приблизно тим же набором характеристик Хоча, строго кажучи, вони не відносяться до першого покоління, ми можемо помістити їх в ту ж категорію, що й Нього і йому подібні На момент написання і смартфони першого покоління все ще займають пристойну частку ринку, тому нам доведеться враховувати їх обмеження і відповідним чином адаптувати для них гри

Більше мощі: друге покоління

Наприкінці 2009 року на сцену вийшли пристрою другого покоління Першими зявилися Motorola Droid і Nexus One (січень 2010) і продемонстрували небачені раніше в мобільних телефонах обчислювальні потужності Nexus One оснащений процесором Qualcomm QSD8250 (частота 1 ГГц) з сімейства чіпів Snapdragon Motorola Droid використовує чіп ОМАР3430 (550 МГц) від Texas Instruments Обидва процесора на апаратному рівні підтримують векторні операції з плаваючою точкою за рахунок використання розширень Vector Floating Point (VFP) і NEON ARM відповідно Обєм оперативної памяті Nexus One – 512 Мбайт, Motorola Droid – 256 Мбайт,

У телефонах застосовується WVGA-екран – з дозволом 800 х 480 пікселів, виконаний за технологією Active-Matrix Organic Light-Emiting Diode (AMOLED) (у випадку з Nexus One) і LCD з роздільною здатністю 854 x 480 пікселів (У Motorola Droid) Обидва ці екрану – ємнісні і підтримують мультитач Втім, незважаючи на заявлену підтримку мультитач, в деяких ситуаціях він працює некоректно – найбільш часто зустрічається проблемою є невірний розрахунок координат торкання при близькій відстані між пальцями і краями екрана

Nexus One спочатку постачався з Android версії 21, Motorola Droid використовував версію 20 Надалі обидва телефони отримали оновлення до версії Android 22 Що важливо для розробників ігор – наявність вбудованого графічного процесора PowerVR SGX530 – потужний чіп, використовуваний також в iPhone 3GS Зверніть увагу, що екран в iPhone 3GS вдвічі менше, ніж у Motorola Droid, що дає творінню Apple невелику перевагу в продуктивності (адже потрібно промальовувати менше пікселів для кожного кадру) Чіп Adreno 200, застосовуваний у Nexus One (продукт Qualcomm), – злегка менш продуктивний, ніж PowerVR SGX530 Залежно від виду оброблюваної сцени обидва ці процесори можуть бути на порядок продуктивніше, ніж використовуваний в більшості пристроїв першого покоління MSM7201A

Пристрої другого покоління можна відрізнити за такими ознаками: процесор з частотою від 550 МГц до 1 ГГц з апаратною підтримкою операцій з плаваючою точкою програмований графічний прискорювач з підтримкою OpenGL ES 1x і 20 WVGA-екран підтримка мультитач Android версій 20, 201, 21 або 22

Варто зауважити, що деякі телефони першого покоління отримали оновлення операційної системи до версії 21, що зробило позитивний вплив на їх загальну продуктивність, але, звичайно, не вирівняються відставання їх апаратної складової від пристроїв другого покоління Таким чином, розмежування між першим і другим поколіннями можна проводити тільки з урахуванням усіх факторів (процесор, графічний чіп і дозвіл екрану)

Протягом 2010 року зявилося безліч апаратів другого покоління (таких як НТС Evo або Samsung i9200 Galaxy S) Хоча їх апаратна складова покращилася в порівнянні з піонерами Nexus One і Motorola Droid за рахунок великих розмірів дисплея і трохи більш швидких процесорів, ці телефони також належать до другого покоління

Майбутнє: наступне покоління

Виробники пристроїв намагаються зберегти інформацію про свої новинки в секреті якомога довше, але їм рідко вдається уникнути витоків Загальна тенденція для всіх майбутніх пристроїв – двоядерні процесори, більше оперативної памяті, більш потужні графічні чіпи і поліпшені дозволу екрану Один з таких апаратів – Samsung i9200 Galaxy S2, за чутками несе на борту AMOLED-дисплей з роздільною здатністю 1280 х 720, двоядерний процесор з частотою 2 ГГц і 1 Гбайт оперативної памяті Про графічної складової відомо небагато – можливим кандидатом вважають нове сімейство чіпів NVIDIA Tegra 2, що обіцяє значне посилення графічних потужностей

Хоча мобільні телефони в найближчому майбутньому залишаться в центрі екосистеми Android, в її еволюції гратимуть свою роль і нові форм-фактори Виробники створюють планшети й нетбуки, що використовують як операційної системи Android Портування Android на інші архітектури (наприклад, х86) йде повним ходом, що збільшує кількість потенційних платформ Для планшетів зявилася навіть спеціальна версія – Android 30 Яким би не було майбутнє, Android буде до нього готова

Ігрові контролери

Усвідомлюючи відмінності методів введення в різних гаджетах для Android, деякі виробники пропонують спеціальні ігрові контроллери для них Оскільки спеціального API для них в операційній системі не передбачено, виробники ігор змушені реалізовувати їх підтримку за допомогою SDK, пропонованих виробниками

Один з таких контролерів називається Zeemote JS1 (рис 13) і являє собою аналоговий джойстик з набором кнопок

Контролер підключається до пристрою за допомогою Bluetooth Розробники ігор забезпечують підтримку даного пристрою за допомогою окремого API, реалізованого в Zeemote SDK Деякі ігри для Android вже підтримують цей контролер Теоретично користувачі можуть підключити до своїх пристроїв контролер Nintendo Wii (також через Bluetooth) Були показані кілька прототипів, що реалізують можливість використання Wii, але не існує офіційно підтримуваного SDK – що робить процес інтеграції злегка скрутним

Рис 13 Контролер Zeemote JS1

Game Gripper – дотепне винахід, призначене для використання з Motorola Droid і Milestone Це простий гумовий аксесуар, надітий на QWERTY-клавіатуру телефону та реалізує більш-менш стандартну компоновку ігрового джойстика поверх звичайної клавіатури Розробникам ігор необхідно лише додати підтримку клавіатурних елементів управління – їм немає потреби підключати спеціальну бібліотеку для роботи з Gripper Зрештою, це всього лише шматок гуми

Ігрові контролери все ще занадто екзотичні в реальності Android Проте в деяких успішних іграх вже є їх підтримка, що була з ентузіазмом зустрінута гравцями Тому ми будемо обговорювати інтеграцію підтримки для таких периферійних пристроїв

Джерело: Mario Zechner / Маріо Цехнер, «Програмування ігор під Android», пров Єгор Сидорович, Євген зазноби, Видавництво «Пітер»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*