Мобільна гра

ігрова програма для мобільних пристроїв

Мобі́льна гра́ — ігрова програма для мобільних пристроїв, наприклад стільникових телефонів, смартфонів, комунікаторів, КПК та інших (за винятком ноутбуків).

Поширені мобільні ігри для платформи Java Micro Edition. Цю платформу підтримують більшість сучасних мобільних пристроїв, в тому числі більшість стільникових телефонів стандарту GSM.

Технології

Установка ігор в мобільний телефон ускладнюється такими технічними обмеженнями:

  • Під час гри телефон повинен виконувати свою основну функцію — підтримувати зв'язок з базовою станцією.
  • Деструктивна програма, якщо їй дати можливість виконувати будь-які дії, може викрасти та конфіденційні дані, і зберігаються на рахунку гроші.
  • Слабкий процесор телефону та маленький об'єм оперативної пам'яті.

Тому існує кілька технологій мобільних ігор.

На машинному коді

Рішення на машинному коді спочатку орієнтовані на певну платформу. Тому такі ігри показують найвищий рівень продуктивності й використовують все мультимедійні можливості апарату, але недоступні для інших платформ.

Гра в складі прошивки

Історично перша, проста технологія написання мобільних ігор — на машинному коді в складі прошивки пристрою. Такі ігри існують навіть для дешевих телефонів, а проте такі ігри неможливо замінити або видалити без початкових кодів прошивки.

Ігри для смартфонів і КПК

У смартфонах та кишенькових комп'ютерах застосовуються встановлювані ігри на машинному коді (як на звичайних комп'ютерах), наприклад, ігри для N-Gage. Як і будь-яка інша програма, така гра може містити деструктивний код. З цим борються за допомогою сертифікації ігор, проте не всі виробники або видавці можуть дозволити собі це, а іноді витрати на сертифікацію можуть стати причиною більш високої ціни на гру.

На проміжних кодах

Рішення на проміжних кодах — спосіб не прив'язувати мобільні ігри до конкретної архітектурі процесора, операційної системи або прошивці.

J2ME

Sun Java Platform, Micro Edition (Java 2 Micro Edition, в просторіччі Java) — одне з найпоширеніших засобів для розробки ігор для мобільних телефонів. Легкість портування дозволяє випускати одну і ту ж гру на велике число різних пристроїв. Використання віртуальної машини для виконання проміжних кодів дозволяє обмежити доступ програми до даних телефону для підвищення безпеки, однак це ж часто призводить до зниження функціональності.

Незважаючи на те, що проміжний код призначений для виконання на великій кількості пристроїв, на різних телефонах реалізації віртуальної машини та апаратні специфікації можуть відрізнятися. Це може привести до проблем з сумісністю гри з різними пристроями, особливо при використанні розробниками додаткових бібліотек. Наприклад, різні пристрої можуть справлятися по-різному з відтворенням MMAPI при високих навантаженнях на мультимедійну підсистему, а деякі можуть не працювати та зовсім. іншими поширеними проблемами є різна кількість доступної розподіленої пам'яті пристрої та різні розміри дисплеїв (на деяких телефонах можна робити поворот екрану або здійснювати динамічна зміна дозволу дисплея), що також тільки додає проблем розробникам.

iOS

Платформа від Apple, існує у вигляді телефонів та плеєрів від самого Apple. Мобільні ігри пишуться на Objective C.

Android

Платформа від Google, існує у вигляді безкоштовної ОС, використовуваної виробниками телефонів. Мобільні ігри пишуться на Java, пізніше в Android SDK з'явилася можливість робити це і на C++.

DoJa

DoCoMo DoJa — альтернативний набір Java-бібліотек (Java-профіль), несумісний з J2ME. Поширений в Японії.

BREW

Qualcomm BREW (Binary Runtime Environment for Wireless) — це спеціальна віртуальна машина, оптимізована під швидкість та невеликий розмір. Поширена в США. Під BREW можна програмувати на Сі або на Java. З'явившись пізніше J2ME, BREW уникнув більшості проблем, властивих Java-платформі. BREW має велику швидкість виконання проміжного ходу, вбудований захист від копіювання та жорсткішу стандартизацію. SDK безкоштовний, але в свою чергу для кінцевого продукту необхідна дорога сертифікація в Qualcomm, а для налагодження — спеціальний пристрій.

Mophun

Synergenix Mophun (спотворене More fun).

