Игры для мобильных устройств

Материал из Циклопедии
(перенаправлено с «Мобильная игра»)
Перейти к навигации Перейти к поиску

Шаблон:Компьютерные игры

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

В разное время на территории России были распространены игры на таких платформах:

Технологии[править]

Установка игр в мобильный телефон осложняется такими техническими ограничениями:

  • Во время игры телефон должен выполнять свою основную функцию — поддерживать связь с базовой станцией.
  • Деструктивная программа, если ей дать возможность выполнять любые действия, может похитить и конфиденциальные данные, и хранящиеся на счету деньги.
  • Слабый процессор телефона и маленький объём оперативной памяти.

Поэтому существует несколько технологий мобильных игр.

На машинном коде[править]

Решения на машинном коде изначально ориентированы на определённую платформу. Поэтому такие игры показывают самый высокий уровень производительности и используют все мультимедийные возможности аппарата, но недоступны для других платформ.

Игра в составе прошивки[править]

Исторически первая, простейшая технология написания мобильных игр — на машинном коде в составе прошивки устройства. Такие игры существуют даже для дешёвых телефонов; однако, такие игры невозможно заменить или удалить без исходных кодов прошивки.

Игры для смартфонов и КПК[править]

В смартфонах и карманных компьютерах применяются устанавливаемые игры на машинном коде (как на обычных компьютерах), например, игры для N-Gage. Как и любая другая программа, такая игра может содержать деструктивный код. С этим борются с помощью сертификации игр, однако не все производители или издатели могут позволить себе это, а иногда расходы на сертификацию могут стать причиной более высокой цены на игру.

На промежуточных кодах[править]

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

J2ME[править]

Sun J2ME (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 T230, Sony Ericsson T300 и Sony Ericsson T310. Полноценная Mophun-машина и лишь номинальная поддержка J2ME были в мобильном телефоне Sony Ericsson T610. Впрочем, через некоторое время сама компания Sony Ericsson отказалась от поддержки Mophun.

Жанры[править]

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

Чтобы привлечь потенциального покупателя, зачастую выпускаются мобильные игры с использованием известного бренда (например, Doom RPG), по мотивам недавно появившегося фильма или полноценной видеоигры, или с использованием обнажённой натуры[нет источника].

Портирование игр[править]

Для того, чтобы игра могла приносить прибыль, важно, чтобы её поддерживало большое количество телефонов. При этом технические особенности разных аппаратов сильно различаются: например, максимально возможный размер приложения или объём ОЗУ. Обычно пишут игру для некоторого «среднего» телефона, а затем модифицируют под остальные.

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

Для отладки конечного продукта может использоваться эмулятор (наиболее дешёвый вариант) или настоящие устройства (более дорогостоящий, но надёжный вариант). Почти у всех компаний-разработчиков есть инструментарий, упрощающий портирование. Как правило, он является коммерческой тайной, хотя существуют коммерческие решения (например Celsius) и доступные бесплатно для некоммерческого использования (например J2ME Polish).

Защита от копирования[править]

В большинстве телефонов можно, легально скачав игру, скопировать JAR-файл с телефона на компьютер и затем распространять. Поэтому некоторые игры защищаются от копирования.

Помимо закрытия пиратских сайтов, встречаются такие технологии защиты:

  • Генерация уникального JAR’а: каждый раз, когда пользователь закачивает игру, для него генерируется уникальный JAR- или JAD-файл. Используется крайне редко.
  • Различные технологии активации игры (через GPRS, SMS или по телефону). Недостаток этой технологии в том, что у производителя или распространителя должна работать круглосуточная служба активации. Кроме того, защита отнимает несколько килобайт памяти телефона. Однако эта технология наиболее прочна для взлома.
  • Привязка к модели телефона: JAR работает на одной модели телефона, а на других (даже совместимых) отказывает. Получается, что скопированная игра будет работать только на той модели телефона, что и у распространившего. Этот метод особенно эффективен, если на одной платформе создано большое число совместимых телефонов (как, например, Nokia, Motorola, Siemens).

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

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

Известные производители мобильных игр[1][править]

Крупные международные игроки:

Из России:

См. также[править]

Примечания[править]

  1. Нургалиев, Есбол Мобильные игры - основные участники и перспективы отрасли (рус.). 3DNews (2009-03-17). Проверено 6 февраля 2010.

Литература[править]

Ссылки[править]


 
Общее

Мобильный телефонИсторияРазвитиеФункцииСетевые операторыСравнение стандартовЧастотыSIM-карта (Dual SIM, carrier-agnostic, клонирование) • WAPXHTML-MP

Культура

MoblogЗнакомстваБезопасность при вожденииАзартные игрыИгрыКазиноЛитератураОбучение

Другое

БабушкофонВзрыв аккумулятора Воровство мобильных телефоновЛинзы для макросъемкиМетание мобильных телефоновНакрутка бонусов за входящиеПадение мобильного телефона в унитазПоддельный iPhoneРоссийский сотовый телефонСиндром фантомных звонковСоветский мобильный телефонСмартфоныСтартовый пакетУничтожение мобильных телефонов в китайских школахЭволюция iPhoneЭлектронные отходыArmPhone5G