З технічної точки зору, Mophun перевершує J2ME. Тести, які провели незалежні компанії, показали, що в пристрої, де Mophun видає 60 MIPS, J2ME показує 400 KIPS (це означає в 150 раз повільніше). Synergenix також додає, що в деяких пристроях деякі підсистеми використовують не код віртуальної машини, а нативний код процесора телефону, а це означає, що швидкість може досягати 90 % максимальної здатності ЦП телефону (наприклад, 90 MIPS для моделі з продуктивністю 100 MIPS при роботі з нативними програмами). Повноцінна Mophun-машина була в мобільних телефонах: Sony Ericsson T300, Sony Ericsson T310, Sony Ericsson T230. Повноцінна Mophun-машина і лише номінальна підтримка J2ME були в мобільному телефоні Sony Ericsson T610. Втім, згодом сама компанія Sony Ericsson відмовилася від підтримки Mophun.

Жанри

Переважна більшість ігор написано в жанрі «аркада» та «головоломка». зрідка зустрічаються представники інших жанрів. Основним обмеженням для «розмаїття жанрів» є пристрій введення. Наприклад, для зручної гри в 3D-шутер бажана можливість одночасного наведення на ціль і стрільби — використання двох клавіш одночасно, що утруднено на маленьких клавіатурах мобільного телефону, а стратегії в реальному часі спочатку орієнтувалися на управління джойстиком або комп'ютерною мишею.

Наприкінці 2000-х років поширилися сенсорні телефони, на них основним жанром стала фізична головоломка (Angry Birds,Cut the Rope).

Щоб залучити потенційного покупця, часто випускаються мобільні ігри з використанням відомого бренду (наприклад, Doom RPG), або за мотивами фільму, що нещодавно з'явився.

Окремо виділяють аркадні ігрові автомати та мобільні пристрої, як смартфони чи планшетні комп'ютери, на яких також можна грати у відеоігри.

Деякі ігри можуть запускатися на різних платформах. Ця їх здатність називається кросплатформністю або багатоплатформністю. Для досягнення кросплатформності розробляється окрема версія гри для кожної платформи, або ця гра використовує технології, з яким працюють декілька платформ. Наприклад, браузерні ігри потребують лише наявності інтернет-браузера.

Отже сьогодні можливо виділити наступні основні жанри ігор на телефон:[1]

Портування ігор

Для того, щоб гра могла приносити прибуток, важливо, щоб її підтримувало багато телефонів. При цьому технічні особливості різних апаратів сильно розрізняються: наприклад, максимально можливий розмір програми або об'єм оперативної пам'яті. Зазвичай пишуть гру для деякого «середнього» телефону, а потім модифікують під інші.

  • Для переносу між платформами змінюється розмір екрану і коди клавіш, підключаються ті бібліотеки, які підтримує телефон.
  • Для перенесення на менш функціональний пристрій з цільового продукту може бути видалено вміст (наприклад, зменшено число ігрових рівнів або зменшено якість графіки).
  • Для перенесення на більш функціональний можуть додаватися будь відеоефекти (як правило, не впливають на геймплей).

Для налагодження кінцевого продукту може використовуватися емуляція (найдешевший варіант) або справжні пристрої (більш дорогий, але надійний варіант). Майже у всіх компаній-розробників є інструментарій, який спрощує портування. Як правило, він є комерційною таємницею, хоча існують комерційні рішення (напрмер Celsius) та доступні безкоштовно для некомерційного використання (наприклад J2ME Polish).

Захист від копіювання

У більшості телефонів можна, легально завантаживши гру, скопіювати JAR-файл з телефону на комп'ютер та потім поширювати. Тому деякі ігри захищаються від копіювання.

Крім закриття піратських сайтів, зустрічаються такі технології захисту:

  • Генерація унікального JAR' а: щоразу, коли користувач закачує гру, для нього генерується унікальний JAR-або JAD-файл. Використовується вкрай рідко.
  • Різні технології активації ігри (через GPRS, СМС або по телефону). Недолік цієї технології в тому, що у виробника або розповсюджувача повинна працювати цілодобова служба активації. Крім того, захист забирає кілька кілобайт пам'яті телефону. Проте ця технологія найміцніша для злому.
  • Прив'язка до моделі телефону: JAR працює на одній моделі телефону, а на інших (навіть сумісних) відмовляє. Виходить, що скопійована гра буде працювати тільки на тій моделі телефону, що й у поширила. Цей метод особливо ефективний, якщо на одній платформі створено велику кількість сумісних телефонів (як, наприклад, Nokia, Motorola, Siemens).

Своєрідною захистом від копіювання є багато портів на погано сумісні між собою платформи. Часто власник мобільного телефону після довгих пошуків знаходить гру, конвертовану з іншого телефону без наявності початкових текстів: з піктограмою, не відповідної телефону, з розміром екрану, бо́льшим або меншим, ніж треба, з недостатньою кількістю графіки і без звуку.

На стадії впровадження знаходиться стандарт OMA DRM. Крім того, у багатьох телефонах заборонена перекачування будь-яких Java-файлів на комп'ютер.

Відомі виробники мобільних ігор

Великі міжнародні гравці:

Див. також

Примітки